Smart Chat app
Smart Chat app
Submitted By
DHARMENDRA CHAKRAWARTI
Enroll No: 0205CS201035
DHRUV SONI
Enroll No: 0205CS201036
HIMANSHU GUPTA
Enroll No: 0205CS201049
HARIOM TIWARI
Enroll No: 0205CS201043
DHARMENDRA CHAKRAWARTI
(Roll no-0205CS201035)
DHRUV SONI(Roll no-0205CS201036)
HIMANSHU GUPTA (Roll no-0205CS201049)
HARIOM TIWARI (Roll no-0205CS201043)
students of 8 th semester, Computer Sc. & Engg. S.R.I.T., Jabalpur have duly completed
their final year project entitled “Smart ChatApp” for the partial fulfillment of the
requirement for the degree of Bachelor of Technology as per R.G.P.V., Bhopal.
They have successfully implemented and tested this project, which meets all the
requirements specified under my guidance.
i
PREFACE
ii
ACKNOWLEDGEMENT
I would like to express my deep sense of gratitude and sincere thanks to my guide Mr. Brajesh
Patel, Department of Computer Science & Engineering at SRIT, Jabalpur for his valuable and ever
willing precious guidance, technical support and constant encouragement during the course of this
project work. It was pleasure and unique experience for me to work under their guidance.
I am grateful to Mr. Brajesh Patel, Head of Department of Computer Science &
Engineering and other staff members of Computer Science and Engineering Department
for providing the necessary facilities for the successful completion of this work.
iv
DECLARATION
We hereby declare that the work on “SMART CHAT APP” is solely an effort raised by
us, and all the external libraries that are used in the project had permission to be freely
used and modified in any form. No copyright or rules violation has been done in bringing
out the project to the face of users.
Further proper credits to any external sources of help, have been included in the
Acknowledgement.
v
List of Figures
3.DFD Fig-3 11
List of Tables
V
INDEX
Sr. No. Topics Page No.
Certificate i
Preface ii
Acknowledgement iii
Declaration iv
List of Figure v
1 Introduction 2
2 Analysis 3
2.1 Objective of project 3
2.2 Requirement Gathering 4
2.3 Hardware Requirement 4
2.4 Software Requirement 4
2.5 Feasibility Study 4
2.6 Software Model 5
2.7 SDLC 5
2.8 Cost Estimation 6
3 Design 7
3.1 Input Requirement 7
3.2 Design of data Base 7
4 Technologies and Tool Used 8
5 Swot Analysis 9
6 Coding 10-11
7 Conclusion 12
8 Reference 13
1
1. INTRODUCTION
Today Developers around the world are making efforts to enhance user
experience of using application as well as to enhance the developer’s workflow
of designing applications to deliver projects and rollout change requests under
strict timeline. Stacks can be used to build web applications in the shortest span
of time. The stacks used in web development are basically the response of
software engineers to current demands. They have essentially adopted pre-
existing frameworks (including JavaScript) to make their lives easier. It’s 2023
it’s the age of new technologies so its our duty to update ourselves using new
technologies like(mern stack,mean stack,firebase,reactjs,tailwind css,bootstrap)
2
2. ANALYSIS
Messaging has become a part of our everyday lives in part due to its
convenience for realtime chat communication and simple-to-use functionality
3
2.2 Requirement Gathering
• Large amount of certificate data to test the tool and for certification generation .
4
2.5 Feasibility Study
5
2.6 SOFTWARE MODEL
In an Agile model for chat app:
1. Team Collaboration:
Form a diverse team, including blockchain experts and stakeholders, to
collaborate closely on the project.
2. Short Iterations:
Break the project into short, manageable periods (sprints) to focus on specific
goals.
3. Flexibility:
Adapt to changes and evolving requirements during the development process.
4. Continuous Feedback:
Gather regular feedback from stakeholders to refine and improve the system.
5. Incremental Development:
Build the project in small increments, allowing for continuous delivery and
testing.
6. User Involvement:
Involve end-users throughout the development process to ensure the system
meets their needs.
6
2.7 Software Development Life Cycle
SDLC is a process followed for a software project, within a software
organization. It consists of a detailed plan describing how to develop,
maintain, replace and alter or enhance specific software. The life cycle
defines a methodology for improving the quality of software and the
overall developmentprocess.
FIG – 2 - SDLC
7
2.8 COST ESTIMATION
Total Rs.8500
8
3. Design
3.1 Input Requirement
1. User Information:
The chat app requires capturing and managing user information for registration
and authentication.
Input Fields:
Username
Password
Email
Registration Date
2. Chat Room Details:
Users should be able to create, join, and leave chat rooms.
Input Fields:
Room Name
Creation Date
Creator ID (Linked to User Information)
3. Message Content:
Messages exchanged within chat rooms need to be stored.
Input Fields:
Sender ID (Linked to User Information)
Room ID (Linked to Chat Room Details)
Content (Text or Media)
Timestamp
Attachment (if applicable)
4. Authentication and Security:
Secure storage of user passwords using hashing and salting techniques.
Input Requirements:
Password (To be stored securely)
Hashing Algorithm
5. User Authentication and Authorization:
Implement mechanisms for user registration, login, and logout.
Define user roles and permissions for access control.
Input Requirements:
Authentication Tokens
User Roles (e.g., Admin, Regular User)
3.2 . Design of DataBase
1. Normalization:
Normalize the database to reduce redundancy and improve data integrity.
User details stored in the User table to avoid duplication.
2. Relationships:
9
Define relationships between tables to establish connections between users, chat
rooms, and messages.
Use foreign keys to enforce referential integrity.
3. Indexes:
Create indexes on frequently queried fields for optimal query performance.
Consider indexing fields like RoomID and Timestamp for faster data retrieval.
4. Attachments:
If attachments are supported, consider a separate table or field to store file
references.
Implement a mechanism to handle and store attachments securely.
5. Scalability:
Design the database with scalability in mind to accommodate potential future
growth in users and data volume.
Consider partitioning large tables or implementing sharding strategies.
6. Consistency and Atomicity:
Ensure atomic transactions for data consistency.
Implement proper error handling mechanisms to maintain data integrity.
7. Optimized Queries:
Optimize database queries to ensure efficient retrieval of chat messages for
users and within chat rooms.
Consider the use of caching mechanisms for frequently accessed data.
8. Security Measures:
Implement encryption for sensitive data transmission.
Regularly audit and update security measures to address potential
vulnerabilities.
10
Basic Block Diagram:
11
Deployment View:
12
4 . Technologies and Tools Used
➢ Frontend
• React.js
• Tailwind CSS
• Material UI
➢ Backend
• Node.js (NPM)
• MongoDB
• EVM
➢ Database
• MongoDB
➢ Programming Language
• Javascript
13
5 SWOT ANALYSIS
1. Strengths:
The AI Resume Analyzer can quickly and accurately analyze large volumes of
resumes, saving time for recruiters and HR professionals.
Scalability:
The system is designed to handle a growing number of users and resumes, making
it scalable for businesses of various sizes
2. Weaknesses:
The accuracy of the analysis depends on the quality and consistency of the input
data, which may vary.
3. Threats:
Privacy Concerns:
Stringent data protection regulations and privacy concerns may pose a threat,
requiring robust security measures.
Competition:
Increased competition in the AI-based recruitment space may challenge the
system's market position.
14
6. Coding
React Code :
import {
BrowserRouter,
Route,
Routes,
} from "react-router-dom";
import { useContext } from "react";
import { AuthContext } from "./Context/AuthContext";
function App() {
15
7.Result
Screenshots:
Basics UI:
16
17
7. Conclusion
18
8. Reference
https://github.com/DharmendraChakrawarti
19