TransHub / DEPLOYMENT_CHECKLIST.md
linguabot's picture
Upload folder using huggingface_hub
4f163ba verified

πŸš€ Hugging Face Spaces Deployment Checklist

βœ… Pre-Deployment Setup

1. MongoDB Atlas Database

  • Create MongoDB Atlas account
  • Create a new cluster (free tier)
  • Create database user with read/write permissions
  • Get connection string
  • Test connection locally

2. Hugging Face Account

  • Create Hugging Face account
  • Enable Spaces feature
  • Verify account permissions

πŸ—οΈ Backend Deployment

1. Create Backend Space

  • Go to https://huggingface.co/spaces
  • Click "Create new Space"
  • Choose "Docker" as SDK
  • Name: your-username/transcreation-backend
  • Set to "Public" or "Private"

2. Upload Backend Files

  • Upload all files from deploy/backend/
  • Verify Dockerfile is in root of Space
  • Verify package.json is present

3. Configure Environment Variables

  • Go to Settings β†’ Repository secrets
  • Add MONGODB_URI: mongodb+srv://username:password@cluster.mongodb.net/transcreation-sandbox
  • Add NODE_ENV: production
  • Add PORT: 5000

4. Deploy Backend

  • Wait for build to complete
  • Check logs for any errors
  • Test health endpoint: https://your-username-transcreation-backend.hf.space/health
  • Test API endpoint: https://your-username-transcreation-backend.hf.space/api/health

🎨 Frontend Deployment

1. Create Frontend Space

  • Go to https://huggingface.co/spaces
  • Click "Create new Space"
  • Choose "Docker" as SDK
  • Name: your-username/transcreation-frontend
  • Set to "Public" or "Private"

2. Upload Frontend Files

  • Upload all files from deploy/frontend/
  • Verify Dockerfile is in root of Space
  • Verify nginx.conf is present

3. Configure Environment Variables

  • Go to Settings β†’ Repository secrets
  • Add REACT_APP_API_URL: https://your-username-transcreation-backend.hf.space/api

4. Deploy Frontend

  • Wait for build to complete
  • Check logs for any errors
  • Test frontend URL: https://your-username-transcreation-frontend.hf.space

πŸ§ͺ Testing

1. Backend Testing

  • Health check: https://your-backend-url/health
  • API health: https://your-backend-url/api/health
  • Database connection working
  • CORS headers present

2. Frontend Testing

  • Page loads without errors
  • Can navigate between pages
  • API calls work (check browser console)
  • Login functionality works
  • All features accessible

3. Integration Testing

  • Frontend can connect to backend
  • User registration/login works
  • Tutorial tasks load
  • Weekly practice loads
  • Voting system works
  • Admin features work (if admin user)

πŸ”§ Troubleshooting

Common Issues

  1. Backend Build Fails

    • Check Dockerfile syntax
    • Verify all dependencies in package.json
    • Check environment variables
  2. Frontend Build Fails

    • Check React build process
    • Verify nginx.conf syntax
    • Check environment variables
  3. Database Connection Issues

    • Verify MongoDB Atlas connection string
    • Check network access settings
    • Verify database user permissions
  4. CORS Issues

    • Check backend CORS configuration
    • Verify frontend API URL
    • Check browser console for errors
  5. Environment Variables Not Working

    • Verify variable names match exactly
    • Check for typos in values
    • Restart Space after adding variables

πŸ“ž Support

If you encounter issues:

  1. Check Hugging Face Spaces logs
  2. Verify all environment variables
  3. Test locally with Docker Compose first
  4. Check MongoDB Atlas connection
  5. Review browser console for frontend errors

πŸŽ‰ Success Indicators

  • Backend responds to health checks
  • Frontend loads without errors
  • Users can register and login
  • Tutorial tasks and weekly practice load
  • Voting system works
  • Admin features accessible
  • No console errors in browser
  • All API endpoints responding

πŸ”— Final URLs

  • Backend: https://your-username-transcreation-backend.hf.space
  • Frontend: https://your-username-transcreation-frontend.hf.space
  • API Base: https://your-username-transcreation-backend.hf.space/api

πŸ“ Notes

  • Keep MongoDB Atlas connection string secure
  • Monitor Hugging Face Spaces usage limits
  • Set up monitoring for both Spaces
  • Consider setting up custom domain later
  • Regular backups of MongoDB data recommended