Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/akshat120/real-time-chat-app
real-time-chat-app
https://github.com/akshat120/real-time-chat-app
ejs express jwt-authentication mongodb-atlas nodejs socket-io
Last synced: about 2 months ago
JSON representation
real-time-chat-app
- Host: GitHub
- URL: https://github.com/akshat120/real-time-chat-app
- Owner: Akshat120
- Created: 2024-01-29T13:32:35.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-02-18T13:23:36.000Z (11 months ago)
- Last Synced: 2024-02-18T23:32:01.869Z (11 months ago)
- Topics: ejs, express, jwt-authentication, mongodb-atlas, nodejs, socket-io
- Language: JavaScript
- Homepage: https://real-time-chat-app-onmq.onrender.com
- Size: 114 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Real-Time-Chat-App
## Tech Involved
- Backend NodeJS
- Express - Handle Rest-APIs calls
- Socket.io - Provide Real-Time Chat service
- JWT - Maintain secure user-connection
- Frontend ejs
- Embedded JS - Provide dynamic rendering
- Database
- MongoDB - Store data
## System Design### Data Modeling
![data_model drawio (1)](https://github.com/Akshat120/Real-Time-Chat-App/assets/53970116/d62e3508-b7f1-4a7f-bf36-065bd7df3601)### Rest API Architecture
![route drawio](https://github.com/Akshat120/Real-Time-Chat-App/assets/53970116/ee8db331-4d40-4aaa-8a68-e0704b1bb9f0)### Socket.io Workfow
![socket_io drawio (1)](https://github.com/Akshat120/Real-Time-Chat-App/assets/53970116/98ee596e-c9ae-469b-a781-fe7c19845c6f)## QnA
Q. Why this problem can't be able to solved without special library effectively like socket.io ?
A. yes, it can be solved using classical core properties but that will be very complex to implement it from ground.
Q. What's the main challenges to this problem ?
A. We need to notify `receiver` and display the message. This event is not predictable that when to refresh the `receiver` chat page.