Skip to content

Latest commit

Β 

History

History
62 lines (45 loc) Β· 1.53 KB

File metadata and controls

62 lines (45 loc) Β· 1.53 KB

JustDeploy πŸƒ

JustDeploy is a backend system that emulates Vercel's project deployment functionality. This project is designed as a learning exercise to enhance software engineering skills.

Project Architecture πŸ—οΈ

View Architecture

Project Structure πŸ“‚

  • api-server:

    • Manages API requests
    • Subscribes to redis-queue for build logs
    • Spins up a container per project on AWS
  • build-server:

    • Clones projects from GitHub
    • Handles build processes
    • Publishes logs to redis-queue
  • s3-reverse-proxy:

    • Redirects user requests to files in S3 bucket

Prerequisites ✍️

  • Node.js (v14 or later)
  • npm (v6 or later)
  • Docker
  • AWS account with ECR and ECS set up

Installation πŸ“€

  1. Clone the repository:
git clone https://github.com/git-pixel22/JustDeploy.git
cd JustDeploy
  1. Install dependencies for each service:
cd <service> // example: cd api-server
npm install

Usage πŸ’

  1. Start the API server:
cd api-server
npm start
  1. Start the S3 reverse proxy:
cd s3-reverse-proxy
npm start

Note: Make sure you have built and pushed the docker container image to AWS ECR, and have ECS set up correctly to use it.

Credits πŸ§‘β€πŸ«

I was able to learn all this amazing stuff thanks to Piyush Garg, Mehul Mohan and Harkirat Singh.