Use this checklist to ensure a successful deployment of SealGuard to production.
- Vercel Account: Created and verified
- Railway/Render Account: Created and verified
- WalletConnect Project: Created at cloud.walletconnect.com
- Pinata Account: Created for IPFS services
- RPC Provider: Alchemy/Infura/QuickNode account setup
-
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID -
NEXT_PUBLIC_REGISTRY_CONTRACT -
NEXT_PUBLIC_ACCESS_CONTROL_CONTRACT -
NEXT_PUBLIC_DEFAULT_CHAIN_ID -
NEXT_PUBLIC_ETHEREUM_RPC -
NEXT_PUBLIC_SEPOLIA_RPC -
NEXT_PUBLIC_POLYGON_RPC -
NEXT_PUBLIC_IPFS_GATEWAY -
NEXT_PUBLIC_APP_URL
-
NODE_ENV=production -
PORT(auto-set by platform) -
FRONTEND_URL -
PINATA_API_KEY -
PINATA_SECRET_API_KEY -
IPFS_GATEWAY_URL -
MAX_FILE_SIZE -
RATE_LIMIT_MAX_REQUESTS
- Contracts Deployed: Registry and Access Control contracts
- Contract Addresses: Noted and ready for frontend config
- Contract Verification: Verified on block explorer
- Test Transactions: Confirmed contracts work correctly
- Railway CLI Installed:
npm install -g @railway/cli - Railway Login:
railway login - Project Created:
railway initin backend directory - Environment Variables Set: All backend variables configured
- Deployment:
railway up - Health Check:
/healthendpoint responds with 200 - IPFS Test: Upload endpoint works correctly
- GitHub Repository: Connected to Render
- Web Service Created: Using render.yaml configuration
- Environment Variables Set: All backend variables configured
- Deployment: Triggered from Render dashboard
- Health Check:
/healthendpoint responds with 200 - IPFS Test: Upload endpoint works correctly
- Service Status: Backend service is running
- Logs Check: No critical errors in logs
- CORS Configuration: Frontend domain allowed
- Rate Limiting: Working as expected
- File Upload: IPFS integration functional
- Error Handling: Proper error responses
- Vercel CLI Installed:
npm install -g vercel - Vercel Login:
vercel login - Project Setup: Connected to GitHub or deployed via CLI
- Build Configuration: Framework preset set to Next.js
- Root Directory: Set to
src/frontend - Environment Variables: All frontend variables configured
- Backend URL Updated:
NEXT_PUBLIC_BACKEND_URLpoints to deployed backend - Deployment: Successful build and deployment
- Site Loading: Homepage loads without errors
- Wallet Connection: WalletConnect integration works
- Web3 Functionality: Can connect to blockchain
- Contract Interaction: Can interact with smart contracts
- File Upload: IPFS upload through backend works
- Responsive Design: Works on mobile and desktop
- Performance: Lighthouse score > 90
- Custom Domain: Configured in Vercel (if applicable)
- DNS Records: Updated to point to Vercel
- SSL Certificate: Automatically provisioned by Vercel
- HTTPS Redirect: Enabled and working
- Environment Variables: No secrets exposed in frontend
- CORS Policy: Properly configured and restrictive
- Rate Limiting: Active and properly configured
- Security Headers: Implemented via Vercel config
- Content Security Policy: Configured and tested
- Vercel Analytics: Enabled for frontend monitoring
- Error Tracking: Consider Sentry integration
- Uptime Monitoring: Set up external monitoring
- Performance Monitoring: Regular Lighthouse audits
- Log Monitoring: Backend logs accessible and monitored
- Wallet Connection: Test with multiple wallet providers
- Document Upload: Upload various file types and sizes
- Document Verification: Verify uploaded documents
- Smart Contract Calls: All contract interactions work
- IPFS Retrieval: Documents can be retrieved from IPFS
- Error Handling: Graceful error handling throughout
- Chrome: Full functionality verified
- Firefox: Full functionality verified
- Safari: Full functionality verified
- Edge: Full functionality verified
- Mobile Browsers: Responsive design and functionality
- Mainnet: If deploying to mainnet
- Testnet: Sepolia/Polygon Mumbai functionality
- Network Switching: Wallet network switching works
- RPC Failover: Backup RPC endpoints configured
- Bundle Size: Optimized and under reasonable limits
- Image Optimization: Next.js Image component used
- Code Splitting: Implemented for better loading
- Caching: Proper cache headers configured
- CDN: Vercel CDN properly configured
- Response Times: API responses under 500ms
- File Upload Limits: Appropriate size limits set
- Memory Usage: Within platform limits
- Database Connections: N/A (Web3-native, no database)
- IPFS Performance: Fast upload and retrieval
- README: Updated with deployment URLs
- API Documentation: Updated with production endpoints
- User Guide: Updated with production features
- Developer Guide: Deployment instructions verified
- Code Repository: Latest code pushed to GitHub
- Environment Variables: Securely backed up
- Smart Contract Code: Verified and backed up
- IPFS Content: Properly pinned and backed up
- Health Checks: Automated health monitoring
- Alert System: Notifications for downtime/errors
- Performance Metrics: Baseline metrics established
- Usage Analytics: User behavior tracking (privacy-compliant)
- All Tests Pass: Comprehensive testing completed
- Performance Acceptable: Load times and responsiveness good
- Security Verified: No vulnerabilities detected
- Monitoring Active: All monitoring systems operational
- Team Notified: All stakeholders informed of go-live
- DNS Propagation: Custom domain fully propagated
- Social Media: Announcement posts prepared
- User Communication: Users notified of new deployment
- Support Ready: Support team briefed on new features
- Monitor First 24h: Closely monitor for issues
- User Feedback: Collect and address initial feedback
- Performance Review: Analyze initial performance metrics
- Issue Tracking: Document and prioritize any issues
If critical issues are discovered:
- Frontend Rollback: Revert to previous Vercel deployment
- Backend Rollback: Redeploy previous Railway/Render version
- DNS Rollback: Point domain back to previous version
- User Communication: Notify users of temporary issues
- Issue Resolution: Fix issues in development environment
- Redeployment: Deploy fixed version following this checklist
Note: This checklist should be customized based on your specific deployment requirements and organizational processes.