Skip to content

Ashmit-Kumar/Auto-Ship

🚀 Auto-Ship

This project aims to build a hosting platform similar to Vercel or Netlify. It allows users to deploy their GitHub repositories and host them with a unique live link.

🧠 Basic Workflow

1. User Input

  • Users submit their GitHub repository URL through a form.
  • The system validates the URL to ensure it points to a valid GitHub repository.

2. Clone Repository

  • The backend clones the repository using Go.
  • Cloned repositories are stored in temporary directories with unique identifiers.

3. Build & Host

  • The system detects the project type (e.g., HTML, Node.js, React).
  • It installs dependencies, builds the project if required, and serves it using a static file server or runtime environment.

4. Assign URL

  • Each project is assigned a unique URL (e.g., username.yourdomain.com or yourdomain.com/project/12345).
  • Reverse proxy settings are updated to map the URL to the hosted project.

5. Show Live Link

  • Users receive a live link to their hosted project, which they can copy or share.

🔧 Tech Stack

Frontend

  • Framework: Next.js
  • Styling: Tailwind CSS
  • Features: URL submission, progress tracking, live link display, and user authentication.

Backend

  • Language: Go
  • Framework: Gin or Echo
  • Features: Repository cloning, building, and serving.

Deployment

  • Containerization: Docker
  • Reverse Proxy: NGINX
  • Database: PostgreSQL for URL management.

🛡️ Security and Maintenance

  • Input Sanitization: Prevent injection attacks.
  • Rate Limiting: Avoid abuse and monitor GitHub API usage.
  • Cleanup: Automatically remove old repositories and builds.
  • Build Logs: Provide real-time logs for transparency and debugging.

🧪 MVP Goals

  1. Allow users to input a GitHub repository URL.
  2. Clone the repository and build the project.
  3. Serve the project and provide a live link.

This README outlines the project's goals and tasks. Contributions and feedback are welcome.

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •