A scalable, event-driven, cloud-native deployment platform inspired by Vercel. Built using distributed systems principles, Kafka-based event streaming, containerized build workers, and S3-backed static hosting.
The Event-Driven Cloud Deployment Platform is a full-stack cloud system that enables users to:
- Create projects
- Trigger deployments
- Build repositories in isolated containers
- Stream real-time logs
- Host static builds on AWS S3
- Serve deployments via a reverse proxy
- Track deployment history
- Event-driven architecture
- Distributed systems design
- Asynchronous processing
- Cloud infrastructure (AWS)
- Real-time log streaming
- Secure authentication & multi-tenant architecture
┌─────────────────────┐
│ Frontend │
│ React + Vite SPA │
└─────────┬───────────┘
│ REST + Socket
▼
┌─────────────────────┐
│ API Server │
│ Express + Prisma │
└─────────┬───────────┘
│
│ Triggers ECS Task
▼
┌─────────────────────┐
│ Build Server │
│ Docker Container │
└─────────┬───────────┘
│
│ Publishes Logs
▼
┌──────────┐
│ Kafka │
└────┬─────┘
│
▼
┌─────────────────────┐
│ API Consumer │
│ Inserts Logs │
└─────────┬───────────┘
│
▼
ClickHouse
│
▼
Socket.io
│
▼
Frontend UI
Deployment Artifacts Flow: Build Server → AWS S3 → Reverse Proxy → Live URL
- Event-driven architecture
- Producer-consumer model
- Distributed build workers
- Stateless API layer
- Horizontal scalability
Event-Driven-Cloud-Deployment-Platform/
├── api-server/ # Backend API Server
│ ├── prisma/
│ ├── index.js
│ └── package.json
├── build-server/ # Isolated build worker
│ ├── Dockerfile
│ ├── script.js
│ └── main.sh
├── frontend/ # React Frontend
│ ├── src/
│ │ ├── pages/
│ │ ├── components/
│ │ └── api.js
├── s3-reverse-proxy/ # Subdomain routing layer
│ └── index.js
├── .env.example
└── README.md
- React (Vite)
- React Router
- Axios
- Socket.io Client
- Node.js
- Express.js
- Prisma ORM
- PostgreSQL
- JWT Authentication
- Docker
- Node.js
- Git
- Kafka Producer
- Apache Kafka (Aiven)
- KafkaJS
- ClickHouse
- AWS ECS (Fargate)
- AWS S3
- IAM
- Subdomain Reverse Proxy
- User registers/logs in
- JWT token issued and stored in frontend
- Protected routes guarded by token verification
- API middleware validates token on requests
- User initiates deployment
- API validates project ownership
- Deployment record created with QUEUED status
- ECS task triggered with build container
- Build container:
- Clones repository
- Installs dependencies
- Runs build process
- Uploads output to S3
- Streams logs to Kafka
- API consumer:
- Reads logs from Kafka
- Inserts logs into ClickHouse
- Updates deployment status
- Emits logs via Socket.io
- User receives real-time logs
- Live URL becomes available upon success
- ✅ Multi-project support
- ✅ Real-time log streaming
- ✅ Deployment history tracking
- ✅ Subdomain routing
- ✅ Isolated build environments
- ✅ Secure authentication middleware
- ✅ Cloud-native architecture
- ✅ Event-driven processing
POST /registerPOST /login
POST /projectGET /project/:idGET /projects
POST /deployGET /logs/:deploymentId
git clone <repo-url>cd api-server
npm install
npx prisma migrate dev
node index.jscd frontend
npm install
npm run devcd s3-reverse-proxy
node index.js- Stateless API servers enable horizontal scaling
- Kafka enables distributed log processing across consumers
- Build workers scale dynamically via ECS
- S3 provides unlimited storage capacity
- Reverse proxy supports efficient subdomain routing
- Designed and implemented event-driven cloud deployment system
- Built distributed logging pipeline using Kafka and ClickHouse
- Implemented containerized build workers via AWS ECS
- Architected real-time streaming using WebSockets
- Implemented multi-tenant project isolation
- Created cloud-native static hosting with S3
- Event-driven architecture in production systems
- Distributed system debugging and optimization
- Kafka consumer group management
- Cloud deployment orchestration
- Real-time data streaming patterns
- Scalable system design principles
- CI/CD integration (GitHub Actions)
- GitHub OAuth support
- Custom domain configuration
- Deployment rollback capabilities
- Horizontal scaling for build workers
- Observability stack (Prometheus + Grafana)
