Final Project Report
Final Project Report
Rajpara Divyesh S.
Sabhadiya Ruchit P.
Stream:- TY.BCA SEM-6
Project Name:- E- Commerce electronics devices shop
1|Page
PROJECT PROFILE
Front End:- For the front end we use React.js and HTML and TailwindCSS using this we
make a dynamic website and very user friendly and responsive for mobiles and tablet.
Back End:- We make all project in the MERN (MongoDb, ExpressJs, Reactjs, ExpressJs)
Stack so we use Express and node js and also we use the jwt for the user security and the
authentication and bcrypt for the password security.
2|Page
REQUIREMENT GATHERING
1. Project Overview:-
Project name:- E- Commerce electronics devices shop
Description:- The E-commerce Website for Electronics is an online platform
designed to provide users with a seamless shopping experience for purchasing
electronic gadgets, including smartphones, laptops, and accessories.
2. Functional Requirements:-
Client-Side:-
• User registration and authentication.
• Search and filtering options.
• Shopping cart and checkout process.
• Payment gateway integration.
• Order tracking and history.
Server-Side:-
• Product listing and categorization.
• See all users data and update.
• Show all listed product details and delete them.
• Show all order data.
• Check the orders and their details.
3. Technical Requirements:-
▪ Front-End:- React.js, HTML, TailwindCSS
▪ Back-End:- Node.js, Express.js
▪ Database:- MongoDB(with Mongoose)
▪ Authentication:- JWT and auth and bcrypt
4. Non-Functional Requirements:-
• Performance:-
o User can see their all orders and use the order tracking.
o User can search products and add filters in the all products.
o They can use multiple payment gateway, such as COD(cash on
delivery), razorpay, stripe.
• Security:-
o For the users security we can use JWT and auth.
o For the password we use the bcrypt to store password in the
encrypted.
3|Page
• Usability:-
o Our website is the very user friendly.
o They can use dark and light mode.
o User can find their products using the search and add filters
into this products.
5. Stakeholder:-
• In this website we have only two types of stack holders is user and
admin.
• User can see all the products and order and see the all orders.
• Admin can see all users data and orders and add the products and
remove the products.
6. Security Risks:
• Risk:
1. Data breaches due to weak authentication or vulnerabilities.
2. Unauthorized access to user data (personal info, payment
details, resumes).
• Mitigation Strategies:
1. Implement JWT-based authentication with proper token
expiration.
2. Use bcrypt for password hashing.
3. Apply input validation and sanitization to prevent injection
attacks.
➢ System Module:
o Sign-up:- User can register into the system.
o Login:- User can login and see their information.
o Collection:- User can check all the products.
o Cart:- Cart help to see the user’s cart.
o Place-order:- This can use to place order.
o User-information:- Using this user can see their information and update all
type of their information.
o Order-details:- User can see their placed order and this history.
o Cancel-order:- User can cancel their order.
o Pay-later:- User can pay after they place order into the order-details page and
pay online using payment gateway(RazorPay, Stripe).
o Log-out:- Using this user can logout from the website.
4|Page
Use Case Diagrams
5|Page
Admin use case Diagram:-
6|Page
Activity diagram
User Side:-
7|Page
Admin Side:-
8|Page
User information update:-
9|Page
Payment methods diagram:-
10 | P a g e
Class Diagram:-
User -side diagram:-
11 | P a g e
Admin Side Diagram:-
12 | P a g e
Data Dictionary
User:-
Table:
Field Type Constraints Description
Admin:-
Table:
Field Type Constraints Description
13 | P a g e
Login Details:-
Table Name: User Login
Field Type Constraints Description
14 | P a g e
Table Name:- Email update
Field Type Constraints Description
_id ObjectId Primary Key Unique User ID
Email String Required User’s Email
Password String Required User’s password
Product Details:-
Table Name:- Product details
Field Type Constraints Description
_id ObjectId Primary Key Unique User ID
name String Required Product name
description String Required Product description
Price String Required Product Price
Image Array Required Product images
Category String Required Product category
Stock Number Required Product stock
bestseller Boolean Required Product is bestseller
subcategory String Required Sub Category
15 | P a g e
Order Collection:-
Table Name:- Order data
Field Type Constraints Description
_id ObjectId Primary Key Unique User ID
userId String Required User’s id
Items Array Required Cart Items
Amount String Required Cart Amount
Address Object Required User’s Address
Order Status String Required Order status
Payment Method String Required Order payment
Payment Status Boolean Required Order payment
Date Date(now) Required Order date
16 | P a g e