The Hashemite University, Zarqa, Jordan
Faculty of Prince Al-Hussein Bin Abdallah II for Information Technology Computer
Science and Applications Department
Bazaro
in partial fulfillment of the requirements for the
[Link]. Degree in Computer Science and Application
By
Mustafa Mufdi Tael Al khasawneh (2031858)
Mohammed Khalil Adel ALAfifi (2030859)
Mohammed Yahia Abdalhadi Degaish (2042478)
Yousef Khaled Hamdan Al jamaan (2036181)
Supervised:
Dr. Nabhan Hamadneh
Discussed:
Dr. Bashar Alkawaldeh
1
CERTIFICATE
It is hereby certified that the project titled <BAZARO>, submitted by undersigned, in
partial fulfillment of the award of the degree of “ Bachelor’s 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.
Mustafa Mufdi Tael Al khasawneh (2031858) Signature: mustafa
Mohammed Khalil Adel AL Afifi (2030859) Signature: mohammad
Mohammed Yahia Abdalhadi Degaish (2042478) Signature: degaish
Yousef Khaled Hamdan Al jamaan (2036181) Signature: yousef
2
ABSTRACT
We designed our application with these end users in mind because we believe
the application must serve them. We have made it easy to use on any device,
and we are developing our software to be compatible across multiple
operating systems. This means that anyone with a smartphone or computer
will easily be able to access the information they need quickly, as well as share
it with others in a streamlined way. We hope that by making it easy to use, we
will improve our users' lives and make their lives easier. We have developed
our platform into a mobile application so that people can have the
information they need in the palm of their hands. By creating this mobile
application, we hope to make it easier for users to get the information they
need more effectively and efficiently
3
Table of Contents
Chapter 1: Introduction
1.1 Background…………………………………………………………… 7
1.2 Objective(s)…………………………………………………………… 7
1.3 Project Motivation……………………………………………………. 8
1.4 Problem Statement…………………………………………………… 9
Chapter 2: Literature review
2.1 Introduction……………………………………………………………… 10
2.2 Overall Problems of Existing Systems………………………………….11
2.3 Overall Solution Approach………………………………………………11
Chapter 3:Requirements Analysis
3.1 Stackeholder…………………………………………………………….12
3.2 Non-Function Requirements……………………………………………13
3.3 Use Case………………………………………………………………….14
3.4 Use Case Selection……………………………………………………….16
3.5 Non-Function User Requirements…………………………………..….18
Chapter 4: Results and Analysis
4.1 Software System Architechre…………………………………………..19
4.2 Class Diagram…………………………………………………………..21
4.3 User Interface Design…………………………………………………..22
4
Chapter 5: Implementation plan
5.1 Description of Implementation……………………………………………23
5.2 Implementation…………………………………………………………….25
Chapter 6: Conclusions and results
6.1 Summary of Accomplished Project……………………………………..30
6.2 Future Work……………………………………………………………..31
5
LIST OF FIGURES
Figure 1: The Use Case Diagram for The Bazaro …........................... 15
Figure 2: The sequence Diagram for login………………………19
Figure 3: The sequence Diagram for search and adding to cart……20
Figure 4: The class diagram of application....................................... 21
Figure 6: Signup and sign in……………………………………………23
Figure 7: Main dart page for The Bazaro…………………………26
Figure 8: Signup Botton page for The Bazaro…………………………27
Figure 9: Signin Botton page for The Bazaro …………………………28
Figure 10: Signup Logic page for The Bazaro …………………………29
Figure 11: Signup Logic page for The Bazaro …………………………30
6
CHAPTER 1: INTRODUCTION
1.1 Background
• Our application allows users to buy, sell, and trade a wide range of products and
services directly. Bazaro operates as a marketplace for various categories
• The platform connects buyers and sellers without intermediaries, supporting direct
communication via chat
• It is available as and mobile app, supporting multiple languages, including Arabic
and English.
1.2 Objectives
• Facilitate Direct Transactions: Enable seamless buying, selling, and trading of
products and services without intermediaries.
• Connect Users: Provide an easy and efficient platform for direct communication
between buyers and sellers through chat.
• Offer Diverse Categories: Serve as a comprehensive marketplace covering various
categories like products, services, and more.
• Mobile Accessibility: Provide a user-friendly mobile app to enhance convenience for
users on the go.
7
1.3 Project Motivation
The motivation for creating an online shop, named Bazaro, revolves around the evolving
trends in e-commerce and the increasing demand for convenience and accessibility in the
shopping experience. Below are key reasons driving the creation and development of
Bazaro
Cost Efficiency:
Reduced Overheads: Operating online eliminates the need for physical store space,
reducing overhead costs like rent, utilities, and in-store staff. These savings can be
passed on to customers in the form of lower prices or better deals.
Streamlined Operations: With advanced inventory management and automated
systems, Bazaro can reduce inefficiencies in inventory management, which can lead
to reduced operational costs.
Innovative Features and Customer Engagement:
Real-Time Interaction: Live chat support, personalized customer service, and
interactive features like reviews, ratings, and Q&A help improve the shopping
experience, making it more engaging and customer centric.
8
Loyalty Programs: By offering discounts, rewards, and loyalty programs, Bazaro
can build stronger relationships with repeat customers, incentivizing long-term
engagement and increased sales.
1.4 Problem Statement
Our project addresses the challenge of finding reliable and convenient online shopping
options by creating a user-friendly platform featuring a diverse range of products from
multiple sellers. Each seller will have a dedicated profile showcasing their product offerings,
customer reviews, and detailed descriptions, ensuring transparency and trust. Additionally,
our application includes personalized recommendations based on user preferences, as well as
a smart notification system that reminds customers of important updates such as sales,
restocks, and delivery statuses. This tackles the issue of overwhelmed customers and ensures
they stay informed about their shopping experience, making it easier to shop efficiently and
with confidence.
9
CHAPTER 2: LITERATURE REVIEW
In this chapter, we will discuss previous applications and projects that have similar
ideas to our project, the problems they cause, and the features that characterize our
project.
2.1 Introduction
An online shopping platform catering to the diverse needs of consumers ranging from
fashion and electronics specialty items represents a highly valuable resource in the e-
commerce space. Such a platform has the potential to greatly improve the shopping
experience, offering convenience, variety, and accessibility all in one place. What sets this
application apart is its focus on efficiency, user-centric features, and the ability to save time
for shoppers by streamlining the purchasing process. By providing a seamless, personalized
experience, the platform enhances convenience for users while helping them discover the
best products with ease.
10
2.3 Overall Problems of Existing Systems
1. The application exclusively supports the iOS operating system.
2. This application is for university student admission
3. The application has not received updates in two years.
2.4 Overall Solution Approach
1. The application will be accessible on both iOS and Android platforms to broaden its
reach.
[Link] the application to be local for all people
[Link] updates are essential for maintaining the relevance, functionality, and
consistency of the application.
11
Chapter 3: REQUIRMENT ANALYSIS
This Chapter talks about requirement analysis and the definition of it and who is going to
use this system and who are the stakeholders and what is the non-functional requirement
of the system.
3.1 Stakeholders:
Stakeholders are individuals or groups that have an interest in a project. They can be
affected or affect the outcomes, decisions and activities related to that project or
organization.
Figure (3) presents the stakeholders of “(project Name)” application:
-User (Admin): The individual who will be searching for different kinds of product.
-Program owners: The people that own the application/program who are responsible for
maintaining and managing the program.
Responsibilities:
1. Maintaining the application through constant updates.
2. Satisfying the users (customers) by applying their feedback.
3. Sets the vision and strategic goals for the program, ensuring alignment with the broader
business strategy.
12
3.2 Non-Functional requirements
The non-functional requirement is a requirement that specifies criteria that can be used to judge
the operation of a system, rather than specific behaviors. They are contrasted with functional
requirements that define specific behavior or functions. The plan for implementation.
Security:
The application values the security of our users, so we have implemented email and password
functionalities.
Accessibility:
Accessibility is essential for developers and organizations that want to. create high-quality
websites, and to make their application and its services widely and easily accessible. Ex. The
application can be accessed by any student and admin from any location using an internet
connection
Availability:
Availability is the window or amount of time that an application and its services are available.
The platform for our project will be available 24 hours a day, 7 days a week.
Reliability:
The application system should be responsive to user requests and reliable. Which means
minimal errors and minimal mistakes in performing the functional tasks and features.
Usability:
Describes the level of ease with which a system allows a user to get to that goal
13
3.3 Use case diagram:
Use case diagrams are considered for high-level requirement analysis of the system. So,
when the requirements of a system are analyzed the functionalities are captured in use
cases. So, we can say that the use cases are nothing, but the system functionalities
written in an organized manner. Now the second things which are relevant to the use
cases are the actors. Actors can be defined as something that interacts with the system.
The actors can be human users, some internal applications, or maybe some external
applications.
❖ A use case is a concept for reviewing how software environment entities interact with
each other and with the software.
A use cases are a common tool in software development and system design, used to
capture functional requirements from the user's perspective.
A use case explains how technology can be applied to solve a real-world problem. It
describes specific applications, demonstrating how the technology functions in practice.
A use case should include the following:
-Functionalities of the application.
-The actors interacting with the use cases.
-The relationship between actors and the functionalities.
14
Figure 1: Use case diagram
15
16
3.3 Use case section:
Use case Description Action Pre-condition Post-condition
-Sign up The first step for a Enter the user’s id/ The information Transition into the
<<include>> new user. name, The first step must be verified. sign in/log in
Add account info for a new user. screen.
<<Extend>> email, password
Verify entered and phone number
information to register an
account
-Sign in The gate to the Enter either the The Mobile App is The User is
<<include>> application’s home phone number or installed and successfully logged
Verify password page and functions the email and the running and into the Mobile
password to access has a valid account. App
the account.
-Search The function Enter the name of -The name entered Transition to the
<<include>> responsible of the item needed to must be correct item’s page.
Enter desired item finding the desired be found without
name product, vaccine, or looking manually. -User must be
<<Include>> medicine, etc. logged in.
Specify item
category
17
-Checkout The section where Requires entering a The basket should Return to the home
<<include>> the order is contact number, contain at least one page.
Verify destination finalized and where address and item.
info the process or the selecting the
<<include>> estimated time is payment method
Confirm payment shown. (cash/credit card).
method
Show delivery
info
-Add item Allows the user to After getting -Being approved by The product is
<<include>> submit the products approved by the the Managers added to the
verify added item to the application, Manager the system.
<<include>> after the Manager product is added to -The user is logged
manage added approval. the application. in and has the
item necessary
permissions to add
products.
-Remove item Allows the manger The product was The item is no
to remove the removed from longer available for
products from the application. the customer.
application
-Create chat Allows the user, The system The customer or A chat session is
manger and prompts for user is logged in. initiated, and
customer to create confirmation to communication
begins.
the to communicate delete the chat.
with customer The chat is created
support and with from an
the customer application.
-Delete chat Allows the manger The chat removed The customer or The chat is no
to Delete the chat from application user has an existing longer available for
from user chat session. the customer and
user.
Table 1: Use case section
18
3.3 Non-functional user requirements:
Non-functional user requirements are set of specifications that describe the system’s
operation capabilities and constraints.
• Reliability: Serving the customer without the occurrence of system errors.
• Availability: The system should be available 24/7 with minimal downtime.
• Usability: An interface that is easy to understand and simple to work with comfortably.
• Security: Information submitted by the user is protected and not shared with third parties.
• Maintainability: The system being updated frequently, and issues being fixed as soon as
possible.
• Scalability: The system’s ability to handle the increase in the number of users. With
maintaining the same level of performance.
19
CHAPTER 4: ARCHITECTURE AND DESGIN
This chapter describes the infrastructure of the application and the interaction between the
main components through visualization of the data using UML diagrams.
4.1 Software (System) Architecture
A class diagram in the Unified Modeling Language (UML) is a type of static structure
diagram that represents the structure of the system and is used during system design to
model subsystems and during object design to model classes.
Inteface DataBase
Figure 2: Sequence Diagram for log in
20
Interface Database
figure 3: Sequence Diagram for search and adding to cart
21
4.2 Class Diagram
Class diagrams are the blueprints of the system, they can be used to model the
actors that make up the system and to display the relationship between them
by explaining what the objects do and the services that they provide.
Figure 4: Class Diagram
22
4.4 User interface design (prototype)
Figure 6: Signup and sign in
23
CHAPTER 5: IMPLEMENTATION PLAN
5.1 Description of Implementation:
The system incorporates three user roles: customer, company, and manager,
each with specific access methods and permissions:
Customer: Logs into the application using an email and password.
Company and Manager: Access the system through unique IDs and
passwords.
During the registration process, unique IDs are issued to companies and managers,
ensuring secure and personalized access. Customers register directly by providing their
email credentials, allowing them to create an account seamlessly.
5.2 Programming Languages and Technology
Flutter:
Flutter is a modern framework that enables developers to create cross-platform
applications using a unified codebase. This approach enhances development efficiency and
reduces time-to-market. Developed and supported by Google, Flutter has gained trust
24
among developers for its reliability and robust performance. Being open source, it is
accessible to a wide audience, catering to developers of varying skill levels and budgets.
Dart:
the core programming language of Flutter, is optimized for front-end development, making
it ideal for building dynamic mobile and web apps. Its seamless integration with Flutter
enhances productivity and performance, enabling efficient creation of high-quality, multi-
platform applications. This has led to its increasing popularity in the tech community.
Firebase:
Firebase, developed by Google, is a comprehensive Backend-as-a-Service (BaaS) platform
designed to simplify the backend development process. It offers a range of features
essential for modern app development, including:
Authentication mechanisms for secure user access.
Cloud messaging for communication and push notifications.
Advanced analytics to monitor and improve application performance.
The combination of Flutter, Dart, and Firebase provides a powerful ecosystem for creating
scalable, user-friendly applications while minimizing development complexity.
25
5.2 Implementation
Main window
Figure 7: [Link]
26
Sign-up button
Figure 8 : Sign-up button
27
Sign-in button
Figure 9: Sign-in button
28
Sign-up logic:
Figure 10: Sign-up logic
29
Sign-in logic:
Figure 11 : Sign-in logic
30
Chapter 6: Conclusion and results
In this chapter, we will provide a summary of the project's key accomplishments and discuss
prospects.
6.1 Summary of Accomplished Project
"Bazaro" is an innovative application designed to offer a comprehensive platform for users,
enabling them to showcase their personal projects easily and efficiently. The application allows
users to log into their accounts or create a new account if they do not already have one.
Once logged in, users can access the main page, where they can upload images of their projects
and display them to other users and visitors in a professional manner.
Throughout the development process, all required tasks were successfully completed in
accordance with the documentation and plans provided. The focus was on implementing the core
functionalities of the application seamlessly. Additionally, all necessary visuals were created to
clearly illustrate the project's concept, including a user interface design that enhances both
functionality and aesthetic appeal.
31
The primary goal of "Bazaro" is to provide a digital space that helps individuals showcase their
projects and interact with their audience effortlessly, fostering greater visibility and engagement
between sellers and potential buyers.
6.2 Future Work
The "Bazaro" application has successfully addressed the challenges and objectives of
providing users with a platform to showcase their projects. For future work, we aim to
enhance the application's performance and efficiency by implementing additional features
and functionalities. Key areas to focus on include:
1. Improving the user experience for uploading and managing project images,
ensuring the process is seamless and user-friendly.
2. Regularly updating the database to incorporate the latest information and features
for a more dynamic platform.
3. Expanding the application's reach to cover a broader audience and attract more
users globally.
4. Ensuring a consistent and appealing design while integrating new updates and
features.
By concentrating on these areas, we aspire to continuously improve the "Bazaro"
application and deliver an even better platform for users to showcase and promote their
project.
The End
32