Skip to content

akashdeep023/Chat_App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Chat Application MERN-Stack Web Application.

Visitor count


Macbook-Air-Iphone-13


Project Overview

Chat Application 😊 using MERN Stack with Tailwind CSS

Technologies & Packages Used

  • MongoDB: NoSQL database for flexible and scalable data storage.
  • Express.js: Web application framework for Node.js, providing robust features for web and mobile applications.
  • Node.js: JavaScript runtime for server-side development.
  • React.js: A JavaScript library for building reusable UI components and efficient single-page application views.
  • Tailwind CSS: A utility-first CSS framework for rapid UI development.
  • Socket.IO: Enables real-time, bidirectional and event-based communication.
  • JWT (JSON Web Tokens): Securely transmits information between parties as a JSON object.
  • Redux: A Predictable State Container for JavaScript Apps.
  • React-Toastify: A JavaScript library for providing toast notifications in React.

Key Features

  • User Authentication: SignIn, SignUp, and Logout functionality.
  • Real-time Chat: Users can send and receive messages in real-time.
  • Group Chat: Create and participate in group chats.
  • Message Notifications: Get notified of new messages with sound and visual alerts.
  • State Management: Manage application state efficiently using Redux.
  • Responsive Design: Tailwind CSS for a responsive and modern user interface.

How to Install

Follow these steps to set up and run the project locally:

  1. Clone the Repository:

    git clone https://github.com/akashdeep023/Chat_App.git
    cd Chat_App
  2. Install Dependencies: Frontend Folder :

    cd frontend
    npm install

    Backend Folder :

    cd backend
    npm install
  3. Set Up Environment Variables:

    Configure the following environment variables by creating a .env file in the root of Forntend and Backend Folder:

    Frontend Folder :

    VITE_BACKEND_URL=http://localhost:9000

    Backend Folder :

    FRONTEND_URL=http://localhost:5173
    MONGODB_URI=mongodb://127.0.0.1:27017/chat-app
    PORT=9000
    JWT_SECRET=secret-kvndkvdlkajkhkJkBiu6JJNjkbhkvnskcmhLJ5dKbkjsamnv

    Replace the values with your specific configurations.

  4. Run the Application:

    Frontend Folder :

    npm run dev

    Backend Folder :

    npm run dev
  5. Open in Your Browser:

Open http://localhost:5173 in your web browser.

Project Structure

β”œβ”€β”€ frontend
β”‚   β”œβ”€β”€ public
β”‚   β”œβ”€β”€ src
β”‚   β”‚   β”œβ”€β”€ assets
β”‚   β”‚   β”œβ”€β”€ components
β”‚   β”‚   β”œβ”€β”€ pages
β”‚   β”‚   β”œβ”€β”€ redux
β”‚   β”‚   β”œβ”€β”€ socket
β”‚   β”‚   β”œβ”€β”€ utils
β”‚   β”‚   β”œβ”€β”€ App.jsx
β”‚   β”‚   β”œβ”€β”€ main.jsx
β”‚   β”‚   └── index.css
β”‚   β”œβ”€β”€ index.html
β”‚   β”œβ”€β”€ tailwind.config.js
β”‚   β”œβ”€β”€ .env
β”‚   └── package.json
β”œβ”€β”€ backend
β”‚   β”œβ”€β”€ config
β”‚   β”œβ”€β”€ controllers
β”‚   β”œβ”€β”€ middlewares
β”‚   β”œβ”€β”€ models
β”‚   β”œβ”€β”€ routes
β”‚   β”œβ”€β”€ server.js
β”‚   β”œβ”€β”€ .env
β”‚   └── package.json
└── README.md

Author

Akash Deep
Email: [email protected]
LinkedIn : https://www.linkedin.com/in/akashdeep023/

Images

Profile Macbook-Air-localhost

Group Create Macbook-Air-localhost (5)

Chat & Group Overview Macbook-Air-localhost (2)

Chat & Group Members Macbook-Air-localhost (3)

Chat & Group Setting Macbook-Air-localhost (4)

Add User in Group (Admin Access) Macbook-Air-localhost (1)

Remove User in Group (Admin Access) Macbook-Air-localhost (6)

User Search & Chat Macbook-Air-localhost (7)

Notification Box Macbook-Air-localhost (8)

Notification Alert Screenshot 2024-07-22 231334

Shimmer image

Footer Screenshot 2024-07-22 154954

Thank You

Thank you for exploring Chat App! Your feedback is valuable. If you have any suggestions or thoughts, feel free to share them with us. 😊