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.
- Users submit their GitHub repository URL through a form.
- The system validates the URL to ensure it points to a valid GitHub repository.
- The backend clones the repository using Go.
- Cloned repositories are stored in temporary directories with unique identifiers.
- 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.
- Each project is assigned a unique URL (e.g.,
username.yourdomain.com
oryourdomain.com/project/12345
). - Reverse proxy settings are updated to map the URL to the hosted project.
- Users receive a live link to their hosted project, which they can copy or share.
- Framework: Next.js
- Styling: Tailwind CSS
- Features: URL submission, progress tracking, live link display, and user authentication.
- Language: Go
- Framework: Gin or Echo
- Features: Repository cloning, building, and serving.
- Containerization: Docker
- Reverse Proxy: NGINX
- Database: PostgreSQL for URL management.
- 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.
- Allow users to input a GitHub repository URL.
- Clone the repository and build the project.
- Serve the project and provide a live link.
This README outlines the project's goals and tasks. Contributions and feedback are welcome.