/next-chat

The Ultimate Real-Time Chat Application for Dark Theme Enthusiasts, Powered by NextAuth!

Primary LanguageTypeScript

Next-Chat: Real-Time Chat Application for Dark Theme Enthusiasts

Next-Chat is an immersive real-time chat application designed for dark theme enthusiasts. It's built using Next.js and Tailwind CSS for the frontend, RedisDb for real-time messaging, Pusher.js for websocket communication, and NextAuth for authentication.

Index

Features

  • Real-time messaging with websocket technology.
  • Dark-themed interface for an immersive experience.
  • Secure authentication with NextAuth.
  • User presence indication (online/offline status).
  • Intuitive user interface for seamless communication.

Technologies Used

  • Next.js: Frontend framework for building user interfaces.
  • Tailwind CSS: Utility-first CSS framework for styling.
  • RedisDb: In-memory data structure store used for real-time messaging.
  • Pusher.js: Library for enabling real-time communication via websockets.
  • NextAuth: Authentication library for Next.js applications.

Screenshots

image image image image

Getting Started

Prerequisites

  • Node.js (at least version XX)
  • RedisDb server (for real-time messaging)

Installation

  1. Clone this repository:

    git clone https://github.com/rohit-sama/next-chat.git
    cd next-chat
  2. Install dependencies:

    npm install
  3. Set up environment variables: Create a .env.local file in the project root and add the following variables:

    UPSTASH_REDIS_REST_URL = ""
    UPSTASH_REDIS_REST_TOKEN = ""
    GOOGLE_CLIENT_ID = ""
    GOOGLE_CLIENT_SECRET = ""
    NEXTAUTH_SECRET = ""
    PUSHER_APP_ID = ""
    NEXT_PUBLIC_PUSHER_APP_KEY = "" 
    PUSHER_APP_SECRET = ""
  4. Run the application:

    npm run dev
  5. Access the app at http://localhost:3000.

Usage

  • Register and login to start chatting.
  • Dark theme enthusiasts will love the immersive experience.
  • Enjoy real-time messaging with your friends.

Contributors

License

This project is licensed under the MIT License.