Skip to content

A minimal clone of Vercel, designed to showcase deployment and hosting features for web applications. Built with modern web technologies for learning and experimentation.

Notifications You must be signed in to change notification settings

sahu-adarsh/vercel-clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vercel Clone

A simplified Vercel-like platform for deploying, hosting, and serving web applications automatically.
This project uses Node.js, TypeScript, Express, Redis, AWS S3, and simple-git, and includes a frontend for submitting deployment requests.


Features

  • Upload Service:

    • Accepts a repository URL, clones it, collects files, and uploads them to S3.
    • Tracks upload status in Redis and exposes status endpoints.
  • Deploy Service:

    • Watches Redis for new uploads, downloads files from S3, builds React projects, uploads built files to S3, and updates status.
  • Request Handler:

    • Express server on port 3001, handles wildcard routes, extracts subdomain, fetches files from S3, and serves them with correct content types.
  • Frontend:

    • Simple form for users to submit repository URLs and check deployment status.

Setup & Installation

Prerequisites

  • Node.js
  • AWS account and S3 bucket
  • Local Redis server
  1. Initialize Upload Service:

    mkdir upload-service && cd upload-service
    npm init -y
    npm install typescript express redis aws-sdk simple-git cors
    npx tsc --init
  2. Initialize Deploy Service:

    mkdir deploy-service && cd deploy-service
    npm init -y
    npm install typescript redis aws-sdk
    npx tsc --init
  3. Initialize Request Handler:

    mkdir request-handler && cd request-handler
    npm init -y
    npm install typescript express aws-sdk
    npx tsc --init

Usage

  • Start Redis locally.
  • Launch upload, deploy, and request handler services.
  • Use the frontend to submit a repository and deploy static sites.

About

A minimal clone of Vercel, designed to showcase deployment and hosting features for web applications. Built with modern web technologies for learning and experimentation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published