Name:- Rajodiya Deep C.
Rajpara Divyesh S.
       Sabhadiya Ruchit P.
Stream:- TY.BCA SEM-6
Project Name:- E- Commerce electronics devices shop
                                                      1|Page
                           PROJECT PROFILE
Project Name:- E- Commerce electronics devices shop
Type of Application:- Desktop Based Application
Project Description:- This project provide only electronics items and related to its like
mobiles, laptop and their accessories.
Team Members:- 3 Members
Front End:- ReactJs, HTML, TailwindCSS
Back End:- NodeJs, ExpressJs
Database:- MongoDB
Other Tools:- Mongoose, JWT(JSONWebToken), bcypt
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
User use case diagram:-
                                     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
_id              ObjectId         Primary Key      Unique User Id
Name             String           Required         Username
Email            String           Required         Users Email
Password         String           Required         Users Password
cartData         Object           Optional         User’s Cart
usedCoupon       Boolean          Auto             Coupon Code
Admin:-
        Table:
        Field             Type       Constraints       Description
_id              Objectid         Primary Key      Unique Admin Id
Admin Name       String           Required         Admin Username
Email            String           Required         Admin Email
Password         String           Required         Admin Password
                                                              13 | P a g e
Login Details:-
     Table Name: User Login
      Field           Type       Constraints       Description
_id            ObjectId       Primary Key      Unique User Id
User name      String         Required         User name
Email          String         Required         User email
Password       String         Required         User password
User registration details:-
     Table Name:- User Registration
      Field           Type       Constraints       Description
_id            ObjectId       Primary Key      Unique User ID
Username       String         Required         Username
Email          String         Required         User’s Email
Password       String         Required         User’s Password
Phone Number   String         Required         Phone number
User Update Details:-
     Table Name:- Username Update
      Field           Type       Constraints       Description
_id            ObjectId       Primary Key      Unique User ID
Username       String         Required         Username
Password       String         Required         User’s password
                                                         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
     Table Name:- Password update
       Field            Type      Constraints       Description
_id            ObjectId        Primary Key      Unique User ID
New Password   String          Required         User’s new
                                                password
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