0% found this document useful (0 votes)
10 views48 pages

Project

Uploaded by

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

Project

Uploaded by

abed.hamdeh0061
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

The Hashemite University, Zarqa, Jordan

Faculty of Prince Al-Hussein Bin Abdallah II for Information Technology


Computer Science and Applications Department

CODESTATION
A project submitted
in partial fulfillment of the requirements for the
[Link]. Degree in Computer Science and Applications

By
Abdelwahab Ayoub abuhamdeh (2241086)
Fathi Ghazi Ghanem (2230103)
Anas Ahmed Abu Saaleek (2036054)
Ahmad Mohammad Issa Sabri Alshareef (2230097)

Supervised by
[Link] mahmoud hamed hamadneh
​ ​
Committee Member Names
[Link] Abdel Rahman Mohammad Bsoul
[Link] Eddien Awad Abdallah Attar

MAY 2024

1
CERTIFICATE

It is hereby certified that the project titled < CODESTATION >, submitted by

undersigned, in partial fulfillment of the award of the degree of “Bachelor in

Computer Science and Applications” embodies original work done by them under my

supervision.

All the analysis, design and system development have been accomplished by

the undersigned. Moreover, this project has not been submitted to any other college

or university.

2
ABSTRACT

This project aims to develop an online platform for buying and selling digital

products, focusing on creating a seamless experience for users. It includes features

such as user authentication, comprehensive product catalog management, secure

payment processing, order tracking, and effective dispute resolution mechanisms.

The platform emphasizes user convenience, security, and accessibility, aiming to

bridge the gap between buyers and sellers in the digital marketplace. Multiple

payment methods are integrated to cater to diverse user preferences, enhancing the

overall usability and accessibility of the platform. The platform's user-friendly

interface and real-time updates ensure a smooth transaction process, enhancing

trust and satisfaction among users. Through iterative testing and user feedback, the

platform continually improves to meet the evolving needs of digital commerce,

offering a reliable and efficient solution for buyers and sellers alike.

3
TABLE OF CONTENTS

CERTIFICATE....................................................................................................... 2

ABSTRACT.......................................................................................................... 3

TABLE OF CONTENTS......................................................................................... 4

LIST OF FIGURES................................................................................................ 6

LIST OF TABLES................................................................................................... 7

Chapter 1:​ Introduction.................................................................................. 8

1.1​ Overview.............................................................................................. 8

1.2​ Project Motivation............................................................................... 8

1.3​ Problem Statement.............................................................................. 9

1.4​ Project Aim and Objectives.................................................................. 9

1.5​ Project Limitations............................................................................. 10

1.6​ Project Expected Output.................................................................... 11

1.7​ Project Schedule................................................................................ 12

1.8​ Report Organization........................................................................... 13

Chapter 2:​ Literature Review........................................................................ 14

2.1​ Introduction.......................................................................................14

2.2​ Existing Systems.................................................................................14

2.3​ Overall Problems of Existing Systems.................................................16

2.4​ Overall Solution Approach................................................................. 16

Chapter 3:​ Requirement Engineering and Analysis....................................... 17

3.1​ Stakeholders.......................................................................................17

3.2​ Use Case Diagram.............................................................................. 18

3.3 Functional User Requirements...........................................................24

3.4 ​ Non-Functional User Requirements................................................... 25

Chapter 4:​ Architecture and Design.............................................................. 28

4
4.1​ Software (System) Architecture......................................................... 28

4.2​ Software Design................................................................................. 29

Chapter 5:​ Implementation Plan................................................................... 34

5.1​ Description of Implementation.......................................................... 34

5.2​ Programming language and Technology............................................ 34

5.3​ Part Of Implementation If Possible....................................................39

Chapter 6:​ Testing Plan................................................................................. 41

6.1​ Black-box............................................................................................41

6.2​ White-box.......................................................................................... 42

6.3​ Testing Automation............................................................................ 43

Chapter 7:​ Conclusion and Results................................................................ 44

7.1​ Conclusion and Results...................................................................... 44

7.2​ Future Work....................................................................................... 45

References....................................................................................................... 46

5
LIST OF FIGURES

FIGURE [2.1] : G2A Picture


………..……………………………………..………………………………14

FIGURE [2.2] : Z2U Picture


………..…………………………………….……………………………….15

FIGURE [2.3] : Eneba Picture


………..…………………………………….……………………………15

FIGURE [3.1]: Use Case


Diagram…………………………………………………………………..…18

FIGURE [4.2]: Logical View


Diagram.…………………………………….…………………………28

FIGURE [4.3]: User Registration Sequence


Diagram..………………………….…………..29

FIGURE [4.4]: Customer Service Sequence


Diagram.…………………………………..….29

FIGURE [4.5]: Buying Sequence


Diagram……………………………..…………………………30

FIGURE [4.6] : Manage Seller Admin Panel Sequence


Diagram……………………..….30

FIGURE [4.7]: JWT Sequence


Diagram…………………………………………………………….31

FIGURE [4.8] : Class


Diagram…………..:……………………….…………………………………….32

FIGURE [4.9] : Database Logical View


