125 lines
4.6 KiB
Bash
125 lines
4.6 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
# Complete Services Loading Test - Frontend + Backend
|
||
|
|
|
||
|
|
echo "╔════════════════════════════════════════════════════════╗"
|
||
|
|
echo "║ Services Loading Complete Diagnostic ║"
|
||
|
|
echo "╚════════════════════════════════════════════════════════╝"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# 1. Backend API Test
|
||
|
|
echo "🔹 Backend Services API:"
|
||
|
|
BACKEND_RESPONSE=$(curl -s http://localhost:8181/api/services)
|
||
|
|
BACKEND_COUNT=$(echo "$BACKEND_RESPONSE" | python3 -c 'import sys,json; print(len(json.load(sys.stdin)))' 2>/dev/null || echo "ERROR")
|
||
|
|
|
||
|
|
if [ "$BACKEND_COUNT" = "ERROR" ]; then
|
||
|
|
echo " ❌ Backend API Error"
|
||
|
|
echo " Response: $BACKEND_RESPONSE"
|
||
|
|
else
|
||
|
|
echo " ✅ Backend API: $BACKEND_COUNT services"
|
||
|
|
echo " Sample services:"
|
||
|
|
echo "$BACKEND_RESPONSE" | python3 -c 'import sys,json; [print(f" • {s[\"name\"]} ({s[\"category\"]}) - ${s[\"price\"]}") for s in json.load(sys.stdin)[:3]]' 2>/dev/null
|
||
|
|
fi
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# 2. Frontend Status
|
||
|
|
echo "🔹 Frontend Status:"
|
||
|
|
FRONTEND_HTTP=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:5300)
|
||
|
|
if [ "$FRONTEND_HTTP" = "200" ]; then
|
||
|
|
echo " ✅ Frontend responding: HTTP $FRONTEND_HTTP"
|
||
|
|
else
|
||
|
|
echo " ❌ Frontend issue: HTTP $FRONTEND_HTTP"
|
||
|
|
fi
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# 3. Environment Check
|
||
|
|
echo "🔹 Frontend Environment:"
|
||
|
|
if [ -f /media/pts/Website/PromptTech_Solution_Site/frontend/.env ]; then
|
||
|
|
echo " Backend URL: $(grep REACT_APP_BACKEND_URL /media/pts/Website/PromptTech_Solution_Site/frontend/.env)"
|
||
|
|
else
|
||
|
|
echo " ❌ No .env file"
|
||
|
|
fi
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# 4. CORS Test
|
||
|
|
echo "🔹 CORS Headers:"
|
||
|
|
curl -s -I -H "Origin: http://localhost:5300" http://localhost:8181/api/services 2>/dev/null | grep -i "access-control-allow" | head -2
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# 5. PM2 Status
|
||
|
|
echo "🔹 PM2 Process Status:"
|
||
|
|
pm2 list | grep techzone
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# 6. Test actual frontend API call
|
||
|
|
echo "🔹 Simulating Frontend API Call:"
|
||
|
|
API_TEST=$(node -e "
|
||
|
|
const axios = require('axios');
|
||
|
|
axios.get('http://localhost:8181/api/services')
|
||
|
|
.then(res => {
|
||
|
|
console.log(\` ✅ Axios call successful: \${res.data.length} services\`);
|
||
|
|
console.log(\` First service: \${res.data[0].name}\`);
|
||
|
|
})
|
||
|
|
.catch(err => {
|
||
|
|
console.log(\` ❌ Axios error: \${err.message}\`);
|
||
|
|
});
|
||
|
|
" 2>&1)
|
||
|
|
echo "$API_TEST"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# 7. Check if React is rendering
|
||
|
|
echo "🔹 React Bundle Check:"
|
||
|
|
if curl -s http://localhost:5300 | grep -q "root"; then
|
||
|
|
echo " ✅ React root div present"
|
||
|
|
else
|
||
|
|
echo " ❌ React root div missing"
|
||
|
|
fi
|
||
|
|
|
||
|
|
if curl -s http://localhost:5300 | grep -q "static/js/bundle.js"; then
|
||
|
|
echo " ✅ JS bundle included"
|
||
|
|
else
|
||
|
|
echo " ❌ JS bundle missing"
|
||
|
|
fi
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# 8. Browser Cache Warning
|
||
|
|
echo "╔════════════════════════════════════════════════════════╗"
|
||
|
|
echo "║ IMPORTANT - Browser Cache ║"
|
||
|
|
echo "╚════════════════════════════════════════════════════════╝"
|
||
|
|
echo ""
|
||
|
|
echo "If services still don't show in browser, you MUST:"
|
||
|
|
echo " 1. Open browser DevTools (F12)"
|
||
|
|
echo " 2. Right-click the reload button"
|
||
|
|
echo " 3. Select 'Empty Cache and Hard Reload'"
|
||
|
|
echo " OR"
|
||
|
|
echo " 4. Press: Ctrl+Shift+Delete"
|
||
|
|
echo " 5. Clear 'Cached images and files'"
|
||
|
|
echo " 6. Reload page with: Ctrl+Shift+R"
|
||
|
|
echo ""
|
||
|
|
echo "Browser caching is very aggressive and will serve old"
|
||
|
|
echo "JavaScript even though the server has new code!"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Summary
|
||
|
|
echo "╔════════════════════════════════════════════════════════╗"
|
||
|
|
echo "║ Summary ║"
|
||
|
|
echo "╚════════════════════════════════════════════════════════╝"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
if [ "$BACKEND_COUNT" != "ERROR" ] && [ "$BACKEND_COUNT" -gt 0 ]; then
|
||
|
|
echo "✅ Backend API: Working ($BACKEND_COUNT services)"
|
||
|
|
else
|
||
|
|
echo "❌ Backend API: Not working"
|
||
|
|
fi
|
||
|
|
|
||
|
|
if [ "$FRONTEND_HTTP" = "200" ]; then
|
||
|
|
echo "✅ Frontend Server: Running"
|
||
|
|
else
|
||
|
|
echo "❌ Frontend Server: Not responding"
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "🌐 Access URLs:"
|
||
|
|
echo " Frontend: http://localhost:5300/services"
|
||
|
|
echo " Backend: http://localhost:8181/api/services"
|
||
|
|
echo ""
|