5.9 KiB
5.9 KiB
📚 LuckyChit Deployment Documentation
Complete guide to deploying and updating your LuckyChit application.
📖 Available Guides
🎯 Quick Start
PRODUCTION_UPDATE_GUIDE.md⭐ START HERE - Quick reference for updatesPM2_QUICK_START.md- Get backend running in 5 minutes
📘 Detailed Guides
PM2_PRODUCTION_GUIDE.md- Complete PM2 backend deploymentFLUTTER_DEPLOYMENT_GUIDE.md- Complete Flutter frontend deploymentDEPLOYMENT_TROUBLESHOOTING.md- Common issues and solutions
🚀 Quick Commands
Update Backend
# On production server
cd backend
git pull origin main
npm install
pm2 reload luckychit-api
Update Frontend (Web)
# On your machine
cd luckychit
./deploy-web.sh
# Then upload build/web/* to server
🛠️ Available Scripts
Backend Scripts (backend/)
deploy.sh- Full backend deploymentfix-bcrypt.sh- Fix native module issuesecosystem.config.js- PM2 configuration
Frontend Scripts (luckychit/)
deploy-web.sh- Build Flutter web (local)deploy-web-auto.sh- Build & upload to serverbuild-android.sh- Build Android APK/AABweb-server.js- Express server for Flutter webecosystem.config.js- PM2 configuration for web
📋 Common Scenarios
Scenario 1: UI Changes Only
cd luckychit
flutter build web --release
# Upload to server
Time: 2-3 minutes | Downtime: None
Scenario 2: Backend Changes Only
cd backend
pm2 reload luckychit-api
Time: 30 seconds | Downtime: None
Scenario 3: Both UI and Backend
- Update backend first
- Then update frontend Time: 5 minutes | Downtime: None
Scenario 4: Database Changes
- Backup database first
- Update backend with migrations
- Test thoroughly Time: 10-15 minutes | Downtime: Possible
🎯 First Time Setup
Backend
# Install PM2
npm install -g pm2
# Deploy backend
cd backend
./deploy.sh production
pm2 startup
pm2 save
Frontend Web
# Build
cd luckychit
flutter build web --release
# Deploy to nginx
sudo cp -r build/web/* /var/www/luckychit/
# Or use PM2
npm install express
pm2 start ecosystem.config.js --env production
⚠️ Common Issues
Backend: bcrypt Error
cd backend
./fix-bcrypt.sh
Frontend: Old UI Still Showing
- Hard refresh browser: Ctrl+Shift+R
- Clear browser cache
- Check files updated on server
PM2 Not Starting
pm2 logs luckychit-api --lines 100
📞 Getting Help
- Check relevant guide in the list above
- Check
DEPLOYMENT_TROUBLESHOOTING.md - View logs:
pm2 logs - Check server logs:
/var/log/nginx/error.log
📁 File Structure
chitfund/
├── backend/
│ ├── deploy.sh # Backend deployment
│ ├── fix-bcrypt.sh # Fix bcrypt issues
│ ├── ecosystem.config.js # PM2 config
│ └── server.js # Main server file
│
├── luckychit/
│ ├── deploy-web.sh # Build web (local)
│ ├── deploy-web-auto.sh # Build & upload
│ ├── build-android.sh # Build Android
│ ├── web-server.js # Express server
│ ├── ecosystem.config.js # PM2 web config
│ └── build/web/ # Build output
│
├── PM2_PRODUCTION_GUIDE.md # Backend guide
├── PM2_QUICK_START.md # Quick backend start
├── FLUTTER_DEPLOYMENT_GUIDE.md # Frontend guide
├── PRODUCTION_UPDATE_GUIDE.md # Update guide ⭐
├── DEPLOYMENT_TROUBLESHOOTING.md # Troubleshooting
└── DEPLOYMENT_README.md # This file
✅ Deployment Checklist
Pre-Deployment
- Code tested locally
- Version updated (if applicable)
- Database backup (if DB changes)
- Environment variables checked
Deployment
- Backend updated (if needed)
- Frontend rebuilt (if needed)
- Files uploaded to server
- Services restarted
Post-Deployment
- App loads successfully
- No errors in logs
- Critical features tested
- Monitoring for 15 minutes
🎓 Learn More
PM2 (Backend)
- Official Docs: https://pm2.keymetrics.io/docs/
- Commands:
PM2_PRODUCTION_GUIDE.md→ PM2 Commands section
Flutter (Frontend)
- Official Docs: https://docs.flutter.dev/deployment
- Web Deploy: https://docs.flutter.dev/deployment/web
nginx (Web Server)
- Official Docs: https://nginx.org/en/docs/
- Configuration:
FLUTTER_DEPLOYMENT_GUIDE.md→ nginx section
🔐 Security Notes
Never Commit
.envfiles (backend credentials)node_modules/(backend)build/directories (frontend)*.jks,*.keystore(Android signing keys)- Database backups
Always Use
- Strong passwords in production
- SSL certificates (HTTPS)
- Firewall rules
- Regular backups
- Monitoring
📊 Version History
Keep track of your deployments:
# Add to deployment.log
echo "$(date): v1.0.2 - Fixed payment UI bug" >> deployment.log
💡 Pro Tips
- Test in staging first if possible
- Deploy during low traffic hours
- Keep deployments small (easier to rollback)
- Monitor after deployment for 15+ minutes
- Document changes in deployment.log
- Have a rollback plan ready
- Communicate with users about updates
🆘 Emergency Contacts
For Production Issues:
- PM2 Logs:
pm2 logs luckychit-api - nginx Logs:
sudo tail -f /var/log/nginx/error.log - Database Logs:
sudo tail -f /var/log/postgresql/postgresql-*.log
Rollback:
git checkout <previous-commit>
pm2 reload luckychit-api
🎉 Your deployment documentation is complete and production-ready!
Last updated: November 2025