Diagram………..………………………………………33

6
FIGURE [5.1] : User Cart
Functions…………………..………..…………………………………… 39

FIGURE [5.2] : Security Configuration


File…………………..…………………………………… 39

FIGURE [5.3] : Item Controller


File……………………………..…………………………………… 40

FIGURE [5.4] : The Email Verification


Code………………..…………………………………… 40

FIGURE [6.1] : Account


Activation.……………………………..…………………………………… 42

7
LIST OF TABLES

Table [1.1]: Project


Schedule…………………………………………………………………………….
12

Table [3.2]: Login Basic


Flow…………………………………………….………………………………19

Table [3.3]: Feedback and Reviews Basic


Flow………………………………………………..19

Table [3.4]: Register Basic


Flow……………………………………………………………………….19

Table [3.5]: Customer Support Basic


flow…………………………………………………………20

Table [3.6]: Adding to Cart Basic


Flow……………………………………………………………..20

Table [3.7]: Payment Basic


Flow……………………………………………………………….…….20

Table [3.8]: Checkout Process Basic

Flow…………………………………………………..……21

Table [3.9]: Order Tracking Basic


Flow…………………….……………………………….……..21

Table [3.10]: Login as a Seller Basic


Flow………………………………………………….…….21

Table [3.11]: Login View Payments Received Basic


Flow…………………….…………..22

Table [3.12]: Manage Via Admin Panel Basic


Flow…………………………….…………...22

8
Table [3.13]: Customer Support Team Basic
Flow…………….…………..…………………22

Table [3.14]: Support Team Report Basic

Flow.………………….………………..………….23

Table [3.15]: Admin Report Basic

Flow.…………………….……………………………….…….23

9
CHAPTER 1:​ INTRODUCTION

Each chapter should begin with an introduction that tells what will be covered
in the chapter. Add it directly below the chapter heading, and it should tell the
chapter’s importance to the overall report.​

1.1 ​Overview

Our project introduces an innovative online platform akin to G2A, connecting


sellers and buyers in the digital marketplace. The platform centers around digital
products, particularly digital codes. Key features include robust user authentication,
efficient product catalog management, secure payment gateways, order tracking,
and effective dispute resolution mechanisms. Prioritizing user experience, we
emphasize convenience, security, and accessibility. Multiple payment methods cater
to diverse preferences, enhancing overall usability. With a user-friendly interface and
real-time updates, transactions are streamlined, fostering trust and satisfaction.
Continuous refinement through iterative testing and user feedback ensures a reliable
and efficient digital commerce solution

1.2 ​Project Motivation

We have chosen this project after extensive engagement with the local digital
market and years of experience in this field. We found that there is no place for
sellers or clients to turn to except social media platforms, which is not practical at all.
We want our platform to be the go-to destination for everyone in the interested
category in this field, whether they are sellers or clients.

The importance of the project is divided into three parts:

1.​ A section serving the customer by providing them with a secure place to
purchase digital products easily and access all available offers for these
products, enabling them to compare between sellers conveniently and in one
place.
2.​ A section serving the seller by providing them with a platform to showcase
their products and make the promotion process extremely easy. Additionally, it
offers an easy-to-use dashboard where they can track all profits and financial
matters.
3.​ A section serving both the customer and the seller, with the most important
aspect being the provision of multiple payment services. Sellers no longer
10
need to worry about payment methods, and financial security is ensured
because we act as the intermediary between the seller and the buyer. Funds
will only be transferred to the seller once the customer confirms receipt of the
product and all matters are in order.

The local digital products market is experiencing significant growth, and it is


crucial that we bring together all stakeholders in this market in one secure place so
that everyone can benefit maximally from this market.

1.3 ​Problem Statement

The absence of a reliable platform for customers to purchase any digital item,
apart from social media, can lead to potential fraud from users with fake accounts on
those platforms. Additionally, customers may struggle to compare product prices
because they cannot easily find all sellers in one place. Sellers, on the other hand, are
limited to creating pages to display their goods, which may not be very practical, and
managing various payment methods can be challenging as their funds are scattered
across multiple sources.

The proposed application aims to address these challenges by facilitating the


buying process for both buyers and sellers.

1.4 ​Project Aim and Objectives

The primary goal of this project is to develop an innovative online platform,

named CODESTATION, focused on facilitating the buying and selling of digital

products. The platform aims to provide a seamless and secure experience for users,

bridging the gap between buyers and sellers in the digital marketplace

●​ User Convenience: Design and implement a user-friendly interface for easy

navigation and accessibility, ensuring a positive user experience.

●​ Comprehensive Product Catalog Management: Develop a robust system for

managing product listings, including detailed descriptions, images, and pricing

information.

11
●​ Secure Payment Processing: Integrate multiple payment methods to cater to

diverse user preferences, ensuring secure and efficient payment processing.

●​ Order Tracking: Implement a feature for users to track their orders in

real-time, providing transparency and reliability.

●​ Effective Dispute Resolution: Establish mechanisms for resolving disputes

between buyers and sellers, promoting trust and confidence in the platform.

