Vercel Clone with AWS Services
This project is a clone of Vercel, a cloud platform for static sites and serverless functions. It is built using a combination of various AWS services, Docker, Redis, S3, Next.js, TypeScript, Kafka, ClickHouse, and PostgreSQL. This README provides an overview of the project structure, setup instructions, and usage guidelines.
- Static Site Hosting: Deploy static sites effortlessly.
- Serverless Functions: Execute serverless functions seamlessly.
- Dockerized Environment: Ensures consistent development and deployment environments.
- Cache Management with Redis: Efficient caching mechanism for enhanced performance.
- Data Storage with S3: Scalable and durable object storage for various data types.
- Frontend Framework with Next.js: Building powerful, server-rendered React applications.
- Type Safety with TypeScript: Enhances code quality and developer productivity.
- Event Streaming with Kafka: Enables real-time data processing and event-driven architectures.
- Analytics with ClickHouse: High-performance columnar database for analytics workloads.
- Relational Database with PostgreSQL: Provides relational data management capabilities.
- AWS Account with necessary permissions.
- Docker installed on your machine.
- Redis, Kafka, ClickHouse, and PostgreSQL setup.
- Node.js and npm installed locally.
-
Clone the repository:
git clone https://github.com/DUhacks3.0/vercel-clone.git
-
Navigate to the project directory:
cd vercel-clone
-
Install dependencies:
npm install
-
Set up your AWS credentials and configurations.
-
Configure Docker containers for Redis, Kafka, ClickHouse, and PostgreSQL.
-
Update environment variables as per your setup.
-
Start the development server:
npm run dev
-
Access the application at
http://localhost:3000
. -
Deploy the application to your AWS environment.
The architecture consists of various components such as Docker containers, AWS services (S3, Lambda, etc.), Next.js for frontend, Redis for caching, Kafka for event streaming, ClickHouse for analytics, and PostgreSQL for relational data storage.
- AWS
- Docker
- Redis
- S3
- Next.js
- TypeScript
- Kafka
- ClickHouse
- PostgreSQL
Contributions are welcome! Fork the repository, make your changes, and submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.