Skip to content

Repository files navigation

πŸš€ RepoDeploy - Real GitHub Repository Deployment Platform

RepoDeploy Next.js Vercel Supabase TypeScript

A modern deployment platform that actually deploys your GitHub repositories to live, accessible websites

πŸš€ Live Demo β€’ πŸ“– Documentation β€’ πŸ’¬ Support


✨ What Makes RepoDeploy Special?

🎯 Real Deployments - Not a simulation! Actually deploys your code to live URLs
⚑ Lightning Fast - Deploy any GitHub repo in under 30 seconds
πŸ’° 100% Free - Built with free tier services, no paid plans required
πŸ”„ Real-Time Updates - Watch your deployment progress live
🌐 Live URLs - Get actual working websites you can share
🎨 Modern Stack - Next.js 15, Vercel API, Supabase, TypeScript

🎬 How It Works

graph LR
    A[GitHub URL] --> B[Download Repo]
    B --> C[Process Files]
    C --> D[Deploy to Vercel]
    D --> E[Live Website! πŸŽ‰]
Loading
  1. Paste GitHub URL β†’ Any public repository
  2. Real-Time Processing β†’ Download, build, and deploy
  3. Live URL Generated β†’ Your site is live on the internet
  4. Share & Celebrate β†’ Working website anyone can visit

πŸš€ Quick Start (5 minutes)

Prerequisites

  • Node.js 18+ installed
  • GitHub account
  • Vercel account (free)
  • Supabase account (free)

1-Click Setup

# Clone the repository
git clone https://github.com/your-username/repodeploy.git
cd repodeploy

# Install dependencies
npm install

# Copy environment template
cp .env.example .env

# Start development server
npm run dev

Visit http://localhost:9002 and start deploying! πŸŽ‰

πŸ”§ Configuration

Environment Variables

Create a .env file with these values:

# Supabase Configuration (Free Tier)
NEXT_PUBLIC_SUPABASE_URL=your-supabase-project-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key

# GitHub Integration
GITHUB_TOKEN=your-github-personal-access-token

# Deployment Mode ('simulation' or 'vercel')
DEPLOYMENT_MODE=vercel

# Vercel Integration (for real deployments)
VERCEL_TOKEN=your-vercel-api-token

Where to Get These Values:

Service How to Get
Supabase Create project β†’ Settings β†’ API
GitHub Token Settings β†’ Generate new token β†’ public_repo scope
Vercel Token Dashboard β†’ Settings β†’ Tokens β†’ Create

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Next.js App   │───▢│   Vercel API     │───▢│  Live Website   β”‚
β”‚   (Frontend)    β”‚    β”‚  (Deployment)    β”‚    β”‚   (Result)      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                        β”‚
         β–Ό                        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Supabase      β”‚    β”‚   GitHub API     β”‚
β”‚  (Database)     β”‚    β”‚ (Source Code)    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Tech Stack

Layer Technology Purpose
Frontend Next.js 15, React, TypeScript Modern web application
Backend Vercel API Routes, Server Actions Deployment processing
Database Supabase PostgreSQL Deployment tracking
Deployment Vercel API Real website hosting
Source GitHub API Repository access
UI Tailwind CSS, Shadcn/ui Beautiful interface

πŸ“Š Features

