Initial commit - PromptTech
This commit is contained in:
103
scripts/verify_services_complete.sh
Executable file
103
scripts/verify_services_complete.sh
Executable file
@@ -0,0 +1,103 @@
|
||||
#!/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 ""
|
||||
Reference in New Issue
Block a user