●​ Continuous Improvement: Conduct iterative testing and gather user feedback

to continually enhance and optimize the platform for evolving user needs.

●​ Marketplace Integrity: Ensure platform integrity by enforcing policies,

verifying sellers, and maintaining a trustworthy digital marketplace

environment.

1.5 ​Project Limitations

1.​ Geographical Limitations: Sellers must be from Jordan.


2.​ Electronic payment: gateways must comply with the requirements of
banks and financial institutions in Jordan

Different payment options should be provided to suit customers in


Jordan, such as cash on delivery, bank transfer, and the use of local
credit cards.

Additionally, other payment options should be provided such as


e-wallets and the Cliq .

3.​ The product is available for sale only in digital format, without any

physical or tangible copies.

4.​ Functional and Non-functional Requirements: Meeting specific user


experience standards or functional performance requirements may
pose limitations in terms of time and resources available for
development.

12
5.​ Seller Verification: Without a track record or established reputation
system, verifying the legitimacy of sellers becomes challenging. Users
may be wary of purchasing digital products, such as codes, from
unknown or unverified sellers.

6.​ Transaction Security: Users might be concerned about the security of


their transactions, including issues like fraudulent transactions,
unauthorized access to their payment information, or the risk of
receiving invalid or counterfeit digital codes.

7.​ Buyer Protection Policies: In the absence of clear buyer protection


policies, users may hesitate to make purchases on the platform,
fearing the lack of recourse in case of disputes, such as receiving
incorrect or non-functional digital codes.

1.6 ​Project Expected Output

1.​ Intuitive and responsive UI design: Designing a visually appealing interface


that is easy to navigate and accessible across various devices, ensuring a
positive user experience.

2.​ Efficient product management system: Implementing a backend system to


add, update, categorize, and manage digital products effectively, ensuring the
catalog is organized and up-to-date.

3.​ User-friendly account management: Allowing users to easily register, log in,
and manage their profiles, providing a seamless experience for repeat
purchases and order tracking.

4.​ Seamless shopping cart and checkout process: Creating a smooth process for
users to add products to their cart, review their order, and complete the
purchase securely, minimizing friction and abandoned carts.

5.​ Integration with secure payment gateways: Incorporating trusted payment


gateways to handle transactions securely, instilling confidence in customers
during the checkout process and Integration with Local Payment Gateways

13
Identify and partner with local payment gateway providers that support Cliq
and Wallets integration.

6.​ Streamlined order management: Developing backend tools to manage orders


efficiently, including processing, tracking, and generating invoices, to
streamline operations and fulfill customer orders promptly.

7.​ SEO optimization and marketing tools: Optimizing the platform for search
engines and integrating marketing tools like social media sharing and email
campaigns to attract and retain customers.

8.​ Analytics and reporting capabilities: Integrating analytics tools to track site
performance, user behavior, and sales data, providing insights to improve
marketing strategies and optimize the user experience.

9.​ Responsive customer support: Offering multiple channels for customer


support, such as help desk systems and live chat, to address inquiries and
resolve issues promptly, enhancing customer satisfaction.

10.​ Scalability and ongoing maintenance: Building the platform with scalability
in mind to accommodate growth in traffic and product offerings, while also
ensuring regular maintenance and updates to keep the site secure and
functional over time.

1.7 ​Project Schedule

Chapter Start Date Finish Date

Introduction 10/3/2024 15/3/2024

Literature Review 20/3/2024 25/3/2024

Requirement Engineering 5/4/2024 15/4/2024


and Analysis

Architecture and Design 20/4/2024 25/4/2024

Implementation Plan 30/4/2024 15/5/2024

Conclusion and Results 16/5/2024 18/5/2024


Table [1.1]: Project Schedule

14
1.8 ​Report Organization

The rest of the report is organized as follows:

●​ Chapter 2 Literature Review.

●​ Chapter 3 Requirement Analysis.

●​ Chapter 4 Architecture and Design.

●​ Chapter 5 presents the IMPLEMENTATION PLAN.

●​ Chapter 6 presents the TESTING PLAN.

●​ Chapter 7 represents the CONCLUSION AND RESULTS.

15
CHAPTER 2:​ LITERATURE REVIEW

2.1 ​Introduction

In this chapter, we will talk about some applications and projects that are like
our project. What are the features that distinguish our project from another
project? What are the problems that they faced and what are our solutions to
these problems?

2.2 ​Existing Systems

1. [Link][1]: G2A is a website that functions as an online marketplace for

digital goods, with a focus on video games. They offer products from a large pool of

sellers, allowing for potentially discounted prices.

Figure [2.1]: G2A website pictures.

16
2. Z2U [2] : Z2U is a digital marketplace catering to gamers, offering a platform to

buy, sell, and trade virtual assets across a wide range of online games. It provides a

secure environment for transactions, with features like verification and escrow

systems, making it convenient for users to access virtual goods and services while

ensuring safety and reliability.

Figure [2.2]: Z2U website pictures.

[Link] [3]: Eneba entices budget-minded gamers with deep discounts on

digital games, gift cards, and even in-game currency. Their "always-on-sale"