🎯 Core Features

  • βœ… Real GitHub Repository Deployment
  • βœ… Live URL Generation (https://project-abc123.vercel.app)
  • βœ… Real-Time Build Logs with live progress updates
  • βœ… Automatic Framework Detection (React, Next.js, Vue, Static)
  • βœ… Build Status Tracking (Pending β†’ Building β†’ Deployed)
  • βœ… Error Handling with detailed error messages

πŸ”§ Advanced Features

  • βœ… Dual Mode Support (Simulation for testing, Real for production)
  • βœ… Smart File Processing (Auto-generates index.html for simple repos)
  • βœ… Project Settings Detection (Build commands, output directories)
  • βœ… Professional UI with modern design and animations
  • βœ… Mobile Responsive design for all devices

πŸš€ Developer Experience

  • βœ… TypeScript for better development experience
  • βœ… Server Actions for seamless form handling
  • βœ… Real-time Updates without page refreshes
  • βœ… Error Boundaries for graceful error handling
  • βœ… Loading States for better UX

🌐 Deployment Options

Demo Mode (Default)

Perfect for testing and development:

DEPLOYMENT_MODE=simulation
  • Shows deployment process
  • No real hosting
  • Great for learning

Production Mode

Deploy to real websites:

DEPLOYMENT_MODE=vercel
VERCEL_TOKEN=your_token_here
  • Real Vercel deployments
  • Live, shareable URLs
  • Production-ready hosting

πŸ“ Project Structure

src/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ page.tsx              # Landing page
β”‚   β”œβ”€β”€ p/[id]/page.tsx      # Deployment status page
β”‚   └── api/
β”‚       └── status/[id]/route.ts  # Deployment API
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ ui/                   # Shadcn/ui components
β”‚   β”œβ”€β”€ deployment-dialog.tsx # Main deployment form
β”‚   β”œβ”€β”€ landing-hero.tsx     # Hero section
β”‚   └── how-it-works.tsx     # Feature explanation
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ actions.ts           # Server actions
β”‚   β”œβ”€β”€ deployment.ts        # Deployment logic
β”‚   β”œβ”€β”€ vercel-deploy.ts     # Vercel API integration
β”‚   └── supabase.ts          # Database operations
└── hooks/                   # Custom React hooks

🎯 Usage Examples

Deploy a Static Website

Repository: https://github.com/username/my-portfolio
Result: Live portfolio website
Build Time: ~15 seconds

Deploy a React App

Repository: https://github.com/username/react-todo-app
Auto-Detected: Create React App
Build Command: npm run build
Result: Fully functional React app

Deploy a Next.js Project

Repository: https://github.com/username/nextjs-blog
Auto-Detected: Next.js
Build Command: npm run build
Output: .next directory
Result: Server-rendered Next.js app

πŸ“ˆ Free Tier Limits

All services used are completely free with generous limits:

Service Free Limit Enough For
Supabase 500MB database 50,000+ deployments
Vercel 100GB bandwidth/month Thousands of visitors
GitHub API 5,000 requests/hour 100+ deployments/hour
Total Cost $0/month forever Unlimited personal use

πŸ› οΈ Development

Local Development

# Start development server
npm run dev

# Build for production
npm run build

# Type checking
npm run type-check

# Linting
npm run lint

Database Setup (Supabase)

  1. Create a new Supabase project
  2. Go to SQL Editor
  3. Run the deployment table creation:
CREATE TABLE deployments (
  id TEXT PRIMARY KEY,
  repo_url TEXT NOT NULL,
  status TEXT NOT NULL DEFAULT 'pending',
  live_url TEXT,
  build_logs TEXT[],
  error_message TEXT,
  created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
  updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

Testing Deployments

Try these repositories for testing:

  • Simple HTML: https://github.com/github/personal-website
  • React App: Any Create React App repository
  • Next.js: Any Next.js project
  • Vue App: Any Vue.js project

πŸ”’ Security & Best Practices

  • βœ… Environment Variables - All secrets stored securely
  • βœ… Input Validation - GitHub URL validation
  • βœ… Error Handling - Graceful failure handling
  • βœ… Rate Limiting - Built-in API rate limiting
  • βœ… No Sensitive Data - No database passwords or private keys

πŸ› Troubleshooting

Common Issues

"Deployment not found"

  • Check if the deployment ID exists in Supabase
  • Verify your database connection

"Invalid GitHub repository URL"

  • Ensure the repository is public
  • Use the full GitHub URL format

"Vercel deployment failed"

  • Check your VERCEL_TOKEN is valid
  • Verify the token has deployment permissions

"Build failed"

  • Check the repository has a valid package.json
  • Ensure build scripts are properly configured

πŸŽ‰ Success Stories

Once deployed, you get:

  • βœ… Real deployment infrastructure like Vercel/Netlify
  • βœ… Zero monthly costs - completely free
  • βœ… Professional build logs and status tracking
  • βœ… Shareable live URLs for your projects
  • βœ… Portfolio-worthy project to showcase

🀝 Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Write TypeScript for new features
  • Add proper error handling
  • Update documentation
  • Test with both simulation and real deployment modes

πŸ™ Acknowledgments

  • Vercel for the amazing deployment API
  • Supabase for the fantastic database service
  • Next.js team for the excellent framework
  • GitHub for repository hosting and API
  • Shadcn/ui for beautiful components

Made with ❀️ by Pratham, for developers

⭐ Star this repo β€’ πŸ“’ Share it

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages