Skip to content

Developed an automated front-end web hosting platform enabling seamless deployment of applications directly from GitHub repositories. Implemented user management, deployment configurations, and real-time log monitoring. Integrated Kafka for efficient log delivery and AWS services like ECR, ECS, S3, and EC2 for scalable, and secure infrastructure.

Notifications You must be signed in to change notification settings

PrayanshParmar/Vercel-clone-app

Repository files navigation

Hostiffy - Web App Deployment Platform

Hostiffy is a full-stack platform that simplifies front-end web app deployment. It allows users to manage, deploy, and monitor their projects seamlessly with real-time feedback.

Features

  • Multi-framework Support: Deploy apps built with Angular, Astro, Remix, Create React App, Nuxt, Svelte, Vite, Vue, and more.
  • Real-time Logs: Get real-time feedback on deployment processes.
  • GitHub Integration: Select repositories directly from GitHub.
  • User-Friendly Dashboard: Manage projects with features like search, create, configure, view logs, and project details.
  • Secure and Scalable: AWS infrastructure with Docker, Nginx, and ECS for scalable deployments.

Tech Stack

Frontend

Backend

  • Runtime: Node.js
  • Database: PostgreSQL for storing user, project, and deployment data.
  • Logs Database: ClickHouseDB for storing and fetching real-time deployment logs.
  • Messaging: Apache Kafka for processing logs.
  • Containerization: Docker for running deployment processes.

Hosting & Deployment

  • Cloud Provider: AWS
    • AWS ECS for running deployment services
    • AWS S3 for hosting built files
    • Nginx for routing subdomains

Project Workflow

  1. Create a New Project:

    • Select a GitHub repository and configure the project (framework support for Angular, Astro, etc.).
  2. Deploy the Project:

    • On clicking deploy, a Docker container spins up on AWS ECS.
    • The app’s code is cloned, dependencies are installed, and the build is created.
    • Built files are stored in an AWS S3 bucket under the user's subdomain.
  3. Real-time Logs:

    • Logs from the build process are sent to Kafka and stored in ClickHouseDB.
    • These logs are fetched and displayed on the frontend in real time.
  4. Post Deployment:

    • Upon successful deployment, the user is redirected to the projects page.
    • A deployed link (e.g., https://subdomain.app.hostiffy.xyz) is shown, which Nginx routes to the appropriate S3 folder.

Setup

Prerequisites

Local Development

  1. Clone the repository:

    git clone https://github.com/username/hostiffy.git
    cd hostiffy
  2. Install Dependencies:

    npm install
  3. Configure Environment Variables:

    • Create a .env file with necessary variables for PostgreSQL, ClickHouse, AWS, Clerk.js, etc.
  4. Run the App:

Deployment

Deployment is managed via Docker containers on AWS ECS.

Contributing

We welcome contributions! Please open an issue or submit a pull request for any changes or improvements.

License

This project is licensed under the MIT License.


This README provides a complete overview of your project with clear sections for setup, workflow, and technologies. You can adapt or expand it as needed!

About

Developed an automated front-end web hosting platform enabling seamless deployment of applications directly from GitHub repositories. Implemented user management, deployment configurations, and real-time log monitoring. Integrated Kafka for efficient log delivery and AWS services like ECR, ECS, S3, and EC2 for scalable, and secure infrastructure.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published