- A simple deployment service for React applications, inspired by Vercel. Allowing user to deploy React JS applications by providing a GitHub repository URL.
- Developed the backend in TypeScript, divided into three microservices:
- Upload, Deploy, and Request Handler.
- Setup: Built with Node.js, TypeScript, Express, and Redis.
- Functionality:
- Clone your repository.
- Generate a unique session ID.
- Upload files to Cloud Bucket (AWS S3 / Couldflare R2).
- Use Redis queues to manage upload status.
- Setup: TypeScript-based service.
- Functionality:
- Download files from S3.
- Build the React app into HTML/CSS.
- Re-upload the build directory to S3.
- Setup: Node.js project with TypeScript configurations.
- Functionality:
- Handle incoming requests.
- Fetch content from S3 based on subdomains.
- Serve the final HTML files with correct headers.
- Node.js
- AWS / Couldflare account
- Redis
Clone the repository:
git clone https://github.com/yourusername/hostify.git
cd hostify
Install backend & frontend dependencies:
cd backend
npm install
cd frontend
npm install
Set up environment variables:
AWS_ACCESS_KEY_ID=your_aws_access_key_id
AWS_SECRET_ACCESS_KEY=your_aws_secret_access_key
REDIS_HOST=your_redis_host
REDIS_PORT=your_redis_port
Go to the any service directory
cd deploy-service
Start the server
npx tsc -b
node dist/index.js