Skip to content

Deploy projects, view logs & metrics, and manage environments with a single full-stack TypeScript monorepo.

Notifications You must be signed in to change notification settings

0xTaneja/Vercel-Full

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vercel-Full – Open-Source Vercel Clone

Deploy projects, view logs & metrics, and manage environments with a single full-stack TypeScript monorepo.

Next.js tRPC Prisma Postgres Docker

✨ Key Features

Feature Description
Projects & Teams Create unlimited projects, invite teammates, and assign roles (Owner / Member).
One-Click Deploy Push a Git repository URL and watch the CI pipeline build & deploy automatically.
Live Logs Real-time build & runtime logs streamed via WebSockets.
Environment Variables Encrypted env-var store per project with UI & CLI sync.
Domains & Previews Custom domain mapping and preview URLs for every pull request.
Metrics Dashboard CPU / RAM / request charts powered by Prometheus & Grafana (optional add-on).

🏗️ Tech Stack

  • Frontend — Next.js 15 (App Router) + Tailwind CSS + shadcn/ui
  • Backend — tRPC v10, Next.js API routes, Zod validation
  • Database — PostgreSQL 15 managed via Prisma ORM & migrations
  • Auth — Better-Auth (email / password) + session cookies
  • CI / Builder — Docker Engine + Dagger build pipeline
  • Realtime — WebSockets (Socket.IO) for live build logs
  • Infra as Code — Docker Compose for local, Terraform for prod (AWS ECS ‑> Fargate)

🚀 Quick Start

# 1. Clone
$ git clone https://github.com/0xTaneja/Vercel-Full.git && cd Vercel-Full

# 2. Install deps (root + apps)
$ pnpm install # or npm / yarn

# 3. Configure environment variables
$ cp .env.example .env
# → update DATABASE_URL, JWT_SECRET, etc.

# 4. Run database migrations
$ pnpm prisma migrate dev --name init

# 5. Start everything (Next.js + Build Worker + Postgres) via Docker Compose
$ docker compose up --build

# 6. Visit the app
http://localhost:3000

Note: The default compose file spins up Postgres and the build-worker side-car container. For a lightweight UI-only run, execute pnpm dev instead.

🗂 Project Structure

Vercel-Full/
├─ apps/web/            # Next.js 15 app-router frontend
├─ packages/api/        # tRPC routers & server context
├─ packages/db/         # Prisma schema & DB utils
├─ services/builder/    # Docker-in-Docker build service
├─ scripts/             # Local helper scripts (seed, reset, etc.)
└─ docker-compose.yml   # Dev orchestration

🧪 Testing

# Unit & integration tests
pnpm test

# e2e tests (Playwright)
pnpm e2e

🛣 Roadmap

  • CD to AWS Fargate via GitHub Actions
  • Domain management UI (DNS records, SSL)
  • Pay-as-you-go billing with Stripe
  • Usage metrics (Prometheus → Grafana dashboards)

🙌 Contributing

  1. Fork the repo & create your feature branch: git checkout -b feat/amazing
  2. Commit changes: git commit -m "feat: add amazing feature"
  3. Push to the branch: git push origin feat/amazing
  4. Open a pull request 🎉

📝 License

MIT – see LICENSE for full details.


Made with ❤️ by Rushab Taneja (@0xTaneja)

About

Deploy projects, view logs & metrics, and manage environments with a single full-stack TypeScript monorepo.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published