Chat Web Application
Name - Prince Kumar
Roll No - 40
Batch - Bsc-it , (452)
Project Introduction and Objectives
This project aims to develop a real-time chat web application using (Html, CSS,
Javascript, React.js and Node.js, Express.js, MongoDb). The application will provide
users with a seamless and interactive platform to communicate with each other
through text messaging.
System Requirement
Specification (SRS)
Functional Requirements
User registration and login, real-time text messaging,
group chat, file sharing, user presence indication,
message notifications.
Non-Functional Requirements
Performance, security, scalability, usability, reliability.
Process Logic & Workflow
1. User Login/Registration
The user can either register a new account or log in with an existing one.
2. Server Connection
Once logged in, the user connects to the server via Socket.IO for real-time communication.
3. Chat Selection
The user selects a contact or group to chat with.
4. Message Sending
Messages are sent to the server.
5. Data Storage
The database stores message history and user data for persistent access.
Project Timeline: Gantt Chart (3 Months)
Week 1-4 1
Project planning, setup development
environment.
2 Week 5-8
Front-end development (html, css,
javascript, react.js).
Week 9-12 3
Back-end development (Node.js, Express,
MongoDb).
Data Dictionary
Collection Field Type Description
Users userId String Unique identifier for
the user.
username String User's display name.
password String Hashed password for
authentication.
email String User's email address.
Messages messageId String Unique identifier for
the message.
senderId String ID of the user who
sent the message.
content String Message text or URL
to shared content.
timestamp Date Date and time when
the message was
sent.
Data Flow Diagram (DFD)
Level 0 DFD: Context Diagram
1 Shows the system and external entities (User, Database).
Level 1 DFD
2 High-level processes (User Authentication, Message
Handling, Data Storage).
Level 2 DFD
3 Detailed process breakdowns for each level 1
process.
Entity-
Relationship (ER)
Diagram
Entities
Users, Messages, Chats/Groups.
Relationships
A User can send multiple Messages, a
Message is sent by one User, a User can
belong to multiple Chats/Groups, a
Chat/Group can have multiple Users, a
Chat/Group can contain multiple
Messages.
User Interface (UI)
Login Screen Chat Interface Profile Page
Username/password fields, List of contacts/groups, message User information, settings,
registration link. display area, input field, send profile picture upload.
button.
Future Scope
Future scope includes video and voice
calling, end-to-end encryption, integration
with other platforms, AI-powered features,
and mobile app development.
Reference or Bibliography
* Official documentation for MongoDB, Express.js,React.js,
and Node.js.
* Socket.IO documentation.