/NextChat

Connect and communicate instantly with NextChat, a powerful NextJS 13-based chat messaging app delivering seamless, real-time conversations.

Primary LanguageTypeScript

NextChat - Realtime Messaging Chat Application

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.

Features

  • 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.

Technologies Used

  • 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.

Getting Started

To run NextChat locally and start messaging with your friends, follow these steps:

  1. Clone the repository: git clone <repository-url>
  2. Install dependencies: npm install
  3. Set up the required environment variables. Refer to the documentation for the specific variables needed.
  4. Start the development server: npm run dev
  5. Open your browser and navigate to http://localhost:3000
  6. Sign in with your Google account or create a new account.
  7. Start messaging and enjoy the real-time chat experience!

Contributing

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.