OpenJS Chat is a monorepo built using Turborepo, featuring a Next.js client and a NestJS server. This project provides on open source chat application thinking in a easily adaptability to your needs.
OpenJS-Chat/
├── apps/
│ ├── chat/ # Next.js frontend
│ ├── server/ # NestJS backend
├── packages/ # Shared packages
├── .turbo/ # Turborepo cache
├── package.json # Monorepo package manager config
├── turbo.json # Turborepo configuration
└── README.md # Documentation
- Framework: Next.js 15
- Styling: Tailwind CSS 4
- State Management: Zustand
- WebSockets: Socket.io-client
- Framework: NestJS
- Database: PostgreSQL
- ORM: Drizzle ORM
- WebSockets: Socket.io
Ensure you have the following installed:
- Node.js @^20
- pnpm
Clone the repository and install dependencies:
git clone https://github.com/Jared-MB/open-js-chat.git
cd open-js-chat
pnpm installImportant
Each application has its own README.md for setup and configuration instructions.
To run ALL the applications in development mode, use the following commands:
pnpm dev # Runs all apps in development modeNote
RECOMMENDED: Use the dev command to run all apps in development mode. This ensures that all apps are built and run together, making development easier and faster.
pnpm dev:client # Runs the Next.js frontendpnpm dev:server # Runs the NestJS backend- Vercel (for excellent integrations with Next.js/Turborepo)
- Railway (or any other hosting provider)
This project is licensed under the MIT License.