approach, including flash sales and social media giveaways, can be attractive.

However, some user reviews whisper doubts about legitimacy. Before diving in, do

your digital due diligence: research Eneba's reputation, compare prices elsewhere,

and prioritize secure payment methods.

Figure [2.2]: Z2U website pictures.


17
2.3: Overall Problems of Existing Systems

1. Customer Support: Many users have voiced dissatisfaction with the


customer support services provided by these websites. They often encounter slow
response times, unhelpful assistance, and significant challenges in resolving disputes
or addressing issues related to transactions.

2. Payment Methods: Another notable drawback of these websites is the


absence of support for local payment methods such as Cliq or wallets like Zain Cash
and Orange Money. Additionally, the lack of cash on delivery services limits payment
options for users, potentially inconveniencing those who prefer or rely on these
methods.

3. Trust and Legal Challenges: Trust issues with dealers are prevalent across
these platforms, exacerbated by their multinational nature. This complicates legal
proceedings and enforcement, as jurisdictional boundaries and varying legal
frameworks make it challenging to prosecute dealers involved in illicit activities.

2.3 ​Overall Solution Approach

1. Customer Support: To address customer support issues, these websites


could invest in improving response times, training support staff to provide more
helpful assistance, and implementing efficient dispute resolution mechanisms to
ensure that user concerns are addressed promptly and satisfactorily.

2. Payment Methods: Solving the payment method dilemma involves


integrating support for local payment options like Cliq and Wallet, as well as
introducing cash on delivery services to cater to users who prefer these methods.
This would enhance convenience and accessibility for a broader range of users.

3. Trust and Legal Challenges: Overcoming trust and legal challenges requires
implementing stringent verification processes for dealers, enhancing transparency in
dealer transactions, and collaborating with legal authorities across jurisdictions to
develop strategies for prosecuting dealers engaged in illicit activities. Establishing
clear guidelines and enforcing compliance measures can help build trust and mitigate
legal risks for all parties involved.

18
CHAPTER 3:​ REQUIREMENT ENGINEERING ANALYSIS

Requirement analysis stands as the foundational pillar in project development. It


serves as the compass, guiding project direction by identifying, understanding, and
documenting needs, constraints, and objectives. This chapter delves into the
intricacies of requirement analysis, exploring methods to elicit, document, validate,
and manage requirements. From stakeholder engagement to refining and validating
needs, this chapter illuminates the crucial steps in ensuring project success through
comprehensive requirement analysis.

3.1 ​Stakeholders

• Buyers: Expect a user-friendly interface for easy navigation and access to a

wide range of gaming products. They seek accurate information on product

availability, pricing, and seller reputation to make informed purchasing decisions.

• Sellers: Require a platform that facilitates easy listing of products,

transparent transaction processes, and effective communication with buyers. They

rely on features such as seller ratings and feedback to establish credibility and attract

customers.

• Administrators:Responsible for overseeing the platform's operations,

administrators require tools and resources to maintain the integrity of the

marketplace. They monitor user activity, enforce platform policies, and address

technical issues to ensure smooth functioning and compliance with legal

requirements.

• Customer Service Representatives:

They play a crucial role in addressing user inquiries, resolving disputes, and

providing assistance with platform-related issues. They need comprehensive

19
information and efficient communication channels to deliver timely and satisfactory

support.

3.2 ​Use Case Diagram

FIGURE [3.1]: Use Case Diagram

20
Use case Login

Actor Buyer

Basic flow ●​ Enter email and password

●​ Authenticate Credentials
●​ redirect to store page

Table [3.2]: Login Basic flow.

Use case Feedback and reviews

Actor Buyer

●​ Enter Feedback
Basic flow
●​ Submit Feedback
●​ Receive Confirmation

Table [3.3]: Feedback and reviews Basic flow.

Use case Register

Actor Buyer

●​ Enter Registration Details


Basic flow
●​ Validate Information
●​ Create Account
●​ Receive Confirmation

Table [3.4]: Register Basic flow.

21
Use case Customer support

Actor Buyer

●​ Initiate Contact
Basic flow
●​ Describe Issue
●​ Receive Assistance

Table [3.5]: Customer Support Basic flow.

Use case Adding to Cart

Actor Buyer

●​ Select Product
Basic flow
●​ Specify Quantity
●​ Add to Cart

Table [3.6]: Adding to Cart Basic flow.

Use case Payment

Actor Buyer

●​ Select Payment Method


Basic flow
●​ Enter Payment Details
●​ Confirm Payment
●​ Receive Payment Confirmation
●​ redirect to customer support (if
applicable)

Table [3.7]: Payment Basic flow.

22
Use case Checkout Process

Actor Buyer

●​ Review Cart Items


Basic flow
●​ Select Shipping Method
●​ Enter Shipping Information
●​ Review Order Summary
●​ Proceed to Payment

Table [3.8]: Checkout Process Basic flow.

Use case Order Tracking

Actor Buyer

●​ Access Order Tracking Page


Basic flow
●​ Select The Order
●​ View Order Status

