Chatify is a modern real-time chat application designed to provide seamless communication and an exceptional user experience. The application comes with features like multi-people chat rooms, broadcast channel creation, and real-time messaging. It uses cutting-edge technologies such as WebSocket, MongoDB, NestJS, and Next.js to deliver optimal performance and scalability.
- Real-Time Communication: Instant messaging powered by WebSocket for a seamless experience.
- Broadcast Channels: Users can create broadcast channels, invite participants, and manage access.
- Multi-People Chat Rooms: Allows multiple users to communicate simultaneously.
- Chat History: Persistent chat history to revisit past conversations.
- Custom Authentication: Secure and efficient authentication system.
- Youthful UI: Modern, smooth, and visually appealing interface.
- Next.js & Tailwind: Combines server-side rendering and modern UI design for better performance and SEO.
- NestJS Backend: Ensures better type safety, structured code, and high performance.
- MongoDB: Scalable database for efficient data management.
- WebSocket Communication: Real-time interactions for improved user engagement.
- Future-Proof Design: Schema and architecture designed for scalability and future enhancements.
Follow these steps to set up and run Chatify locally:
- Node.js: Ensure you have Node.js installed.
- MongoDB Atlas: Setup a MongoDB Atlas account or use a local MongoDB instance.
-
Clone the repository:
git clone <repository-url> cd chatify
-
Install dependencies in the main folder:
npm install
-
Navigate to
/app/frontendand install dependencies:cd app/frontend npm install -
Navigate to
/app/backendand install dependencies:cd app/backend npm install
- Add a
.envfile in/app/frontendwith the following content:NEXT_PUBLIC_BACK_END_URL=http://localhost:4000
- Start the frontend development server:
npm run dev
- Add a
.envfile in/app/backendwith the following content:PORT=4000 MONGO_URI="mongodb+srv://username:password@cluster0.nb87q.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0" JWT_SECRET="secret" FRONTEND_URL=http://localhost:3000
- Start the backend server:
npm start
- Seamless Real-Time Communication: Uses WebSocket for real-time interactions, ensuring a smooth user experience.
- Scalability: Designed with scalability in mind, perfect for handling a large user base.
- Modern UI: Built with Tailwind and Next.js, providing a visually stunning and responsive interface.
- Secure Authentication: Robust custom authentication system with JWT for secure user sessions.
- Future-Ready: Flexible schema design and modular code structure for easy expansion.
- Frontend: Next.js, Tailwind CSS
- Backend: NestJS, WebSocket, MongoDB
- Database: MongoDB Atlas
- Authentication: JWT (JSON Web Tokens)
We welcome contributions to improve Chatify! Feel free to submit issues, feature requests, or pull requests.
This project is licensed under the MIT License.
For any questions or suggestions, please contact us at [your-email@example.com].