- Next.js
- Tailwind CSS
- Shadcn
- Socket.Io
- Node JS
- Express Js
- Kafka
- Docker
- AWS
- PostgresDB
- ClickHouseDB
👉 Scalable Deployment: Scalable Deployment: Efficiently deploy and manage builds with a robust build server.
👉 API Management: Core API functionalities managed by the Main API Server.
👉 Dynamic Routing: The Proxy component ensures seamless routing and request handling.
👉 Real-time Communication: Socket.IO integration for real-time logs updates and communication while deploying app.
👉 Reliable Logging: Kafka ensures reliable log delivery and ClickHouse facilitates fast log querying.
👉 Database Integration: PostgreSQL for structured data and ClickHouse for high-performance analytics.
👉 Automated Builds*: Utilize Docker and AWS ECS (Elastic Container Service) for seamless build automation.
👉 Code Storage: AWS S3 for storing and managing code artifacts.
Follow these steps to set up the project locally on your machine.
Prerequisites
Cloning the Repository
git clone https://github.com/suraj-o/https://github.com/suraj-o/Web-Deployment
cd Web-DeploymentFirst of all start server
NOTE: change aws, kafka, clickhouse, postgresDB crediential with your credentials
---you must change credentials given following fields below---
--AWS--
1=> /build/script.js:11
2=> /main-server/configs/index.js:9
--kafka--
1=> /main-server/configs/index.js:17
2=> /build/script.js:21
--CLickhouseDB--
1=> /main-server/configs/index.js:30
Installation
build-server
---Install the project dependencies using npm:---
cd build-server
npm install
npm startmain-server
---run following command---
cd main-server
npm install
npm start
proxy
---run following command---
cd proxy
npm install
npm start
Docker Setup (Optional)
To simplify running the project using Docker, create a docker-compose.yml file at the root of your project:
version: '3'
services:
main-server:
build: ./main-server
command: npm start
volumes:
- ./main-server:/app
ports:
- "4000:4000"
proxy:
build: ./proxy
command: npm run dev
volumes:
- ./proxy:/app
ports:
- "9000:9000"To start the services with Docker Compose, use:
docker-compose up --buildGo to client folder
---run following command---
cd ..
cd client
npm run devOpen http://localhost:3000 in your browser to view the project.