docs: Add API connection debugging documentation and progress update
Added comprehensive debugging tools and documentation for API connection issues. Changes: - Created test-api-connection.sh - Automated diagnostic script - Created DEBUGGING_GUIDE.md - Step-by-step debugging guide - Created API_CONNECTION_FIX_SUMMARY.md - Complete fix summary - Updated progress.md with API connection debugging enhancement entry These tools help diagnose and resolve frontend-backend connection issues. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
119
test-api-connection.sh
Normal file
119
test-api-connection.sh
Normal file
@@ -0,0 +1,119 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ColaFlow API Connection Test Script
|
||||
# This script helps diagnose API connection issues
|
||||
|
||||
echo "============================================"
|
||||
echo "ColaFlow API Connection Diagnostic Test"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Test 1: Check if backend is running on port 5167
|
||||
echo "Test 1: Checking if backend is running on port 5167..."
|
||||
if curl -s -o /dev/null -w "%{http_code}" http://localhost:5167 > /dev/null 2>&1; then
|
||||
echo -e "${GREEN}✓ Backend is responding on port 5167${NC}"
|
||||
else
|
||||
echo -e "${RED}✗ Backend is NOT responding on port 5167${NC}"
|
||||
echo " → Solution: Start the backend server"
|
||||
echo " cd ColaFlow.Api && dotnet run"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Test 2: Check API health endpoint
|
||||
echo "Test 2: Checking API health endpoint..."
|
||||
HEALTH_STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:5167/api/v1/health 2>&1)
|
||||
if [ "$HEALTH_STATUS" = "200" ]; then
|
||||
echo -e "${GREEN}✓ API health endpoint is working${NC}"
|
||||
elif [ "$HEALTH_STATUS" = "404" ]; then
|
||||
echo -e "${YELLOW}⚠ API health endpoint not found (404)${NC}"
|
||||
echo " → This is OK if health endpoint is not implemented"
|
||||
elif [ "$HEALTH_STATUS" = "000" ]; then
|
||||
echo -e "${RED}✗ Cannot connect to API (Connection refused)${NC}"
|
||||
echo " → Solution: Start the backend server"
|
||||
else
|
||||
echo -e "${YELLOW}⚠ Unexpected status code: $HEALTH_STATUS${NC}"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Test 3: Check projects endpoint
|
||||
echo "Test 3: Checking projects endpoint..."
|
||||
PROJECTS_STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:5167/api/v1/projects 2>&1)
|
||||
if [ "$PROJECTS_STATUS" = "200" ]; then
|
||||
echo -e "${GREEN}✓ Projects endpoint is working${NC}"
|
||||
PROJECTS_DATA=$(curl -s http://localhost:5167/api/v1/projects)
|
||||
echo " Response: $PROJECTS_DATA"
|
||||
elif [ "$PROJECTS_STATUS" = "401" ]; then
|
||||
echo -e "${YELLOW}⚠ Projects endpoint requires authentication (401)${NC}"
|
||||
echo " → This is OK, authentication is working"
|
||||
elif [ "$PROJECTS_STATUS" = "404" ]; then
|
||||
echo -e "${RED}✗ Projects endpoint not found (404)${NC}"
|
||||
echo " → Check backend routing configuration"
|
||||
elif [ "$PROJECTS_STATUS" = "000" ]; then
|
||||
echo -e "${RED}✗ Cannot connect to API (Connection refused)${NC}"
|
||||
echo " → Solution: Start the backend server"
|
||||
else
|
||||
echo -e "${YELLOW}⚠ Unexpected status code: $PROJECTS_STATUS${NC}"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Test 4: Check if frontend is running
|
||||
echo "Test 4: Checking if frontend is running on port 3000..."
|
||||
FRONTEND_STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:3000 2>&1)
|
||||
if [ "$FRONTEND_STATUS" = "200" ]; then
|
||||
echo -e "${GREEN}✓ Frontend is running on port 3000${NC}"
|
||||
elif [ "$FRONTEND_STATUS" = "000" ]; then
|
||||
echo -e "${RED}✗ Frontend is NOT running on port 3000${NC}"
|
||||
echo " → Solution: Start the frontend server"
|
||||
echo " cd colaflow-web && npm run dev"
|
||||
else
|
||||
echo -e "${YELLOW}⚠ Unexpected status code: $FRONTEND_STATUS${NC}"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Test 5: Check .env.local configuration
|
||||
echo "Test 5: Checking .env.local configuration..."
|
||||
if [ -f "colaflow-web/.env.local" ]; then
|
||||
echo -e "${GREEN}✓ .env.local file exists${NC}"
|
||||
|
||||
# Check if API URL is configured
|
||||
if grep -q "NEXT_PUBLIC_API_URL" colaflow-web/.env.local; then
|
||||
API_URL=$(grep "NEXT_PUBLIC_API_URL" colaflow-web/.env.local | cut -d '=' -f 2)
|
||||
echo " Configured API URL: $API_URL"
|
||||
|
||||
if [ "$API_URL" = "http://localhost:5167/api/v1" ]; then
|
||||
echo -e "${GREEN}✓ API URL is correctly configured${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⚠ API URL might be incorrect${NC}"
|
||||
echo " Expected: http://localhost:5167/api/v1"
|
||||
echo " Found: $API_URL"
|
||||
fi
|
||||
else
|
||||
echo -e "${RED}✗ NEXT_PUBLIC_API_URL not found in .env.local${NC}"
|
||||
echo " → Solution: Add NEXT_PUBLIC_API_URL=http://localhost:5167/api/v1"
|
||||
fi
|
||||
else
|
||||
echo -e "${RED}✗ .env.local file not found${NC}"
|
||||
echo " → Solution: Create .env.local with NEXT_PUBLIC_API_URL=http://localhost:5167/api/v1"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Summary
|
||||
echo "============================================"
|
||||
echo "Summary"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo "Next steps:"
|
||||
echo "1. If backend is not running: cd ColaFlow.Api && dotnet run"
|
||||
echo "2. If frontend is not running: cd colaflow-web && npm run dev"
|
||||
echo "3. If .env.local is missing: Create it with NEXT_PUBLIC_API_URL=http://localhost:5167/api/v1"
|
||||
echo "4. After starting services, open http://localhost:3000/projects"
|
||||
echo "5. Press F12 and check Console and Network tabs for detailed errors"
|
||||
echo ""
|
||||
echo "For more details, see DEBUGGING_GUIDE.md"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user