0% found this document useful (0 votes)
11 views26 pages

Mern Chat

The document outlines the development of a MERN-based chat application named Banter Bridge, highlighting its key features such as real-time messaging, user authentication, and multiple chat rooms. It details the technologies used, including MongoDB, Express.js, React, Node.js, and Socket.IO, along with the architecture and folder structure for both the backend and frontend. Additionally, it discusses user experience design, security measures, performance optimization, testing, deployment, challenges faced, and contributions from team members.

Uploaded by

sakshi4818.be21
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views26 pages

Mern Chat

The document outlines the development of a MERN-based chat application named Banter Bridge, highlighting its key features such as real-time messaging, user authentication, and multiple chat rooms. It details the technologies used, including MongoDB, Express.js, React, Node.js, and Socket.IO, along with the architecture and folder structure for both the backend and frontend. Additionally, it discusses user experience design, security measures, performance optimization, testing, deployment, challenges faced, and contributions from team members.

Uploaded by

sakshi4818.be21
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 26

Banter Bridge

TEAM FOLKLORE - AMAN GUSAIN (2110994814),


SAKSHI TIWARI(2110994818),
SANIDHYA(2110994826), DEVANSHU
(2110994820), NIKHIL(2110994815)
KEY
FEATURES
•Real-time
messaging.
•User
authentication.
•Multiple chat
rooms.
•Message history.
•User presence
indication
TECHNOLOGIES USED:

• MongoDB: NoSQL database for storing chat data.


• Express.js: Server-side framework for handling HTTP
requests.
• React: Front-end library for building user interfaces.
• Node.js: JavaScript runtime for server-side
development.
• Socket.IO: Enables real-time, bidirectional, and
event-based communication.
ARCHITECTURE
CODE
STRUCTUR
E
We have separated folders for
Api and client. Api has a main
index.js file which has the
driving code. Then we have
our schema in models folder.
In client folder we have our
react app. In it, we have src
folder with main code. The
app is separated in different
components like App avatar
chat contact etc. Then in the
client folder we have other
important files for the
package management and
code execution (index.html).
User Interface:
Backend API (Located in the api folder):
1.Folder Structure:
•api folder contains the backend code.
•models folder inside api: Data structure plans for MongoDB.
2.Entry Point:
•The index.js file in the api folder serves as the main entry point for the
backend.
3.Driving Code:
•The index.js file likely handles server setup, defining API routes, and handling
requests.
4.Separation of Concerns:
•The separation of the models folder indicates a structured approach where
data models/schema
are kept separate from the core logic.
ontend Client (Inside the client folder):

•Folder Structure:
•client folder = user interface code.
•src folder inside client = main React code.
•Components:
•App, Avatar, Chat, Contact = different parts of the user interface.
•HTML Template:
•index.html in client = blueprint for the web page; React inserts our
app into it.
•Package Management:
•package.json in client = manages dependencies and scripts for the
project.
Collaboration between Backend and Frontend

•Communication:
• Frontend talks to the backend through HTTP requests to
specific routes.
•Execution:
• Backend and frontend can work alone, making it easy to
test and build in parts.
•Deployment:
• When we share our app with the world, the backend not
only serves the built frontend but also manages all the API
stuff. It's like teamwork—the frontend shows, and the
backend handles the talking.
Code:
DEMO
User experience design

 Simplified navigation for user convenience.


 Interactive chat bubbles with customizable
colours.
 Responsive design ensuring compatibility with
various devices.
Security Measures

 Uses bcrypt for secure password hashing,


ensuring confidentiality in case of a data
breach.
 Implements lockout policies and delays
against brute force attacks for enhanced
system security.
Performance Optimization

 Reduced server response time by optimizing Node.js backend.


 Efficient MongoDB queries for faster data retrieval.
 Minimized frontend load time with React's virtual DOM.
Testing and Quality Assurance

 Unit Testing: We checked each small part of the app separately to


make sure they work right.
 Integration Testing: We made sure that all these small parts work well
together.
 User Acceptance Testing (UAT): We tested the whole app to make sure
it does everything it’s supposed to do, just the way users would use it.
Deployment and Hosting

 Deployed using AWS Elastic Beanstalk for scalability.


 Continuous Integration/Continuous Deployment with
Jenkins.
 Utilized MongoDB Atlas for cloud-based data hosting.
Challenges and Solutions

 Addressed WebSocket disconnection issue with a


retry mechanism.
 Solved cross-browser compatibility issues using
Babel.
 Optimized real-time chat feature for low-latency
communication.
Plans to introduce video calling
feature.

 Implementing AI-based chat suggestions for enhanced user


experience.
 Exploring integration with social media platforms.
Case Studies or User Feedback

 Positive feedback from beta testers on chat interface


usability.
 Case study: Small business using the chat app for
customer service.
Members
Contribution
Aman Gusain

 Key Contributions: Developed robust backend logic ensuring efficient


data handling and processing.
 Implemented socket technology for real-time user interactions,
enhancing the chat experience.
 Impact: Significantly improved app's performance and user
engagement.
 Enabled live chat features with minimal latency.
Sanidhya

 Key Contributions: Led the deployment process, ensuring smooth and


scalable application hosting.
 Created compelling presentation materials that effectively
communicated the app's features.
 Impact: Facilitated a seamless launch and operational stability.
 Enhanced the project's visibility and appeal through engaging
presentations.
Sakshi

 Key Contributions: Assisted in both backend development and


deployment processes.
 Played a pivotal role in creating and refining the presentation.
 Impact: Contributed to a well-rounded and reliable application.
 Ensured the presentation was both informative and visually appealing.
Devanshu

 Key Contributions: Specialized in creating dynamic and responsive


React components.
 Tailored user interface elements to enhance user interaction and
experience.
 Impact: Improved the app's usability and aesthetic appeal.
 Enabled a more engaging and intuitive user interface.
Nikhil

 Key Contributions: Focused on seamlessly integrating backend services


with frontend designs.
 Ensured a cohesive and fluid user experience by bridging the gap
between server-side and client-side.
 Impact: Created a unified and efficient application workflow.
 Enhanced overall application performance and user satisfaction.
Conclusion and Summary

 Recap of MERN-based chat application's features.


 Emphasis on secure, scalable, and user-friendly design.
 Outlook towards continuous improvement and feature expansion.

You might also like