chitfund/URGENT_BACKEND_DEPLOY.md

2.7 KiB

🚨 URGENT: Deploy Backend Fix

The Issue

Your production backend is crashing and returning 401 for all authenticated requests.

Production server logs show:

Error: Route.post() requires callback function but got [object Undefined]
at phonepe.js:11:8

Quick Fix - Deploy to Production

On Your Local Machine (Windows):

# 1. Commit the fixes
git add backend/src/
git add luckychit/lib/core/services/api_service.dart
git commit -m "Fix: Backend auth middleware and ApiService singleton"
git push origin main

On Your Production Server:

# SSH into server
ssh your_username@your_server_ip

# Navigate to app directory
cd /home/luckychit/apps/chitfund

# Pull latest code
git pull origin main

# Restart all services
pm2 restart all

# Watch logs to verify it starts
pm2 logs luckychit

Press Ctrl+C after you see "Server listening on port 3000"


Option 2: Quick File Copy (if no git)

Copy just these files to production:

Files to upload:

  1. backend/src/middleware/auth.js
  2. backend/src/controllers/phonePeController.js
  3. backend/src/routes/phonepe.js
  4. backend/src/server.js

Upload to:

/home/luckychit/apps/chitfund/backend/src/...

Then:

pm2 restart all

Option 3: Use Your Deploy Script

If you have existing deploy scripts:

cd backend
./deploy.sh

Or:

./scripts/deploy.sh

How to Verify It's Fixed

After deployment, check PM2 logs:

pm2 logs luckychit --lines 50

Should see:

✅ Server started successfully
✅ Database connected  
✅ Listening on port 3000

Should NOT see:

❌ Error: Route.post() requires callback...
❌ [object Undefined]

Then test from Flutter app:

  1. Refresh browser (F5)
  2. Login as manager
  3. Go to Auto-Sync
  4. Click "Sync Transactions"
  5. Should work!

📋 Deployment Checklist

  • Committed changes locally
  • Pushed to git repository (or uploaded files)
  • SSH'd into production server
  • Pulled latest code (git pull)
  • Restarted PM2 (pm2 restart all)
  • Checked logs (pm2 logs luckychit)
  • Verified "Server listening" message
  • Tested from Flutter app
  • Auto-Sync now works!

🐛 If Deployment Fails

Check Git Status:

git status
git log --oneline -5

Check PM2 Status:

pm2 status
pm2 logs luckychit --err --lines 30

Manual Restart:

pm2 stop luckychit
pm2 start luckychit

💡 Need Help?

Tell me:

  1. How do you currently deploy to production?
  2. Do you have SSH access?
  3. Do you use git on the server?

I'll provide exact commands for your setup!


Deploy now to fix the 401 errors! 🚀