A progressive Node.js framework for building efficient and scalable server-side applications.
NestJS-MongoDB-Chat-App is a robust and scalable real-time chat application designed to provide a seamless communication experience. Leveraging the power of NestJS for server-side logic, MongoDB with Mongoose for efficient data storage and ORM, and WebSockets for instantaneous bi-directional communication, this application offers a feature-rich environment for users to engage in peer-to-peer conversations and participate in room-based discussions.
- User Authentication: Secure user authentication using Passport and JWT, ensuring a safe and personalized experience for each user.
- Peer-to-Peer Messaging: Enjoy direct and private conversations with other users in real-time.
- Room-Based Conversations: Join or create chat rooms to engage in group discussions on various topics.
- WebSockets Integration: Harness the power of WebSockets for low-latency communication, providing a responsive and dynamic chat experience.
- Mongoose ORM: Benefit from the elegant Mongoose ORM for MongoDB, simplifying data modeling and interaction with the database.
- NestJS Command Seeding: Utilize NestJS Command for convenient seeding of initial data.
- NestJS: A progressive Node.js framework for building efficient and scalable server-side applications.
- MongoDB: A NoSQL database for flexible and scalable data storage.
- Mongoose: An elegant MongoDB object modeling tool for Node.js.
- WebSockets: Facilitates real-time, bidirectional communication between clients and servers.
- Socket.IO: A library for real-time web applications, enabling real-time, bi-directional communication.
- Passport: Simple, unobtrusive authentication for Node.js.
- JWT: JSON Web Tokens for secure authentication.
- NestJS Command: Convenient command-line tools for NestJS applications.
$ npm install
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
We welcome contributions! If you have ideas for new features, find bugs, or want to improve the documentation, feel free to open issues and pull requests.