TRIBHUVAN UNIVERSITY
Faculty of Humanities and Social Science
Xavier International College
Project Proposal on:
"ShopIt"
Electronic Gadgets E-commerce Website
Submitted to
Department of Computer Applications
In partial fulfillment of the requirements for the Bachelors in
Computer Applications
Submitted by
Pratik Humagain Asha Mohan Tamang
BCA 4th Semester BCA 4th Semester
REG NO: 6-2-546-32-2021 REG NO: 9-2-224-4-2020
2080/12/02 2080/12/02
Under the supervision of Vijay Yadav
Tribhuvan University
Faculty of Humanities and Social Science
Xavier International College
Bouddha, Kathmandu
SUPERVISOR'S RECOMMENDATION
I recommend that the project entitled "ShopIt - Electronic Gadgets E-commerce
Website" prepared under my supervision by Mr. Asha Mohan Tamang and Mr. Pratik
Humagain, for partial fulfillment of the requirements for the degree of Bachelor of
Computer Application, be considered for final evaluation.
SIGNATURE
SUPERVISOR
BCA Department
Xavier International College
Bouddha, Kathmandu
Tribhuvan University
Faculty of Humanities and Social Science
Xavier International College
Bouddha, Kathmandu
LETTER OF APPROVAL
This is to certify that this project prepared by Asha Mohan Tamang and Pratik
Humagain entitled "ShopIt - Electronic Gadgets E-commerce Website" in partial
fulfillment of the requirements for the degree of Bachelor in Computer Application has
been evaluated. In our opinion it is satisfactory in the scope and quality as a project for
the required degree.
……………………………. ……..……………………..…….
Vijay Yadav Ghanshyam Khanal
Supervisor HOD
Bachelor in Computer Application Bachelor in Computer Application
Xavier International College Xavier International College
Boudha, Kathmandu Boudha, Kathmandu
……………………………. ……..……………………..…….
Internal Examiner External Examiner
ABSTRACT
In the contemporary digital landscape, e-commerce has become an integral part of
everyday life, revolutionizing the way we shop and conduct business. ShopIT emerges
as a sophisticated solution aimed at enhancing the online shopping experience. With a
focus on user-friendly interface design and seamless navigation, ShopIT offers a
comprehensive platform for consumers to explore, compare, and purchase products
conveniently from the comfort of their homes.
Furthermore, ShopIT prioritizes security and reliability, implementing robust encryption
protocols and secure payment gateways to safeguard user information and transactions.
With a commitment to continual improvement, ShopIT continually refines its
algorithms and functionalities to adapt to evolving consumer trends and preferences,
ensuring a dynamic and responsive shopping ecosystem.
In summary, ShopIT represents a paradigm shift in the e-commerce landscape, offering
a dynamic and feature-rich platform that redefines the online shopping experience. With
its innovative blend of technology and user-centric design, ShopIT sets a new standard
for convenience, personalization, and security in the world of online retail.
ACKNOWLEDGEMENT
We take this opportunity to express our deepest and sincere gratitude to our project
supervisor Vijay Yadav for his insightful advice, motivating suggestions, invaluable
guidance, help, and support in this project, and also for his constant encouragement and
advice throughout our Bachelor's program.
We express our deep gratitude to the Supervisor of Bachelor in Computer Application
4th semester, his indispensable guidance and support to harness our skills. The in-time
facilities provided by the department throughout the Bachelor's program are also
equally acknowledgeable.
We would like to convey our thanks to the teaching and non-teaching staff of the
Department of Bachelor in Computer Application BCA for their valuable help and
support throughout the period of our Bachelor’s Degree. We are also grateful to all our
classmates for their help, encouragement, and invaluable suggestions.
Finally, yet more importantly, we would like to express our deep appreciation to our
family members for their perpetual support and encouragement throughout the
Bachelor’s degree period.
Thank You,
Pratik Humagain
Asha Mohan Tamang
LIST OF ABBREVIATIONS
AI: Artificial Intelligence
CASE: Computer-Aided Software Engineering
CRUD: Create, Update, Read and Delete
IDE: Integrated Development Environment
KMP: Knuth-Morris-Pratt
PMT: Partial Match Table
UI: User Interface
LIST OF FIGURES
Figure 3.1.1: Use Case Diagram for ShopIt…………………………………………….7
Figure 3.1.3: ER Diagram of ShopIt…………………………………………………….9
Figure 3.1.4(i): Context Diagram (Level 0 DFD) of 3-in-1 game app_____________10
Figure 3.1.4(ii): Level 1 Data Flow Diagram of 3-in-1 game app________________10
Figure 3.2.1: Client-Server Architectural Design for 3-in-1 game app_____________11
Figure 3.2.2: Database Schema Design for 3-in-1 Word game app_______________12
Figure 3.2.3 (i): Home page of 3-in-1 Word game app_________________________13
Figure 3.2.3 (ii): UI Design of Hangman Page_______________________________14
Figure 3.2.3 (ii): UI Design of Wordle Game________________________________15
Figure 3.2.3 (iii): UI Design of 15-Tile Shifter Game__________________________16
LIST OF TABLES
Figure 3.1.1: Use Case Diagram for ShopIt…………………………………………….7
Figure 3.1.3: ER Diagram of ShopIt…………………………………………………….9
Figure 3.1.4(i): Context Diagram (Level 0 DFD) of 3-in-1 game app_____________10
Figure 3.1.4(ii): Level 1 Data Flow Diagram of 3-in-1 game app________________10
Figure 3.2.1: Client-Server Architectural Design for 3-in-1 game app_____________11
Figure 3.2.2: Database Schema Design for 3-in-1 Word game app_______________12
Figure 3.2.3 (i): Home page of 3-in-1 Word game app_________________________13
Figure 3.2.3 (ii): UI Design of Hangman Page_______________________________14
Figure 3.2.3 (ii): UI Design of Wordle Game________________________________15
Figure 3.2.3 (iii): UI Design of 15-Tile Shifter Game 16
Table of Contents
Supervisor's Recommendation…………………………………………..i
Letter of Approval………………………………………………………..ii
Abstract………………………………………………………………….iii
Acknowledgement………………………………………………………..iv
List of Abbreviations…………………………………………………….v
List of Figures…………………………………………………………….vi
List of Tables…………………………………………………………….vii
Chapter 1: Introduction………………………………………………….1
1.1 Background……………………………………………………………………….1
1.2 Problem Definition……………………………………………………………….1
1.3 Objectives…………………………………………………………………………1
1.4 Scope and Application……………………………………………………………1
1.5 Development Methodology………………………………………………………1
1.6 Report Organization……………………………………………………………..1
Chapter 2: Literature Review……………………………………………1
Chapter 3: System Analysis………………………………………………1
3.1 Requirement Identification……………………………………………………...1
3.1.1 Functional Requirements…………………………………………………….1
3.1.2 Non-Functional Requirements………………………………………………1
3.2 Feasibility Study………………………………………………………………….1
3.2.1 Functional Requirements…………………………………………………….1
3.3 Use Case Diagram………………………………………………………………...1
3.4 Structure System Requirement………………………………………………….1
3.4.1 Data Flow Diagram…………………………………………………………..1
3.4.1.1 Level 1 DFD……………………………………………………………...1
3.4.1.2 Level 2 DFD……………………………………………………………...1
3.4.2 ER Diagram…………………………………………………………………..1
3.5 System Design……………………………………………………………….……1
3.5.1 Architectural Design…………………………………………………………1
3.5.2 Database Schema Design…………………………………………………….1
3.5.3 Interface Design………………………………………………………………1
Chapter 4: Implementation and Testing...………………………………1
4.1 Implementing Tools…………..………………………………………………….1
4.2 Implementation Details of Modules……………………………………………..1
4.3 System Testing...………………………………………………………………….1
Chapter 5: Conclusion……………………………………………………1
Chapter 1: Introduction
1.1 Background
In today's global landscape, electronic commerce (E-commerce) has transcended
geographical boundaries, empowering enterprises and governments to leverage its
potential, even in regions with limited infrastructure and technological access. Despite
encountering numerous barriers such as economic, sociopolitical, and cognitive factors,
linguistic diversity, infrastructure limitations, and E-business costs, dynamic entities
have embraced E-commerce as a transformative force.
E-commerce, encompassing the buying and selling of goods and services, as well as the
exchange of funds or data over electronic networks, predominantly the internet, has
become ubiquitous in modern society. Often used interchangeably with the term "e-
business," E-commerce offers unprecedented opportunities for sellers to directly engage
with end-users, transcending traditional market boundaries.
The primary objective of this project is to empower sellers to maximize profitability
through direct communication with end-users. Our platform facilitates sellers in
showcasing their products and enables buyers to make direct purchases, fostering a
transparent and efficient marketplace. Additionally, buyers receive personalized
recommendations and product listings tailored to their interests, enhancing their
shopping experience.
Our platform offers a convenient marketplace for electronic gadget enthusiasts,
enabling them to shop from the comfort of home, leveraging the widespread use of
smartphones and internet connectivity. By eliminating traditional retail barriers, we
empower both sellers and buyers in this sector.
In summary, our project signifies a significant advancement in E-commerce,
particularly within the electronic gadgets domain. Through technology-driven direct
communication, we enhance transparency, efficiency, and accessibility, empowering
sellers, improving buyer experiences, and fostering industry growth.
1.2 Problem Definition
In the realm of electronic gadget commerce, sellers often face challenges in reaching
potential customers and lack access to market insights regarding pricing trends.
Similarly, customers encounter limitations in accessing a wide array of products, often
restricted to a limited selection available in their local markets. Sellers must navigate
intermediaries, such as agents or dealers, to distribute their products, leading to opacity
in the transaction process. Agents typically deduct commissions from the final sale
proceeds, further reducing the profitability for sellers. This lack of transparency leaves
sellers unaware of the final sale details and the actual amount earned from their
products.
Moreover, sellers lack visibility into market rates across different regions, hindering
their ability to maximize profits. As a result, their products may remain undiscovered by
potential buyers in alternative markets. These challenges underscore the need for a
system that empowers both sellers and end-users in the electronic gadget industry,
providing transparent transactions and market insights.
1.3 Objectives
The general objective of the project is to develop a website to recommend customers
about electronic gadgets.
The specific objectives of the project are:
1. To create a user-friendly e-commerce platform, ShopIt, specifically tailored to the
needs of the university community, offering a comprehensive selection of electronic
products.
2. To integrate a secure and seamless payment system into ShopIt, ensuring convenient
and reliable transactions for users.
3. To foster engagement by providing a central hub for electronic shopping, where
users can share experiences, recommendations.
4. To evaluate the effectiveness and impact of ShopIt through user feedback,
engagement metrics, and financial sustainability, with the goal of continuously
improving and optimizing the platform to better serve the customers.
1.4 Scope and Limitation
Scope:
The scope of ShopIt focuses on the electronic gadget e-commerce market in Nepal. The
platform aims to leverage the growing penetration of smartphones, computers, and
affordable internet access to meet the rising demand for online shopping. ShopIt will
provide a comprehensive marketplace for buying and selling electronic gadgets,
featuring:
i. Product recommendations.
ii. Price comparison tools.
iii. Seller feedback mechanisms.
Limitations:
i. Technology Dependency: Relies heavily on internet accessibility and
technological infrastructure.
ii. Competition: Faces competition from established e-commerce platforms.
iii. User Adoption: Success depends on user adoption and trust in online shopping
within the target market.
1.5 Development Methodology
In the development of Shop It, we will adopt the waterfall model, a sequential approach
to software development characterized by distinct phases, each building upon the
previous one. This methodology aligns well with our project's goals, providing a
structured framework for designing, implementing, and deploying the e-commerce
platform. The waterfall model consists of several key phases, including requirements
gathering, design, implementation, testing, deployment, and maintenance.
Diagram 1: Waterfall Model
Requirements Analysis:
i. Defined project scope, objectives, and requirements.
ii. Conducted thorough analysis to understand user needs.
Design:
i. Designed the architecture, user interface, and database schema based on gathered
requirements.
ii. Created comprehensive design documents, including system architecture
diagrams and UI wireframes.
Implementation:
i. Phase 1: Set up the development environment and infrastructure.
ii. Phase 2: Implemented backend functionality using Node.js and MongoDB.
Testing:
i. Unit testing to ensure individual components function correctly.
ii. Integration testing to verify interactions between components.
Deployment:
i. Deployed the fully developed and tested system to the production environment.
ii. Conducted final testing and user training before system release.
1.5 Report Organization
The following block diagram presents the chapters included in the report present. It
shows the total overview and the organization flow of the report.
CHAPTER 1 consists of background portion along with objectives and problem
definition with scope and application of project. CHAPTER 2 contains the literature
review of the project. CHAPTER 3 contains the requirement analysis and feasibility
study with structure system requirement and all the necessary diagrams. CHAPTER 4
contains system design with architecture design, database design, activity design with
all necessary diagram. CHAPTER 5 consists of Implementation and testing with
development methodology, Functional block diagram, Algorithm and testing process
implemented throughout the development along with details about the system testing.
CHAPTER 6 presents the conclusion of the project with future enhancements possible
for the future of the project.
Diagram 1: Organization of Report
Chapter 2: Literature Review
While extensive research exists on e-commerce, particularly in developed economies,
there is a dearth of literature focusing on developing economies like Nepal in the
context of electronic gadget commerce. However, insights from existing studies provide
valuable perspectives on consumer behavior, market dynamics, and technological
challenges.
In studies conducted in urban areas, such as Mumbai, researchers like Singh (2012)
have highlighted consumer willingness to embrace online shopping for groceries, citing
convenience and time-saving benefits as key drivers. These findings underscore the
potential for e-commerce platforms to cater to diverse consumer needs and preferences.
In the context of developing countries, scholars such as Kshetri (2007) have identified
economic, sociopolitical, and cognitive factors as barriers to e-commerce adoption.
Strategies employed by companies like Thamel.com to overcome these challenges, such
as offering delivery services and digital confirmation, exemplify innovative approaches
to address consumer concerns in emerging markets.
In Nepal, the increasing internet penetration rate and the emergence of e-commerce
platforms like ShopIt highlight the growing significance of online commerce in the
electronic gadget sector. As electronic gadgets become essential in daily life,
understanding consumer preferences and addressing technological barriers is crucial for
the success of e-commerce platforms.
Overall, while the literature on electronic gadget commerce in developing economies is
limited, insights from existing studies provide valuable perspectives on the challenges
and opportunities in this sector. By addressing barriers and leveraging innovative
strategies, platforms like ShopIt can play a pivotal role in transforming the e-commerce
landscape, driving economic growth, and enhancing consumer experiences in Nepal.
Chapter 3: System Analysis
System analysis is a process of examining, understanding, and evaluating complex
systems to ensure they meet the needs and requirements of users and organizations. It
involves gathering data, interpreting information, and identifying issues or opportunities
for improvement within a system.
System analysis typically includes the following key steps:
3.1 Requirement Identification
3.1.1 Functional Requirements
i. User Registration and Authentication:
Enable users to register and login securely.
Implement password reset and account recovery mechanisms.
ii. Search and Filtering Functionality:
Provide users with search capabilities using keywords and filters.
Include filtering options such as price range, brand, and specifications.
iii. Product Detail Pages:
Display comprehensive product information including specifications,
images, pricing, and reviews.
Enable users to add products to their shopping cart directly from the product
page.
iv. Shopping Cart and Checkout Process:
Allow users to manage their shopping cart by adding or removing items.
Ensure a streamlined and secure checkout process with options for guest
checkout and multiple payment methods.
v. Payment Integration:
Integrate with payment gateways like PayPal, Stripe, etc., to facilitate secure
online transactions.
Ensure compliance with industry standards for payment processing security.
3.1.2 Non-Functional Requirements
i. Performance:
Response time: Ensure that the website loads quickly and responds to user
interactions within a reasonable timeframe.
Scalability: The website should be able to handle increasing traffic and
transaction volumes without degradation in performance.
ii. Security:
Data encryption: Encrypt sensitive user data, such as payment information,
to protect it from unauthorized access.
Secure connections: Implement HTTPS to encrypt data transmitted between
the user's browser and the server.
iii. Reliability:
Minimize system failures and errors to maintain user trust and confidence in
the website.
Implement backup and recovery mechanisms to ensure data integrity and
availability in the event of a system failure.
3.2 Feasibility Study
3.2.1 Functional Requirements
i. Market Analysis:
Conduct market research to understand the demand for electronic items
online.
Analyze competitors to identify strengths, weaknesses, opportunities, and
threats.
Evaluate market trends, consumer behavior, and purchasing patterns in the
electronics industry.
ii. Technical Feasibility:
Assess the technical requirements for developing and maintaining the e-
commerce website.
Determine the availability and suitability of technology platforms,
development tools, and hosting infrastructure.
iii. Risk Analysis:
Identify potential risks and challenges that may impact the success of the
project, such as technical issues, market competition, economic factors, and
legal risks.
Develop risk mitigation strategies to address identified risks and minimize
their impact on the project.
3.3 Use Case Diagram
A use case diagram is a visual representation in the Unified Modeling Language that
depicts the interactions between users and a system, showcasing how users interact with
the system to achieve specific goals or tasks.
Diagram 2: Case Diagram for ShopIt
3.4 Structure System Requirement
3.4.1 Data Flow Diagram
A data flow diagram (DFD) is a graphical representation that illustrates the flow of data
within a system. It consists of processes, data stores, data flows, and external entities,
which depict how data moves through the system. DFDs are commonly used in system
analysis and design to visualize the interactions between different components of a
system and understand the data processing logic.
3.4.1.1 Level 0 DFD
A Level 0 Data Flow Diagram (DFD), also known as a Context Diagram, is a high-level
graphical representation of a system that illustrates the system’s boundary, external
entities that interact with it, and the major information flows between these entities and
the system. The purpose of a Level 0 DFD is to provide a simplified overview of the
system’s functionality and its interaction with the outside world, serving as a
foundational tool for understanding and analyzing the system's scope.
Diagram 3: Level 0 DFD
3.4.1.2 Level 1 DFD
A Level 1 Data Flow Diagram (DFD) provides a more detailed view of the system
compared to the Level 0 DFD. It decomposes the high-level processes shown in the
Level 0 DFD into sub-processes, showing more detailed data flows between these sub-
processes, external entities, and the data stores. The Level 1 DFD helps to further
clarify how the system functions internally, providing a deeper understanding of the
processes and their interactions.
Diagram 4: Level 1 DFD
3.4.2 ER Diagram
An entity-relationship (ER) model describes interrelated things of interest in a specific
domain of knowledge. It is composed of entity types and specific relationships that can
exist between entities.
Diagram 5: Entity Relationship
3.5 System Design
3.5.1 Architectural Design
For "ShopIt" we're using a client-server architecture:
i. Client Side:
Built with React.js for the frontend.
Handles user interface and interactions.
ii. Server Side:
Developed using Node.js for the backend.
Manages client requests, business logic, and database interaction.
iii. Database:
MongoDB stores product and user data.
Figure: Client-Server Architecture Design
3.5.2 Database Schema Design
Database schema design refers to the process of organizing and structuring the data in a
database system. It involves defining the structure of the database, including tables,
fields, relationships, constraints, and indexes.
Collections:
i. Users:
_id: ObjectId
username: String
email: String
password: String (hashed)
role: String (e.g., "customer" or "admin")
createdAt: Date
updatedAt: Date
ii. Products:
_id: ObjectId
name: String
description: String
price: Number
category: String
image: String (URL)
createdAt: Date
updatedAt: Date
iii. Orders:
_id: ObjectId
user_id: ObjectId (references Users collection)
products: Array of Objects
product_id: ObjectId (references Products collection)
quantity: Number
totalAmount: Number
status: String (e.g., "pending", "shipped", "delivered")
createdAt: Date
updatedAt: Date
iv. Relationships:
Each user can have multiple orders (one-to-many relationship between Users
and Orders).
Each order can contain multiple products (one-to-many relationship between
Orders and Products).
3.5.3 Interface Design
Interface design for "ShopIt" refers to the process of creating a visually appealing, user-
friendly, and intuitive interface for the e-commerce platform. It involves designing the
layout, navigation, and visual elements of the website or application to facilitate
seamless interaction between users and the platform's features.
Chapter 3: Implementation and Testing
4.1 Implementing Tools
Following are the tools and framework used for the development process of this project:
CASE tools
i. Visual Studio Code
Visual Studio Code is the IDE used for this project. Because of its built-in Git
support, debugging features and integrated command terminal, it is a good choice to
use as the text editor for this project.
ii. GitHub
GitHub, a collaborative version control platform, to effectively manage and
synchronize the project's source code, was utilized. GitHub allowed us to track
changes, coordinate work, and maintain a structured and organized codebase
throughout the project's development.
Frameworks
i. React js (Frontend)
ii. Node js (Backend)
Database
i. MongoDB
Documentation Tools
i. Microsoft Office Word Version 2016
ii. Adobe Photoshop Version CS6
iii. Adobe Illustrator Version CS6
4.2 Implementation Details of Modules
i. Product Management Module:
The Product Management Module handles the management of products available on
"ShopIt". It includes functionalities for adding new products, updating existing product
details, deleting products, and managing product categories. This module ensures the
smooth operation of the product catalog and inventory management.
ii. Shopping Cart Module:
The Shopping Cart Module facilitates the management of user shopping carts on
"ShopIt". It allows users to add products to their carts, update quantities, remove items,
and proceed to checkout. This module ensures a seamless shopping experience for users
by providing efficient cart management functionalities.
iii. Order Management Module:
The Order Management Module handles the processing and management of orders
placed by users on "ShopIt". It includes functionalities for viewing order history,
tracking order status, and managing order details. This module ensures timely order
processing and delivery, enhancing customer satisfaction.
iv. Payment Integration Module:
The Payment Integration Module integrates payment gateways to enable secure and
convenient payment processing on "ShopIt". It supports various payment method with
with intregation of Stripe. This module ensures smooth and reliable payment
transactions for users during checkout.
4.3 System Testing
i. Functional Testing:
Test all user-facing functionalities such as product browsing, searching, adding
items to cart, placing orders and user authentication.