Welcome to the Messenger Clone project! This project is a full stack chat application, developed as a clone of the popular Messenger app. It leverages modern technologies including Next.js 13, React, Tailwind CSS, Prisma, MongoDB, NextAuth, and Pusher for real-time functionalities. The idea behind this project was to create an application that replicates the functionality and design of Messenger, providing real-time chatting capabilities, secure authentication, and a sleek, modern UI.
- Next.js 13: A production-ready web framework for building React applications. Used for routing, server-side rendering and generating static websites.
- React: A JavaScript library for building user interfaces. Provides efficient, declarative, and flexible solutions to build interactive UIs.
- Tailwind CSS: A utility-first CSS framework for rapidly building custom user interfaces. Provides low-level utility classes that lets you build completely custom designs.
- Prisma: An open source next-generation ORM. It simplifies database workflows and makes developers more productive with its type-safe and auto-completion friendly API.
- MongoDB: A source-available cross-platform document-oriented database program. Used to store our application data as documents in a binary representation.
- NextAuth.js: A complete open source authentication solution for Next.js applications. It is designed from the ground up to support Next.js and Serverless.
- Pusher: A host of APIs designed to enable developers to build real-time functionality. Used in this project to implement real-time chat capabilities.
Before you begin, ensure you have met the following requirements:
- You have a working installation of Node.js and npm.
- You have a MongoDB database up and running.
- You have set up an account with Pusher for real-time functionalities.
-
Fork/Clone this repository to your local machine.
-
Navigate to the project directory.
-
Install the required dependencies using npm:
npm install
-
Run the development server:
npm run dev
-
Open http://localhost:3000 with your browser to see the result.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
This project is open-source and is licensed under the MIT License. See LICENSE
for more details.
If you want to contact me, you can reach me at [email protected]
. I'm always open for suggestions and improvements!
Happy coding!