Table [3.9]: Order Tracking Basic flow.

Use case Login as a seller

Actor Seller

●​ Enter Email and Password


Basic flow
●​ Authenticate Credentials
●​ Redirect to Dashboard

Table [3.10]: login as a seller Basic flow.

23
Use case View Payments Received

Actor Seller

●​ Access Payment History


Basic flow
●​ View Received Payments

Table [3.11]: login View Payments Received Basic flow.

Use case Mange via admin panel

Actor Seller

●​ View Product List


Basic flow
●​ Add New Product
●​ Edit Existing Product
●​ Delete Product
●​ view status
●​ view reviews and rating

Table [3.12]: Manage via admin panel Basic flow.

Use case Customer Support

Actor Customer service team

●​ Receive Customer Inquiry


Basic flow
●​ Assign Ticket to Agent
●​ Investigate Issue
●​ Provide Solution
●​ Close Ticket

Table [3.13]: Customer Support Team Basic flow.

24
Use case Report

Actor Customer service team

●​ the issue is reported to the


Basic flow
customer service
●​ If the issue cannot be resolved
by Customer Service, a report is
prepared.
●​ The report is sent to the
Admins for further action.

Table [3.14]: support team Report Basic flow.

Use case Report

Actor Admin

●​ Admins receive the report


Basic flow
from Customer Service.

●​ Admins analyze the reported


issue.
●​ Admins make decision
●​ Admins may provide feedback
or updates to Customer Service
on the resolution progress.

Table [3.15]: Admin Report Basic flow.

25
3.3 Functional User Requirements

●​ User Registration and Profile Management :

- Users should be able to easily register for an account on the


platform.

​ - They should have the ability to manage their profiles, including


personal information, payment methods, and preferences.

●​ Browsing and Search Functionality :

​ - Users should be able to browse through a wide range of gaming


products and categories.

​ - They should have the ability to search for specific games or products
using filters and keywords.

●​ Product Listings and Descriptions :

​ - Sellers should be able to list their products for sale, including


detailed descriptions, images, and pricing.

​ - Users should be able to view comprehensive product information,


including key features, system requirements, and seller ratings.

●​ Purchase and Payment Processing :

​ - Users should be able to easily add items to their cart and proceed to
checkout.

​ - The platform should support various payment methods, including


credit/debit cards, PayPal, and other local payment options.

​ - Payment processing should be secure and efficient, ensuring the


confidentiality of user data.

26
●​ Order Management and Tracking :

- Users should have access to order history and tracking information for
their purchases.

- They should receive notifications and updates regarding the status of their
orders, including payment confirmation, shipment, and delivery.

●​ Seller Communication and Feedback:

​ - Users should be able to communicate with sellers regarding product


inquiries, support issues, or other concerns.

​ - The platform should facilitate feedback and rating mechanisms to


allow users to provide reviews and ratings for sellers and products.

●​ Customer Support and Dispute Resolution:

- Users should have access to responsive customer support channels,


including live chat, email support, and a knowledge base.

- The platform should provide mechanisms for resolving disputes


between buyers and sellers, such as mediation services or escalation
procedures

3.4 Non-Functional User Requirements:

●​ Performance:

- The platform should have fast loading times and responsive navigation to
provide a seamless browsing experience for buyers.

- Sellers should experience minimal latency when listing products or


communicating with buyers to ensure efficient operations.

27
●​ Reliability:

- The platform should be available and accessible to users consistently, with


minimal downtime and disruptions.

- Orders and transactions should be processed reliably, with minimal errors


or system failures.

●​ Security:

- User data should be securely stored and protected against unauthorized


access, ensuring confidentiality and privacy.

- The platform should implement robust measures to prevent fraudulent


activities, such as unauthorized transactions or counterfeit product listings.

●​ Usability:

- The platform should be accessible to users of all levels of technical


proficiency, with clear instructions and intuitive design elements.

- Sellers should find it easy to navigate the seller dashboard and manage
their listings effectively.

- Customer service representatives should have user-friendly tools and


interfaces to assist users efficiently.

●​ Scalability:

- The platform should be scalable to accommodate growing user traffic and


increasing numbers of products and transactions over time.

- It should be able to handle peak loads during high-demand periods, such


as sales events or new game releases, without performance degradation.

28
●​ Accessibility:

- The platform should be accessible to users with disabilities, complying


with accessibility standards and providing alternative navigation options, if needed.

- Content should be presented in a clear and understandable manner, with


options for font resizing and color contrast adjustments.

●​ Compliance:

- The platform should comply with relevant laws and regulations governing
e-commerce and digital goods trading, ensuring legal and ethical operations.

- It should adhere to industry standards and best practices for data


protection, privacy, and cybersecurity.

29
CHAPTER 4:​ ARCHITECTURE AND DESIGN

In the realm of software development, Architecture and Design serve as the

foundational framework and intricate blueprint for crafting functional, scalable, and

effective systems. Architecture lays out the structural blueprint and organizational

framework of the system, while Design delves into the specifics of how individual

components are implemented. These elements work in tandem to guarantee that

software solutions align with user requirements, technological constraints, and

