Live Demo: https://codereviewer-4ph0.onrender.com/
A production-style, containerized code review SaaS showcasing modern DevOps practices: microservices, reverse proxy routing, CI/CD readiness, and scalable deployment patterns.
This project demonstrates how a full-stack system is structured for deployment, scaling, and observability in real-world environments.
┌────────────────────────────┐
│ Nginx Reverse Proxy │
│ (Edge Gateway :8800) │
└─────────────┬──────────────┘
│
┌───────────────────────┴───────────────────────┐
│ │
┌────────▼────────┐ ┌──────────▼─────────┐
│ Frontend │ │ Backend API │
│ React + Vite │ │ Node.js + Express │
│ Served via Nginx│ │ Port 3000 │
└────────┬────────┘ └──────────┬─────────┘
│ │
└───────────────────┬───────────────────────────┘
│
┌────────▼────────┐
│ External APIs │
│ (OpenAI) │
└─────────────────┘
- Stateless frontend and backend services
- Isolated containers per service
- Internal Docker DNS-based service discovery
- Reverse proxy as single entry point
- Horizontal scaling-ready architecture
All services are defined in a single declarative docker-compose.yml:
- Frontend (React SPA)
- Backend (Express API)
- Nginx (Reverse proxy)
- Shared Docker bridge network
Benefits:
- One-command deployment
- Reproducible environments
- Easy scaling path to Kubernetes
- Frontend → Nginx → Backend (
/api/*routing) - Backend → External APIs (OpenAI)
- Internal networking via Docker DNS
Both frontend and backend use optimized multi-stage Docker builds:
Frontend pipeline:
- Build stage (Node + Vite)
- Production stage (Alpine + Nginx)
Backend pipeline:
- Production-only dependencies
- Minimal Alpine-based runtime
- Smaller image sizes (~90% reduction)
- No dev dependencies in production
- Reduced attack surface (Alpine base images)
- Layer caching for faster CI builds
- Routes frontend traffic
- Proxies
/apirequests to backend - Handles static asset delivery
- Supports WebSocket upgrade headers
Uses Docker internal DNS (127.0.0.11) for resolving service names instead of hardcoded IPs.
git clone https://github.com/Anand-Chaudhary/code-review-app.git
cd code-review-app
docker compose up --buildAccess: http://localhost:8800
- Kubernetes-ready architecture
- Stateless services enable scaling
- CI/CD pipeline ready structure
Target pipeline:
- Lint + test on PR
- Build Docker images
- Push to registry (Docker Hub / ECR)
- Deploy via Kubernetes or VM
Current: stdout logs only
Future upgrades:
- Structured JSON logging
- Prometheus metrics
- Grafana dashboards
- Centralized logging (ELK / Datadog)
- Distributed tracing (OpenTelemetry)
- Non-root container execution
- API rate limiting
- TLS via Let’s Encrypt
- Secrets management (Vault / Docker secrets)
- Vulnerability scanning (Trivy)
- Network isolation policies
- Single-instance deployment
- Stateless services
- Horizontal Pod Autoscaling (HPA)
- Multiple backend replicas
- Redis caching layer
- CDN for frontend assets
- Blue-green deployments
- Rolling updates
- Database backups (if DB introduced)
- Multi-region failover (advanced stage)
- React 19
- Vite
- Framer Motion
- PrismJS
- Axios
- React Markdown
- Node.js 20 (Alpine)
- Express.js
- OpenAI API integration
- Docker
- Docker Compose
- Nginx (Alpine)
- Multi-stage Docker optimization
- Clean service separation
- Reverse proxy abstraction
- Containerized full-stack deployment
- Docker networking via internal DNS
- Image size optimization
- Cross-container routing
- Build caching improvements
- Health checks (
/health,/ready) - CI/CD pipeline
- Container registry integration
- Kubernetes manifests
- Rate limiting
- SSL/TLS
- Monitoring + alerting
- Load testing
- Security scanning
- Kubernetes migration
- HPA autoscaling
- Moving from render to cloud providers
- Multi-region deployment
- Metrics + tracing
- Centralized logging
- SLO definitions
- Redis caching
- CDN integration
- API optimization
- mTLS between services
- Secrets vault
- Container hardening
- Backup strategy
- Disaster recovery plan
- Blue-green deployments
- Fork repo
- Create feature branch
- Run tests locally
- Submit PR
- Require review approval
MIT License
Engineering Team
Contact: chaudharyaakash234@gmail.com
Last Updated: May 2026