NextChat is a full-stack realtime messaging chat application built with Next.js 13. It allows users to connect and communicate instantly, delivering seamless, real-time conversations. With NextChat, you can stay connected with friends and engage in meaningful conversations in a user-friendly interface.
-
Realtime Messaging: Enjoy real-time messaging capabilities that allow you to have instant and interactive conversations with other users.
-
Friend Management: Easily add friends and send friend requests via email, enabling you to expand your network and connect with new people.
-
Performant Database Queries: NextChat leverages Redis, a high-performance in-memory database, to ensure efficient and fast database queries, providing a smooth user experience.
-
Responsive UI with TailwindCSS: The user interface of NextChat is built using TailwindCSS, a highly customizable CSS framework, resulting in a responsive and visually appealing chat application.
-
Protection of Sensitive Routes: NextChat implements measures to protect sensitive routes, ensuring that only authorized users can access restricted functionalities.
-
Google Authentication: Users can log in and authenticate using their Google accounts, simplifying the sign-in process and enhancing security.
-
Built with TypeScript: NextChat is developed using TypeScript, a typed superset of JavaScript, which adds static typing and enhances code quality, readability, and maintainability.
-
Next.js 13: A powerful React framework for building server-side rendered and statically generated applications.
-
Redis: A fast and efficient in-memory database used for performant database queries.
-
TailwindCSS: A utility-first CSS framework for building modern and responsive user interfaces.
-
Lucide Icons: A collection of open-source SVG icons used for enhancing the visual appeal of the application.
-
tailwind-merge: A utility for merging Tailwind CSS classes in a concise and readable way.
-
clsx: A utility for conditionally applying CSS classes based on dynamic conditions.
-
class-variance-authority: A utility for applying Tailwind CSS variants in a flexible and controlled manner.
To run NextChat locally and start messaging with your friends, follow these steps:
- Clone the repository:
git clone <repository-url>
- Install dependencies:
npm install
- Set up the required environment variables. Refer to the documentation for the specific variables needed.
- Start the development server:
npm run dev
- Open your browser and navigate to http://localhost:3000
- Sign in with your Google account or create a new account.
- Start messaging and enjoy the real-time chat experience!
Contributions to NextChat are welcome and encouraged! If you find any bugs, issues, or have suggestions for improvements, please open an issue or submit a pull request.