Skip to content

A full stack chat application that allows users to communicate with each other in real-time

Notifications You must be signed in to change notification settings

ArpanSurin/FullStack-Chat-Application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fullstack Chat Application

Overview

This is a fullstack real-time chat application that allows users to communicate instantly. It includes user authentication, real-time messaging, theme customization, and profile management. The application is built using modern web technologies and provides a seamless user experience.

Features

  • User Authentication : Login/Signup functionality with secure authentication.
  • Real-Time Chat : Instant messaging between users using Socket.io.
  • Theme Customization : Users can switch between different themes for a personalized experience.
  • Profile Management : Users can upload and update their profile pictures.
  • Responsive UI : Designed with React and Tailwind CSS for a smooth and modern interface.

Tech Stack

Frontend

  • React.js - For building the user interface.
  • Tailwind CSS - For responsive and customizable styling.

Backend

  • Node.js - JavaScript runtime for server-side development.
  • Express.js - Lightweight and fast backend framework.
  • MongoDB - NoSQL database for storing user data and messages.

Real-Time Communication

  • Socket.io - Enables real-time bi-directional communication between users.

Installation & Setup

Prerequisites

Make sure you have the following installed:

  • Node.js (Latest version)
  • MongoDB (Local or cloud instance)
  • npm or yarn

Steps to run the Application

Backend setup

  1. Clone the repository:
git clone https://github.com/your-repo/chat-app.git
cd chat-app/backend
  1. Install dependencies:
npm install
  1. Start the backend server:
npm start

Frontend Setup

  1. Navigate to the frontend directory:
cd ../frontend
  1. Install dependencies:
npm install
  1. Start the frontend server:
npm start

Usage

  • Sign up or log in to your account.
  • Select a user from the available chat list.
  • Start real-time messaging with instant updates.
  • Change themes from the settings panel.
  • Update your profile image from the profile page.

Future Enhancements

  • Functionality to update profile.
  • Editing and deleting messages.
  • Being able to upload documents and videos as currently only images can be sent.
  • A search bar to search for users.
  • Using Amazon S3 instead of Cloudinary to support sending large files.

Contributions

Contributions are welcome! Feel free to fork this repository and submit a pull request.

License

This project is licensed under the MIT License.

About

A full stack chat application that allows users to communicate with each other in real-time

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages