Skip to content

NikhilSharmaWe/go-vercel-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go-Vercel-App

Vercel clone written in Golang (Backend)

Tools

  • Backend Languages: Golang
  • Frontend Languages: JavaScript
  • Database: PostgreSQL
  • Message Broker: RabbitMQ
  • Authentication: GitHub OAuth, Email authentication
  • Session Management: Cookies and Sessions
  • Microservices Communication: gRPC
  • Object Storage: MinIO (S3-compatible)

Services

  1. Vercel (web server)

    Vercel serves as the web server that users interact with. It is responsible for handling user requests to upload and deploy projects. Vercel communicates with separate gRPC servers for handling these requests.

  2. Upload (gRPC server)

    The Upload service is a gRPC server responsible for pulling the repository from GitHub and uploading it to MinIO, an S3-compatible object storage service. Once the upload is complete, the Upload service sends the status back to Vercel.

  3. Deploy (gRPC server)

    The Deploy service is another gRPC server that pulls the repository code from S3, builds the project, and uploads the distribution to S3. Similar to the Upload service, it then sends the deployment status back to Vercel.

  4. Request Handler (web server)

    The Request Handler service handles requests made to the project endpoints generated by Vercel.

About

Vercel clone using micro service architecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages