Files
PromptTech/scripts/verify_services_complete.sh

104 lines
4.2 KiB
Bash
Raw Normal View History

2026-01-27 18:07:00 -06:00
#!/bin/bash
# Complete Services Verification - Database to Frontend
echo "╔════════════════════════════════════════════════════════╗"
echo "║ Complete Services Flow Verification ║"
echo "╚════════════════════════════════════════════════════════╝"
echo ""
# 1. Database Check
echo "🔹 Step 1: Database Check"
cd /media/pts/Website/PromptTech_Solution_Site/backend
source venv/bin/activate
python3 << 'EOF'
import asyncio
from database import AsyncSessionLocal
from sqlalchemy import select, func
from models import Service
async def check():
async with AsyncSessionLocal() as session:
result = await session.execute(
select(func.count(Service.id)).where(Service.is_active == True)
)
count = result.scalar()
print(f" ✅ Database has {count} active services")
asyncio.run(check())
EOF
echo ""
# 2. Backend API Check
echo "🔹 Step 2: Backend API Check"
API_RESPONSE=$(curl -s http://localhost:8181/api/services)
API_COUNT=$(echo "$API_RESPONSE" | python3 -c 'import sys,json; print(len(json.load(sys.stdin)))' 2>/dev/null || echo "ERROR")
if [ "$API_COUNT" = "ERROR" ]; then
echo " ❌ Backend API error"
else
echo " ✅ Backend API returns $API_COUNT services"
fi
echo ""
# 3. Frontend Server Check
echo "🔹 Step 3: Frontend Server Check"
FRONTEND_STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:5300)
if [ "$FRONTEND_STATUS" = "200" ]; then
echo " ✅ Frontend server responding (HTTP $FRONTEND_STATUS)"
else
echo " ❌ Frontend server issue (HTTP $FRONTEND_STATUS)"
fi
echo ""
# 4. PM2 Status
echo "🔹 Step 4: PM2 Process Status"
pm2 list | grep techzone | awk '{print " " $2 ": " $10}'
echo ""
# 5. Test URLs
echo "╔════════════════════════════════════════════════════════╗"
echo "║ Test URLs - Open in Browser ║"
echo "╚════════════════════════════════════════════════════════╝"
echo ""
echo "1. Debug Page (shows API fetch in real-time):"
echo " http://localhost:5300/debug-services"
echo ""
echo "2. Main Services Page:"
echo " http://localhost:5300/services"
echo ""
echo "3. Backend API Direct:"
echo " http://localhost:8181/api/services"
echo ""
echo "4. Test HTML Page:"
echo " http://localhost:8888/test_api.html"
echo ""
# 6. Sample Data
echo "╔════════════════════════════════════════════════════════╗"
echo "║ Sample Services Data ║"
echo "╚════════════════════════════════════════════════════════╝"
echo ""
echo "$API_RESPONSE" | python3 -c '
import sys, json
try:
services = json.load(sys.stdin)
for i, s in enumerate(services[:4], 1):
print(f" {i}. {s[\"name\"]} ({s[\"category\"]}) - ${s[\"price\"]}")
except:
print(" Could not parse services")
'
echo " ... and more"
echo ""
# 7. Browser Cache Warning
echo "╔════════════════════════════════════════════════════════╗"
echo "║ IMPORTANT: Clear Browser Cache! ║"
echo "╚════════════════════════════════════════════════════════╝"
echo ""
echo "If services don't show, you MUST clear browser cache:"
echo " • Press: Ctrl+Shift+R (hard refresh)"
echo " • Or: Open DevTools (F12) → Network tab → Disable cache"
echo " • Or: Try incognito/private window"
echo ""
echo "The backend is working! It's a browser caching issue."
echo ""