This checklist will help ensure your JackerBox application is ready for production deployment.
- Choose a production database provider (Supabase, Railway, AWS RDS, etc.)
- Create a new PostgreSQL database
- Note the database connection details:
- Host
- Port
- Username
- Password
- Database name
Create a .env.production file with the following variables:
# Database configuration
DATABASE_URL="postgresql://username:password@host:port/jackerbox_production?schema=public"
DIRECT_DATABASE_URL="postgresql://username:password@host:port/jackerbox_production?schema=public"
# Next Auth
NEXTAUTH_URL="https://your-production-domain.com"
NEXTAUTH_SECRET="your-nextauth-secret-here"
# OAuth providers (if used)
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
# Stripe (for payments)
STRIPE_SECRET_KEY="your-stripe-secret-key"
STRIPE_WEBHOOK_SECRET="your-stripe-webhook-secret"
STRIPE_PUBLIC_KEY="your-stripe-public-key"
# Cloudinary (for image uploads)
CLOUDINARY_CLOUD_NAME="your-cloudinary-cloud-name"
CLOUDINARY_API_KEY="your-cloudinary-api-key"
CLOUDINARY_API_SECRET="your-cloudinary-api-secret"
# Email service
EMAIL_SERVER_HOST="smtp.example.com"
EMAIL_SERVER_PORT=587
EMAIL_SERVER_USER="your-email-username"
EMAIL_SERVER_PASSWORD="your-email-password"
EMAIL_FROM="noreply@yourdomain.com"
# Push notifications (optional)
VAPID_PUBLIC_KEY="your-vapid-public-key"
VAPID_PRIVATE_KEY="your-vapid-private-key"
# API keys and security
API_SECRET="your-api-secret-key"
# Analytics (optional)
ANALYTICS_ID="your-analytics-id"
After setting up your production database:
- Update the
.envfile with your production database connection string:
DATABASE_URL="your-production-db-connection-string"
- Run the Prisma migrations:
npx prisma migrate deploy- Generate the Prisma client:
npx prisma generate- Build the production version:
npm run build- Test the production build locally:
npm start- Verify all features work correctly:
- User authentication
- Equipment management
- Rental process
- Reviews & ratings
- Messaging system
- Notifications
- Search & discovery
- Admin features
Choose a deployment platform:
- Vercel (recommended for Next.js apps)
- Netlify
- AWS Amplify
- Digital Ocean App Platform
- Self-hosted (AWS, GCP, Azure, etc.)
- Purchase a domain name (e.g., jackerbox.com)
- Configure DNS settings to point to your deployment
- Set up SSL certificate (often automatic with platforms like Vercel/Netlify)
- Set up a GitHub workflow or other CI/CD pipeline
- Configure automatic deployments on merge to main branch
- Set up environment variables in your deployment platform
- Set up error monitoring (e.g., Sentry)
- Configure performance monitoring
- Set up analytics (e.g., Google Analytics, Plausible, Fathom)
- Create admin dashboard for business metrics
- Verify all environment variables are set correctly
- Test all critical user journeys in production environment
- Check mobile responsiveness
- Ensure proper error handling throughout the application
- Test payment processing in test mode
- Check email delivery and notifications
- Switch payment processing to live mode
- Announce launch to initial users
- Monitor application performance and errors
- Gather feedback and prepare for iterative improvements
- Set up regular database backups
- Create a monitoring dashboard
- Establish a process for deploying updates
- Monitor server costs and optimize as needed
- Set up rate limiting for API endpoints
- Implement DDoS protection
- Configure proper CORS settings
- Set Content-Security-Policy headers
- Establish a security vulnerability reporting process
- Create a privacy policy and terms of service
- Set up a changelog to track updates