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.
- 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)
- 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.
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.
- Node.js v14 or later
- npm or yarn
- MongoDB (local or Atlas)
git clone https://github.com/AHMED1CB/Linko.git
cd Linkocd server
npm install# Frontend
cd ../client
npm installcd server
npm startcd ../client
npm run dev