UtkarshAhuja2003 / chat

Web Chat App using Next, Node and Socket-io

Home Page:https://chat.ahujautkarsh.me

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Next Logo           Node Logo          Socket-io Logo

Chat-App

This is a chat app made using Nextjs,TypeScript, Node and Socket.io

Features

  • User can join Chat Room by entering their name
  • Multiple Users can join the chat room and start chatting
  • Sender's username and timestamp visible with every message

This project utilizes ESLint for code quality maintenance. Ensure coding standards by following the recommended formatting guidelines.

Installation

Clone the repository:

git clone https://github.com/UtkarshAhuja2003/chat.git

Navigate to the project folder:

cd chat

Backend

  1. Install dependencies in root folder
npm install
  1. Copy sample env to .env
cp .env.sample .env

Change URL and port if changed in frontend 3. Start the server

npm start
  1. Check lint errors
npm run lint

Frontend

  1. Navigate to client directory
cd client
  1. Install dependencies in client
npm install
  1. Copy sample env to .env
cp .env.sample .env
  1. Start the nextjs app in development
npm run dev
  1. Check lint errors
npm run lint

Now your Project is ready to run.

File Structure

.
├──src # backend 
    ├── controllers # route controller
    ├── routes # Custom routes
    ├── socket # Socket Initialisation
    ├── validators
    ├── utils # Misc tools and stuffs
    │   ├── APIError
    │   ├── Async Handler
    │   └── APIResponse
    ├── app.js
    ├── index.js # entry file 
    └── constant.js
└── client # frontend directory
    ├── src
    │   ├── api
    │   ├── app
    │   │    ├── chat #page
    │   │    └── login #page
    │   ├── components
    │   │     ├── Connection
    │   │     └── Message
    │   ├── context
    │   ├── interfaces
    │   └── utils # Misc tools and stuffs
    └── public

Screenshots

image image image image

Demo Video

chat-app.mp4

About

Web Chat App using Next, Node and Socket-io

https://chat.ahujautkarsh.me

License:MIT License


Languages

Language:TypeScript 61.2%Language:JavaScript 36.2%Language:CSS 2.6%