This project is a full-stack chat application built with a monorepo approach using Nx.
It includes a NestJS backend, an Angular frontend, and a MongoDB database, with modern tooling and best practices.
- NestJS – modular Node.js framework
- Socket.IO – real-time communication
- JWT Auth + Passport – authentication & authorization
- Mongoose – MongoDB ODM
- Angular Standalone Components
- Angular Signals – reactive state
- NGXS Store with Signals – application state management
- Angular CDK
- Material UI
- MongoDB
- Nx Monorepo Workspace
- TypeScript 5.8
- ESLint + Prettier – code quality
- Jest + Cypress – unit & e2e testing
- 🔐 JWT Authentication – Login, Register, Logout
- 💬 Real-time chat via Socket.IO
- 👤 User management with NGXS Store
- 📱 Responsive UI with Angular Material
- 🛠️ Organized in Nx monorepo with shared libs
yarncreate .env.development file in root folder of nx monorepo
take variables from .env.example and fill in your own data
go to apps/web/src/environments
create environment.ts
take variables from environment.prod.example.ts and fill in your own datayarn nx serve apiyarn nx serve webyarncreate .env.production file in root folder of nx monorepo
take variables from .env.example and fill in your own data
go to apps/web/src/environments
create environment.prod.ts
take variables from environment.prod.example.ts and fill in your own datadocker compose upapps/web– Angular frontendapps/api– NestJS backendapps/web-e2e– Cypress end-to-end testslibs– shared libraries (types, utils, UI components, etc.)