- Next.js
- Typescript
- Socket IO
- WebRTC(peerjs)
- Express.js
- Tailwind CSS
- Shadcn UI
- Zustand
- Prisma
- MongoDB
- Google and GitHub auth
- Authentication
- Clone the repository
- Rename the
.env.example
file to.env
and fill in the required environment variables - Run
make run
in the root directory
This is a monorepo structured project powered by Docker, featuring a Next.js frontend, a Node.js event server, and MongoDB with Nginx as a reverse proxy. Each service is containerized with separate Dockerfiles, making it easy to run and scale independently in local or cloud environments.
This is the frontend built with Next.js: • src/ – Source code for the app, including components and pages. • prisma/ – Prisma schema and client setup for database access. • Dockerfile.dev, Dockerfile.prod – Docker configuration for development and production. • package.json, tsconfig.json, vitest.config.mts, etc. – Configuration files for the frontend stack.
A backend Node.js service (likely with WebSockets): • types/ – Shared or custom TypeScript types. • Dockerfile.dev, Dockerfile.prod – Docker configs. • package.json, tsconfig.json – Project configs.
Likely contains MongoDB-related assets: • keyfile/ – Used for MongoDB replication or security (e.g., in a replica set).
Contains Nginx reverse proxy setup: • nginx.conf – Configuration for routing requests to appropriate containers.