scalability prerequisites. Through an iterative process of conceptualization,

fine-tuning, and execution, collaboration is encouraged, problem-solving is

facilitated, and the system's efficiency and adaptability are continually enhanced

over time.

4.1 ​Software (System) Architecture

4.1.1 ​ Logical view

FIGURE [4.2]: Logical view Diagram.

30
4.2 ​Software design

4.2.1 ​ UML sequence/communication diagram

FIGURE [4.3]: User Registration Sequence Diagram.

FIGURE [4.4]:Customer service Sequence Diagram.

31
FIGURE [4.5 ]: buying Sequence Diagram.

FIGURE [4.6] : Manage seller admin panel Sequence Diagram.

32
FIGURE [4.7]: JWT Diagram.

This diagram illustrates the process of handling HTTP requests with JWT
authentication in a web application.

1. Request Handling:The client sends a request (GET, POST, PATCH, DELETE).

2. Filter Chain: The request passes through a series of filters, including the
JwtAuthenticationFilter

3. Token Validation:

- JwtAuthenticationFilter checks if a token exists.

- JwtService validates the token.

- If the token is invalid, a TokenInvalidException` is thrown.

- If valid, UserDetailsService retrieves user details using the token's information.

- If the user is not found, a UserNotFoundException` is thrown.

4. Authentication: Valid token and user details are stored in the


SecurityContextHolder.

5. DispatcherServlet: Processes the request based on the authenticated user and


routes it to the appropriate controller.

[Link]: The controller sends a response back to the client.

33
4.2.2 ​ Class diagram

FIGURE [4.8] : Class Diagram:

34
4.2.3 ​ Database Logical View Diagram:

FIGURE [4.9] : Database Logical View Diagram:

35
CHAPTER 5:​ IMPLEMENTATION PLAN

5.1 ​Description of Implementation

This subsection of the Project Implementation Plan describes Solution in


more details. Describes how the information system will be deployed, installed and
transitioned into an operational system. It contains a brief description of the major
tasks and components involved in the implementation, the overall resources needed
to support the implementation effort (such as hardware, software. facilities,
materials, and personnel), and any site-specific implementation requirements.

5.2 ​Programming language and technology

​ 1.​ Flutter [4]: Developed with Flutter and Dart, CodeStation store
features a single codebase for both iOS and Android. Flutter's hot reload
accelerates development, and its rich widget set ensures a customizable,
high-performance UI. Real-time data, Firebase authentication, map integration,
and offline support enhance user experience. Unit testing ensures reliability, and
cross-platform deployment simplifies distribution on app stores.

2.​ Dart [5]: Using Dart for CodeStation store enables a streamlined,
object-oriented development process. Dart's features, like strong typing and
JIT compilation, enhance code efficiency. Real-time data handling,
asynchronous programming, and integration with Flutter create a responsive
and dynamic user interface. Dart's versatility extends to implementing features
such as user authentication, offline support, and seamless deployment across
platforms.

3.​ Spring Framework[6]: Spring Framework is a comprehensive and


widely adopted framework for building enterprise Java applications. It
provides a modular and flexible architecture, offering support for various
components such as dependency injection, aspect-oriented programming,
and transaction management. One of the key features of Spring is its
lightweight and non-intrusive nature, allowing developers to focus on
36
business logic without being tied to specific APIs or implementations. Spring
Boot, a part of the Spring ecosystem, simplifies the setup and configuration of
Spring applications by providing convention-over-configuration and
auto-configuration capabilities. It streamlines the development process by
reducing boilerplate code and offering embedded servers for quick
deployment. With its extensive ecosystem, including Spring Data, Spring
Security, and Spring Cloud, Spring Framework empowers developers to build
robust, scalable, and maintainable Java applications across various domains,
from web development to microservices architecture.

4.​ GitHub [7]: GitHub offers efficient version control, collaborative


development, and centralized code hosting. It supports branching, merging,
issue tracking, and pull requests for organized and high-quality code
contributions. GitHub's project management tools, documentation features,
and integration with CI tools streamline development. Its active community
fosters open-source collaboration and provides insights into project history. By
using GitHub for Basii we have enhance code management, collaboration,
and project visibility.

5.​ Android Studio [8]: is the official IDE for Android development,
offers a feature-rich environment tailored for creating high-quality Android
apps. Its visual layout editor simplifies UI design, an intelligent code editor
aids in efficient coding, and the built-in emulator ensures comprehensive
testing. With seamless integration of Firebase, version control support, and
regular updates from Google, Android Studio provides a robust and supportive
platform for developing and maintaining your bus transport app.

6. HTML [9]: is a standard markup language used to create and structure


the content of web pages. It is a fundamental language for web development,
providing a robust foundation for creating well-structured, accessible, and
compatible web pages. Its integration with CSS and JavaScript, support for
SEO, and adherence to web standards make it an essential part of modern web
development.

37
7. CSS (Cascading Style Sheets) [10]: is crucial in web development,
defining the visual presentation of HTML content. It enables the creation of
aesthetically pleasing and responsive designs. With CSS, developers achieve
consistency across pages, ensure browser compatibility, and facilitate efficient
updates. This separation of styling and content enhances code maintainability.
CSS also supports animations and interactivity, offering dynamic elements.
Moreover, external CSS files can be cached, optimizing load times for
improved website performance.

8. Typescript[11]: TypeScript is a superset of JavaScript that adds optional


static typing and other features to the language. Developed and maintained by
Microsoft, TypeScript aims to address some of the shortcomings of JavaScript
by introducing features like type annotations, interfaces, generics, and more.
One of the main benefits of TypeScript is its ability to catch errors at
compile-time, thus improving code quality and reducing bugs in large-scale
applications. TypeScript code can be compiled down to plain JavaScript,
making it compatible with all JavaScript environments. It also offers great
tooling support, including syntax highlighting, code completion, and
refactoring capabilities in popular integrated development environments
(IDEs) such as Visual Studio Code. TypeScript is increasingly popular for
building complex web applications, especially those using modern front-end
frameworks like Angular, React, and [Link], as well as for server-side
development with [Link]. Its combination of static typing and JavaScript's
flexibility makes it a powerful choice for developers looking to write safer and
more maintainable code.

9. Visual Studio Code [12]: is a versatile and lightweight Integrated


Development Environment (IDE) that supports various programming
languages. With intelligent code editing features, a robust extensions
ecosystem, and an integrated terminal, it streamlines development tasks. Its
cross-platform compatibility, free and open-source nature, and active .

11. React [13]: React is a JavaScript library for building user interfaces,
known for its component-based architecture and efficient rendering with the
virtual DOM. It promotes a declarative programming style and utilizes JSX for
writing HTML-like code within JavaScript. React's ecosystem includes tools
38
like React Router and Redux, making it a popular choice for front-end
development, especially for creating interactive and dynamic web
applications.

12. Tailwind CSS[14]:

Tailwind CSS is a utility-first CSS framework that provides a set of


pre-designed utility classes to streamline the process of building user
interfaces. Unlike traditional CSS frameworks that come with predefined
components, Tailwind CSS focuses on providing low-level utility classes that
can be combined to create custom designs without writing custom CSS. These
utility classes cover a wide range of styling properties, such as spacing,
typography, colors, and more, allowing developers to rapidly prototype and
style their applications.

Tailwind CSS promotes a responsive and scalable approach to styling, making


it easy to create consistent designs across different screen sizes and devices. It
also encourages a modular and maintainable codebase by promoting the
composition of small utility classes rather than large, monolithic stylesheets.

One of the key advantages of Tailwind CSS is its flexibility and customization
options. Developers can easily extend or customize the default utility classes
to match the specific design requirements of their projects. Additionally,
Tailwind CSS integrates seamlessly with modern front-end frameworks like
React, [Link], and Angular, making it a versatile choice for building user
interfaces across different tech stacks.

Overall, Tailwind CSS offers a pragmatic and efficient approach to CSS


styling, empowering developers to create beautiful and responsive designs
with minimal effort.

13. MongoDb[15]: React is a JavaScript library for building user interfaces,


known for its component-based architecture and efficient rendering with the
virtual DOM. It promotes a declarative programming style and utilizes JSX for
writing HTML-like code within JavaScript. React's ecosystem includes tools
like React Router and Redux, making it a popular choice for front-end
development, especially for creating interactive and dynamic web
applications.

39
14. PostgreSQL[16]: PostgreSQL is an advanced, open-source relational
database management system (RDBMS) known for its robustness, scalability,
and adherence to SQL standards. It supports both SQL and JSON querying,
providing flexibility for various use cases. PostgreSQL is designed to handle a
wide range of workloads, from single machines to data warehouses or web
services with many concurrent users. Key features include ACID compliance,
complex queries, foreign keys, triggers, and updatable views. Its extensibility
allows for custom functions, data types, and operators, making it a preferred
choice for developers needing a powerful, versatile database solution.
PostgreSQL's ecosystem includes tools for backup, replication, and
performance tuning, enhancing its reliability and performance in production
environments.

40
5.3 ​part of implementation if possible

Figure [5.1]:User Cart Functions.

Display parts of the code for the User Cart functions.

Figure [5.2]:Security Configuration File..

Display parts of the code for the Security Configuration file.


41

Figure [5.3]:Item Controller File.

Display parts of the code for the Item Controller file.

Figure [5.4]: The Email Verification Code.

Display parts of the code for generating the email verification code.

42
CHAPTER 6:​ TESTING PLAN

In the world of software development, the Testing Plan is the linchpin ensuring the
reliability and quality of a product. This chapter serves as your guide into the
structured approach of validating software functionality of Basii app. It navigates
through the core elements of testing methodologies, objectives, test case formulation,
data management, and the crucial integration of automated tools. By the end of this
chapter, you'll grasp the essentials needed to craft and execute a robust Testing Plan,
vital for delivering impeccable software solutions.

6.1 Black-box

This type of testing focuses on the behavior of the app and check if the app gives the
right results and do what it intends to do. Using the flutter platform allows us to test
the app.

Areas of Focus:

1. Password Validation:

· Inspect the code to ensure password validation rules are implemented


correctly (e.g., minimum length, special characters).

2. Email Validation:

· Verify that the email validation logic is correctly implemented (e.g.,


checking for valid email format).

3. Error Handling:

· Check how error scenarios are handled within the code (e.g., proper
error messages, exception handling).

4. Code Coverage:

· Use code coverage tools to ensure all branches of the registration code
(if-else conditions, loops) are covered by tests.

Example:

43
1. Password Length:

· Test if passwords below or above the specified length are handled


correctly.

2. Email Validation Logic:

· Ensure the code properly validates the email format (e.g., contains
"@" and domain).

3. Code Paths Testing:

· Test different conditions within the registration code (e.g., different


if-else conditions) to ensure all paths are covered.

6.2 White-box

This section focuses on the code , Concern with how functionality is implemented,
Design patterns and data structure ,By dividing this process into two levels, The first
level focuses on each unit ,and the other focuses on the app.

Test Scenarios:

1. Validate Registration:

Verify the user registration with code sent to the email.

Figure [6.1]: Account Activation.

2. Invalid Input Handling:

· Test registration with invalid or missing data (e.g., no email, incorrect


password format, missing name).

3. Duplicate Email Handling:

44
· Test if the system correctly identifies and handles attempts to register

with an existing email.

4. Confirmation Message or Email:

· Check if users receive a confirmation message or email upon


successful registration.

Example:

A. Validate User Registration:

Input: Validate email, password, and name.

Expected Outcome: Successful registration with a confirmation


message/email.

B. Invalid Email Format:

Input: Incorrect email format.

Expected Outcome: Error message indicating invalid email format.

C. Duplicate Email:

Input: Email that already exists in the database.

Expected Outcome: Error message stating that the email is already registered.

6.3 Testing automation

- We used the android studio to test the app.

- The cases that we based on it to do the automation testing:

- Test case executed with different phones.

- Test case executed with different environments.

- Test case executed with a different set of users.

- Test case executed with a different set of information.

45
CHAPTER 7:​ CONCLUSION AND RESULTS

7.1​Conclusion and Results:

In summary, the project focused on developing an e-commerce platform tailored


for digital products, aiming to provide customers with a seamless and secure
shopping experience while offering convenience and accessibility. Throughout
the development process, several key challenges were addressed, including the
need to integrate both global and local payment gateways to cater to diverse
customer preferences.

The primary goal of the project was to overcome these challenges and deliver a
robust e-commerce solution capable of handling digital product sales efficiently.
By incorporating trusted payment gateways such as PayPal, Stripe, and local
methods like Cliq and Zain Cash, the platform ensures secure transactions and
instills confidence in customers during the checkout process.

Furthermore, the project emphasized user interface design, product


management, order processing, and security measures to enhance the overall
user experience and protect customer data. Thorough testing and quality
assurance were conducted to identify and address any issues, ensuring that the
platform functions smoothly across different devices and browsers.

Overall, the accomplished project not only addresses the immediate need for an
e-commerce platform for digital products but also lays the foundation for future
growth and expansion. By providing a user-friendly interface, diverse payment
options, and robust security features, the platform is well-positioned to attract
and retain customers, drive sales, and establish a strong online presence in the
digital marketplace.

46
7.2​Future Work:

While the current project has successfully developed and launched the
e-commerce platform for digital products, there are several areas for potential
future enhancements and expansions. Some suggestions for future work include:

[Link] Marketing and SEO Strategies: Implementing advanced marketing


techniques and search engine optimization strategies to increase visibility and
attract more traffic to the platform.

[Link] Product Catalog: Continuously updating and expanding the range of


digital products offered on the platform to cater to evolving customer
preferences and market demands.

[Link] and Customer Engagement: Incorporating features for


personalized recommendations, targeted promotions, and interactive
engagement to enhance the overall customer experience and foster long-term
loyalty.

[Link] Expansion: Exploring opportunities to expand the platform's reach


beyond the local market and cater to a broader audience by supporting multiple
languages, currencies, and shipping options.

[Link] with Emerging Technologies: Staying abreast of emerging


technologies such as AI, AR/VR, and blockchain to explore innovative ways to
enhance the platform's functionality, security, and user experience.

By continuously iterating and improving upon the existing platform while


exploring new avenues for growth and innovation, the project can remain
competitive and adaptive in the dynamic landscape of digital commerce.

47
REFERENCES

All listed alphabetically according to the first author.

[1] G2A store : G2A..com

[2] Z2u store: [Link]

[3] Eneba store : [Link]

[4] Flutter : [Link]

[5] Dart : [Link]

[6] Spring framework : [Link]

[7] GitHub : [Link]

[8] Android Studio : [Link]

[9] HTML : [Link]/html

[10] CSS (Cascading Style Sheets) : [Link]/css

[11] Typescript : [Link]

[12] Visual Studio Code : [Link]

[13] React : [Link]

[14] Tailwind CSS : [Link]

[15] MongoDb : mongodb

[16] PostgreSQL : postgresql

48

You might also like