Jett is a modern deployment service built with a robust microservice architecture.
Its frontend is developed using Angular 20 with server-side rendering, paired with an Express backend that leverages JWT for secure authentication.
The platform orchestrates deployment workflows through three dedicated microservices:
- ποΈ Request Handler Service β Manages user requests.
- βοΈ Upload Service β Integrates with Cloudflare R2 for scalable storage.
- π Deploy Service β Uses a GitHub Actions worker to automate project deployments.
The Request Handler and Upload Service are containerized with Docker and deployed on Render, ensuring reliability and scalability.
To provide real-time feedback, Jett uses a Redis hashset to track deployment status.
Beyond personal deployments, Jett also showcases community projects, fostering collaboration and discovery.
By combining modern frontend technologies, cloud-based storage, CI/CD automation, and real-time tracking, Jett delivers a powerful and secure deployment ecosystem.
π¦ Microservice architecture β independently scalable services.
π₯οΈ Modern frontend β Angular 20 + SSR for speed.
π Secure authentication β JWT-based auth via middleware.
βοΈ Cloudflare R2 integration β scalable object storage.
β‘ Redis hashset β real-time deployment status tracking.
π³ Dockerized services β containerized deployments on Render.
π CI/CD automation β GitHub Actions for building + deploying projects.
π Community showcase β explore and share deployed projects.
(Above: System flow between frontend, middleware, and backend microservices with Redis + Cloudflare R2 integration.)
| Component | Description | Repo |
|---|---|---|
| π₯οΈ Frontend | Angular 20 app with server-side rendering | jett-frontend |
| π Middleware | Express-based gateway handling authentication & DB connection | jett-middleware |
| π€ Upload Service | Clones repos, uploads to Cloudflare R2, updates Redis | jett-upload-service |
| π Deploy Service | GitHub Actions worker, builds + redeploys assets to R2 | jett-deploy-service |
| β‘ Request Handler | Serves static assets from R2, routes deployment requests | jett-request-handler-service |
git clone https://github.com/sahil-ansari-47/jett-frontend
git clone https://github.com/sahil-ansari-47/jett-middleware
git clone https://github.com/Sandarva-9304/jett-upload-service
git clone https://github.com/Sandarva-9304/jett-deploy-service
git clone https://github.com/Sandarva-9304/jett-request-handler-servicecd jett-<service-name>
npm install
npm run devhttp://localhost:4200Each service uses environment variables. Example .env setup:
PORT=3000
JWT_SECRET=your-secret
MONGODB_URL=<mongodb-connection>
REDIS_URL=<redis-connection>
CLOUDFLARE_R2_BUCKET=<bucket-name>
CLOUDFLARE_R2_KEY=<access-key>
CLOUDFLARE_R2_SECRET=<secret-key>π Check each repository for service-specific .env requirements.
-
Frontend: Angular 20
-
Backend / Services: Node.js (TypeScript, Express)
-
Database / Cache: Redis , MongoDB
-
Storage: Cloudflare R2
-
CI/CD: GitHub Actions
-
Deployment: Render (Dockerized services) , Vercel
Run tests (where available):
npm run testEnsure .env is set for each service.
Verify Node.js and npm versions match project requirements.
If services fail, check logs:
npm run devFor Redis and MongoDB connection issues, confirm Redis and MongDB are running and accessible.
-
Sandarva-9304 β Backend Microservices
-
sahil-ansari-47 β Frontend & Middleware
Deploy with Jett π
