Skip to content
/ Linko Public

Linko is a RealTime Chat Application Built with React Js , NodeJs and MongoDB

License

Notifications You must be signed in to change notification settings

ahmed1cb/Linko

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linko

Linko is a real-time chat application built with React.js, Node.js, and MongoDB.
It enables users to send and receive messages instantly, supports user authentication, and stores chat history persistently.


Table of Contents

  1. Features
  2. Tech Stack
  3. Architecture
  4. Getting Started
  5. Environment Variables
  6. Usage
  7. Project Structure

Features

  • Real-time messaging between users
  • User registration and login (authentication)
  • Persistent storage of messages
  • Online/offline status indicator
  • Basic UI for chat interface (rooms or direct messages)

Tech Stack

  • Frontend: React.js, (optionally Redux or Context)
  • Backend: Node.js (Express)
  • Database: MongoDB
  • WebSocket / real-time: Socket.io (or similar)
  • Others: bcrypt (for password hashing), JWT (for authentication), etc.

Architecture

The application follows a client–server architecture:

  • The client connects to the server via HTTP for REST APIs (signup, login, fetching history) and via WebSocket for real-time messaging.
  • The server handles authentication, message persistence in the DB, and broadcasts real-time events to clients.
  • MongoDB stores users, chat rooms (or conversations), and message documents.

Getting Started

Prerequisites

  • Node.js v14 or later
  • npm or yarn
  • MongoDB (local or Atlas)

Installation

git clone https://github.com/AHMED1CB/Linko.git
cd Linko

Backend

cd server
npm install
# Frontend
cd ../client
npm install

Start backend

cd server
npm start

Start frontend

cd ../client
npm run dev

About

Linko is a RealTime Chat Application Built with React Js , NodeJs and MongoDB

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages