Professional Documents
Culture Documents
Electronics Delivery Mobile APP
Electronics Delivery Mobile APP
Faculty of Computing
Submitted to the Faculty of Computing in Partial Fulfillment of The Requirements for the
Degree of Bachelor of Science in [Software Engineering]
Group members
Name ID Number
1. Aemro Enyew_______________________ 1103339
2. Addisu Anley________________________1102093
3. Abebe Tafere________________________110 1973
The Project is our own and has not been presented for a degree in any other university and all the sources
of material used for the project have been duly acknowledged.
Faculty: Computing
Program: Software Engineering
Project Title: Electronics Delivery Mobile APP Based on Location Tracking
This is to certify that I have read this project and that in my supervision and the students’ performance,
it is fully adequate, in scope and quality, as a project for the degree of Bachelor of Science.
It is approved that this project has been written in compliance with the formatting rules laid down by
the faculty.
i
Acknowledgment
First and foremost ,We would like to thank the almighty God for giving us the opportunity to live
and for the blessings that we received each day because nothing could be possible without his
free will and the completion of this project is supported by him. Next, we would like to thank our
Advisor Mr Haileyesus D. , for his edition of our documentation, input to the quality of this
document, heart full guidance, valuable advice, and providing to execute this project. Then, we
would like to thank Mr. Mulugieta M. , for his recommendation for this project idea. Finally, to
our respective families, friends and relatives, who are our inspirations. Thank you all.
iii
List of Figures
Figure 1 state shart diagram ........................................................................................................................ 32
Figure 2 add product sequence diagram .................................................................................................... 32
Figure 3 place order sequence diagram....................................................................................................... 33
Figure 4 add product sequence diagram .................................................................................................... 33
Figure 5 add to cart sequence diagram...................................................................................................... 34
Figure 6 change status sequence diagram .................................................................................................. 34
Figure 7 class diagram ............................................................................................................................... 35
Figure 8 login page ................................................................................................................................... 40
Figure 9 select role ..................................................................................................................................... 42
Figure 10 add shop page ............................................................................................................................. 44
Figure 11 user home page .......................................................................................................................... 46
Figure 12 product detail page .................................................................................................................... 49
Figure 14 check out page ........................................................................................................................... 51
Figure 15 Access control and security ....................................................................................................... 51
iv
List of Tables
Table of Contents
Contents
Declaration ................................................................................................................................... 1
Acknowledgment ......................................................................................................................... 3
List of Figures .............................................................................................................................. 4
List of Tables ............................................................................................................................... 5
Table of Contents ........................................................................................................................ 5
Abstract ........................................................................................................................................ 1
Chapter One: Introduction ........................................................................................................ 2
1.1 Background ................................................................................................................. 2
1.2 Statement of the problem ............................................................................................ 3
1.3 Objectives ................................................................................................................... 3
1.3.1 General Objective ....................................................................................................... 3
1.3.2 Specific Objectives ..................................................................................................... 3
1.4 Methodology ............................................................................................................... 4
1.4.1 Requirement gathering methods ................................................................................. 4
1.4.2 Analysis and design Methodology .............................................................................. 4
1.4.3 Implementation Methodology ..................................................................................... 5
1.5 Feasibility .................................................................................................................... 5
1.6 Beneficiaries or significant of the project ................................................................... 8
v
1.7 Limitations of the project ............................................................................................ 8
1.8 Scope of the project .................................................................................................... 9
Chapter Two: System features ................................................................................................. 11
2.1 The Existing System ..................................................Error! Bookmark not defined.
2.2 Proposed System ....................................................................................................... 11
2.3 Requirement Analysis ............................................................................................... 12
2.3.1 Functional requirement ............................................................................................ 12
2.3.2 System Use case ........................................................................................................ 13
2.3.3 Business Rule Documentation................................................................................... 30
2.3.4 User Interface prototype ........................................................................................... 31
2.3.5 State chart diagram................................................................................................... 31
2.3.6 Activity Diagram ....................................................................................................... 32
2.3.7 Sequence diagram ..................................................................................................... 32
2.3.8 Analysis Class Model ................................................................................................ 34
2.4 Nonfunctional requirement ....................................................................................... 35
2.5 System Requirement ................................................................................................. 36
2.5.1 Hardware requirements ............................................................................................ 36
Chapter 3: System Design ........................................................................................................ 37
3.1 Architectural Design ................................................................................................. 37
3.1.1 Deployment Modeling ............................................................................................... 37
3.2 User Interface Design ............................................................................................... 38
3.3 Access control and security ...................................................................................... 51
Chapter Four: Implementation ............................................................................................... 52
Chapter Five: Testing and Evaluation .................................................................................... 55
References .................................................................................................................................. 56
6
Abstract
Online electronic delivery refers to the process of ordering and delivering electronic products
and devices through online channels. This includes a wide range of products such as
smartphones, laptops, cameras, and other consumer electronics. Online electronic delivery has
become increasingly popular in recent years due to the convenience and accessibility it provides
to customers. With the rise of e-commerce platforms, customers can browse and purchase
products online, and have them delivered to their doorstep. This has made it easier for customers
to compare products and prices, and to access a wider range of products than they might find in
traditional brick-and-mortar stores. Online electronic delivery also benefits retailers, who can
reach a larger customer base and reduce their overhead costs by operating primarily online.
1
Chapter One: Introduction
1.1 Background
Introduction: The Flutter electronics delivery mobile application is a convenient and efficient
solution designed to facilitate the delivery of electronic products from various shops to
customers. The application aims to streamline the process of browsing, ordering, and delivering
electronics while providing a seamless and user-friendly experience for both customers and shop
owners.
Background: In today's digital era, the demand for electronic products is continuously
increasing. Customers often prefer the convenience of online shopping, where they can browse
and purchase a wide range of electronics from the comfort of their homes. However, the delivery
process can sometimes be cumbersome and time-consuming, involving coordination between
shops, customers, and delivery personnel.
The Flutter electronics delivery mobile application addresses this challenge by leveraging the
power of Flutter framework and Firebase backend services. Flutter, a cross-platform
development framework, enables the creation of visually appealing and responsive mobile
applications that can run on both iOS and Android devices. Firebase, a backend-as-a-service
platform, provides a reliable and scalable infrastructure for managing user authentication, real-
time database, and cloud functions.
By utilizing Flutter and Firebase, the application provides a robust and efficient platform for
customers to browse through a catalog of electronic products, place orders, track their order
status, and receive timely notifications. Shop owners can manage their inventory, process orders,
and update product details through a user-friendly dashboard. Delivery personnel can view their
assigned orders, update delivery statuses, and ensure prompt and accurate deliveries.
The combination of Flutter and Firebase offers a powerful development environment, ensuring
the app is feature-rich, responsive, and capable of handling a large user base. With a user-
friendly interface and seamless integration with Firebase's backend services, the Flutter
electronics delivery mobile application aims to enhance the shopping experience for customers,
streamline operations for shop owners, and improve delivery efficiency for the delivery
personnel.
2
1.2 Statement of the problem
✓ ultimately improving the overall customer experience in the electronics delivery industry.
1.3 Objectives
1.3.1 General Objective
The general objective of this project is to develop a fast and reliable delivery mobile
application based on GPS tracking for Mobile Users.
➢ Enhance the overall customer experience by simplifying the electronics delivery process.
➢ Enable users to browse and search a comprehensive catalog of electronic products with
detailed information.
➢ Implement a secure and user-friendly authentication system for user registration and
login.
➢ Provide users with the ability to add products to a shopping cart or Wishlist for later
3
purchase.
➢ Implement a smooth and intuitive checkout process, allowing users to place orders
efficiently.
➢ Integrate a reliable and secure payment gateway to facilitate seamless online transactions.
➢ Develop a robust order tracking system that provides real-time updates on the status and
location of deliveries.
➢ Implement push notifications or in-app messaging to notify users about order status
changes.
➢ Ensure a responsive and visually appealing user interface that adapts to different screen
sizes and devices.
➢ Optimize app performance to provide fast loading times and smooth navigation.
➢ Conduct thorough testing to identify and resolve any bugs or issues in the application.
1.4 Methodology
b) literature review: we have made analysis and summary of existing research and literature
relevant to our project.
c) Use Case Analysis: we Identify and analyze typical use cases or scenarios that users may
encounter when using the mobile application. This method helps define functional requirements
and system behavior.
d) Internet:
4
programming (OOP) principles and concepts. In an object-oriented approach, the emphasis
is on organizing the codebase around objects, which are instances of classes that
encapsulate data and behavior. The main focus is on modeling real-world entities as objects
When developing the mobile application, you will likely create classes to represent various
entities and components such as users, products, orders, and payment transactions. These
classes will encapsulate the relevant data and provide methods to interact with that data.
Agile methodologies, such as Scrum and Kanban, emphasize iterative and incremental
development. They involve short development cycles called sprints, where requirements,
design, development, and testing occur in parallel. Agile methodologies accommodate
changing requirements and allow for frequent feedback and adaptation.
➢ Tools
1.5 Feasibility
➢ Economic feasibility
5
comparing the cost with the benefit (we get by using the proposed system), surely the benefit out weights
the cost.
The Costs:
Infrastructure Cost: The application requires a reliable hosting service for the backend database
and server.
Maintenance and Updates: Ongoing maintenance and updates to the application to ensure its
functionality, security, and compatibility with new device versions and operating systems.
Benefits:
Increased Customer Convenience: The application provides customers with a convenient
platform to browse and purchase electronic products from various shops, eliminating the need for
physical store visits. This convenience can attract more customers and increase sales.
Improved Efficiency: The application streamlines the ordering and delivery process, reducing
manual coordination efforts for both shop owners and delivery personnel. This leads to improved
efficiency, reduced errors, and faster order fulfillment.
Enhanced Customer Experience: The app offers features such as order tracking and push
notifications, keeping customers informed about their order status. This improves customer
satisfaction and engagement with the platform.
Expanded Market Reach: With an online presence, shops can reach a broader customer base
beyond their physical location, potentially increasing sales and revenue.
Data Analytics and Insights: The application can collect and analyze customer data, providing
valuable insights into customer preferences, popular products, and buying patterns. This data can
be used to optimize inventory management, marketing strategies, and personalized
recommendations.
Cost Savings for Shops: By utilizing the application, shops can reduce costs associated with
maintaining physical stores, such as rent, utilities, and staffing. They can also minimize manual
order processing and streamline inventory management.
Scalability: The application built on Flutter and Firebase offers scalability, allowing it to handle
a growing number of users, products, and orders without significant performance degradation.
Overall, the Flutter Electronics Delivery Mobile Application has the potential to provide
substantial benefits, including increased convenience for customers, improved efficiency for
6
shops and delivery personnel, expanded market reach, enhanced customer experience, cost
savings, and data-driven insights. However, it is essential to carefully assess the development
and maintenance costs to ensure that the benefits outweigh the expenses and yield a favorable
return on investment.
Therefore, the team decided the proposed project is economically feasible.
Table 1 project cost table
For this particular project we will be using different software but the software’s are gotten freely.
Software cost:
Table 2 software cost
Software costs
Software Description Price
Flutter Free
Firebase Free
Vs code Free
Microsoft word Free
➢ Technical feasibility
We concern here with specifying equipment’s that will satisfy the user requirement such as
computer (hardware and software), Microsoft access etc. The system developers understand the
scope, objectives including specific objectives and limitations of the proposed system well and
have technical capability/ability and basic programming knowledge to develop this system.
Different software, frameworks, library necessary for us to develop the system are free. Other
7
resources like computer are available.
✓ This software is running in mobile operating system.
✓ It will run in different browser and devices
✓ The system can be expanded in any system platforms.
Therefore, we analyze that the system is technically feasible.
➢ Time feasibility
the project will be completed within the allocated time frame.
Convenience: A delivery Flutter application allows customers to order products or services from
the comfort of their homes, saving them time and effort.
Accessibility: A delivery Flutter application makes delivery services accessible to a wider range
of customers, including those with mobility or transportation limitations.
Efficiency: A delivery Flutter application can help businesses manage their orders and deliveries
more efficiently, which can lead to faster delivery times and increased customer satisfaction.
Real-time tracking: A delivery Flutter application can provide real-time tracking of orders,
which can give customers peace of mind and reduce anxiety about delivery times.
Competitive advantage: Offering a delivery Flutter application can give businesses a
competitive advantage over those that do not offer delivery services, as customers increasingly
expect the convenience of online ordering and home delivery.
Increased revenue: A delivery Flutter application can help businesses increase their revenue
by reaching more customers and offering additional services such as premium delivery options.
Data insights: A delivery Flutter application can provide valuable data insights into customer
behavior and preferences, which can help businesses improve their products, services, and
marketing strategies.
challenges/constraints
✓ connection: since working with firebase require connection
✓ Integration Challenges: Integrating the application with external APIs, payment gateways, or
8
other third-party services may present challenges due to compatibility issues, API limitations, or
changes in the service provider's APIs over time. Ongoing maintenance and updates may be
required to address these integration challenges.
✓ lack of time
Limitation:
✓ Dependency on Internet Connectivity:
The application heavily relies on internet connectivity to function effectively. Users may face
limitations or disruptions in using the app in areas with poor or no internet access.
Here specifies the boundary of the system by writing list of business processes or subsystems to be
implemented and the services they can provide.
The scope of this electronics delivery mobile application that involves customers, shops, and delivery
personnel can encompass various features and functionalities. Here are some potential aspects to consider
within the scope of this project:
1) User Registration and Authentication:
Allow customers, shops, and delivery personnel to register and create user accounts.
Implement authentication mechanisms to ensure secure access to the application.
3) Product Catalog:
Create a catalog of electronic products available for purchase.
Include product descriptions, prices, images, and other relevant details.
Implement search and filtering capabilities to help users find specific products.
9
Implement a secure payment gateway for order processing and payment.
7) Notifications:
Implement push notifications to inform customers about order updates, delivery status,
promotions, and offers.
Notify delivery personnel about new orders, changes, or cancellations.
8) Admin Dashboard:
Provide an administrative dashboard for shop owners or administrators to manage products,
orders, and deliveries.
Allow admins to manage user accounts, monitor performance metrics, and generate reports.
10
Chapter Two: System features
The proposed system of the Flutter Electronics Delivery Mobile Application aims to enhance the
existing system by leveraging mobile technology and providing a more efficient and convenient
platform for customers, shops, and delivery personnel.
Here's how the proposed system works:
➢ Customer Registration: Customers will need to download and install the Flutter
Electronics Delivery mobile application on their smartphones. They can then register an
account by providing their details, including name, contact information, and delivery
address.
➢ Browse and Order: Customers can browse through the available electronic products
within the application. They can view product details, images, prices, and shop
information. Once they find a product they want to purchase, they can add it to their cart
and proceed to the checkout process.
➢ Payment Integration: The proposed system may include integration with various payment
gateways to facilitate secure and convenient online payments. Customers can choose their
preferred payment method, such as credit/debit card, digital wallets, or cash on delivery.
➢ Shop Management: Shops registered in the application will have access to a dedicated
interface where they can manage their product inventory, update prices, and track
incoming orders. They can update the availability status of products in real-time to ensure
accurate ordering.
➢ Order Assignment and Tracking: Once a customer places an order, the system
automatically assigns the order to a nearby delivery personnel based on their availability
and workload. The assigned delivery personnel receive a notification about the order and
its details.
➢ Delivery and Tracking: The delivery personnel can use a mobile app provided to them to
view the assigned orders, navigate to the shop for product pickup, and proceed to the
11
customer's location for delivery. The customer can track the order's status, including the
estimated delivery time and real-time location of the delivery personnel.
Delivery Confirmation: When the delivery personnel arrive at the customer's location, they
complete the delivery by handing over the products. The customer confirms receipt of the
products within the application, and they may have the option to provide feedback or rate the
delivery experience.
➢ Order History and Customer Support: The proposed system maintains a record of
customers' order history, allowing them to view previous orders, reorder products, and
access receipts. Additionally, the application may include customer support features, such
as chat or messaging, to address any queries or concerns.
The proposed system leverages the capabilities of Flutter for the frontend development of the
mobile application, while utilizing backend services like Firebase for user authentication, real-
time database, and cloud functions to support the various functionalities of the app.
By implementing the proposed system, the Flutter Electronics Delivery Mobile Application aims
to streamline the ordering process, enhance the visibility and tracking of orders, improve
customer convenience, and facilitate efficient communication between customers, shops, and
delivery personnel.
12
FREQ-5 The application should allow users to schedule their deliveries for a time that
is convenient for them.
FREQ-6 The app should send real-time notification that alerts users of delivery status
updates, estimated delivery times, and other relevant information.
FREQ-7 The application should have a review and rating system that allows users to
leave feedback on their experience with the delivery service to improve the
quality of service.
FREQ-8 The app should Integrate location tracking functionality to allow delivery
drivers to locate and navigate to delivery addresses efficiently.
FREQ-9 Should provide an order management system that enables users to manage
orders, track delivery progress, and communicate with delivery providers
FREQ-10 The application should allow users to view their order history and track their
past orders
FREQ-11
13
Table 3 use case diagram
Table 4 Register
Use case id UC-01
Use case name Register
Participating actor User: The individual who wants to create a new
account on the application.
Description This use case describes the process of a user
registering a new account on the Flutter
Electronics Delivery Mobile Application.
Pre-condition The user has downloaded and installed the Flutter
Electronics Delivery Mobile Application.
The user has access to a stable internet connection.
Flow of event
1) The user opens the Flutter Electronics
Delivery Mobile Application.
2) The application displays the welcome screen
or the login/register page.
3) The user selects the "Register" option.
4) The application presents a registration form
for the user to fill out.
5) The user enters their personal information,
14
including their name, email address, and
desired password.
6) The user confirms their password to ensure
accuracy.
7) The user selects a unique username or is
provided with an auto-generated username.
8) The user provides additional optional
information, such as contact number and
delivery address.
9) The user reviews the entered information for
accuracy.
10) The user accepts the terms and conditions and
privacy policy, if applicable.
11) The user submits the registration form.
12) The application validates the entered
information, checks for duplicate usernames
or email addresses, and ensures all required
fields are filled.
13) If the entered information is valid, the
application creates a new user account and
assigns a unique user ID.
14) The application displays a registration success
message and may prompt the user to log in
with their newly created account.
Post-condition
✓ The user's registration information is saved in
the application's database.
✓ The user can log in using their registered
credentials and access the features and
functionalities of the Flutter Electronics
Delivery Mobile Application.
15
Table 5 login use case
Use case id UC-02
Use case name Login
Participating actor All system user
Description Any user who wants to access the system’s
functionality must login so that that the system can
determine his access level. through Authentication
and Authorization .
Pre-condition The user must be already register (the user must
have user name, password and account type)
Flow of event 1. The use case starts when a user indicates
that he wants to login.
2. The user clicks login link
Alternative Flow of event Step 5, If the identification is not correct the system
displays incorrect user type, user name and
password try again message and the system display
the login page(go to step 3).
Post-condition The user logged in to the system and perform
functions according to his registered access level.
16
Table 6 view products
Use case id UC-03
Use case name view products
Participating actor Customer: The user who wants to explore and
view electronic products.
Flow of event
1) The customer opens the Flutter Electronics
Delivery Mobile Application.
2) The application displays the home screen or
product catalog.
3) The customer can browse through different
categories of electronic products, such as
smartphones, laptops, TVs, etc.
4) The customer selects a specific category of
interest to view products within that category.
5) The application presents a list of electronic
products within the selected category,
showing relevant details such as product
names, prices, and images.
6) The customer can scroll through the list of
products and view more details about a
particular product by selecting it.
7) The application displays detailed information
about the selected product, including product
specifications, descriptions, and customer
reviews.
8) The customer can zoom in on product images
for a closer look and view additional product
images, if available.
9) The customer can navigate back to the product
list or continue browsing other categories and
products.
17
10) If the customer finds a product they are
interested in purchasing, they can add it to
their cart for future checkout.
Post-condition
✓ The customer has explored and viewed
various electronic products within the
application.
✓ The customer can proceed to place an order
for a specific product if desired.
✓ The customer can add products of interest to
their cart for future purchase consideration.
18
Flow of event
1) The customer opens the Flutter Electronics
Delivery Mobile Application.
2) The customer browses through the available
electronic products by selecting the "Browse"
option.
3) The application displays a list of electronic
products along with relevant information such
as name, price, and shop details.
4) The customer selects a specific product of
interest.
5) The application presents detailed information
about the selected product, including images,
description, and customer reviews.
6) The customer adds the product to their cart by
selecting the "Add to Cart" option.
7) The application confirms the addition of the
product to the cart and displays the updated
cart summary.
8) The customer can either continue shopping
and repeat steps 4 to 7 for additional products
or proceed to checkout.
9) If the customer chooses to proceed to
checkout, they select the "Checkout" option.
10) The application prompts the customer to
review their order details, including the list of
products, quantities, and total price.
11) The customer verifies the order details and
selects the preferred delivery address.
12) The customer selects the desired payment
method, such as credit/debit card, digital
wallet, or cash on delivery.
13) The application securely processes the
payment and confirms the successful
transaction.
14) The application generates an order
confirmation with a unique order ID and
displays it to the customer.
15) The customer receives an email or in-app
notification with the order details and
confirmation.
16) The order is sent to the relevant shop or
vendor for processing and fulfillment.
19
Alternative Flow of event
a) If the customer encounters any issues during
the ordering process, they can contact
customer support for assistance.
b) If the customer decides to remove a product
from the cart, they can select the "Remove"
option next to the product in the cart
summary.
c) If the customer wants to modify the quantity
of a product in the cart, they can update the
quantity field and select the "Update" option.
Post-condition
✓ The order details are recorded in the
system.
✓ The customer can view the order status
and track the delivery progress within the
application.
✓ The shop/vendor receives the order details
for further processing and fulfillment.
Table 8 Rating
20
orders or deliveries.
4) The customer selects the specific order or
delivery for which they want to provide a
rating.
5) The application presents the details of the
selected order or delivery, including the
product(s) received and the delivery
information.
6) The customer selects the "Rate" or "Provide
Feedback" option for the order or delivery.
7) The application prompts the customer to
provide a rating, usually on a scale of 1 to 5 or
using a star rating system.
8) The customer selects the appropriate rating
based on their satisfaction with the product or
delivery experience.
9) The application may provide additional fields
or options for the customer to provide
comments or feedback related to the rating.
10) The customer enters any additional comments
or feedback if desired.
11) The customer submits the rating and
feedback.
12) The application records the rating and
feedback associated with the respective order
or delivery.
21
and feedback within the application, if
desired.
✓
22
7. If the order meets the shop's standards,
the shop admin can select "Accept
Order."
8. The system confirms the action and
updates the order status to "Accepted."
9. If the order does not meet the shop's
standards, the shop admin can select
"Reject Order."
10. The system prompts the shop admin to
provide a reason for rejecting the order.
11. The shop admin enters a reason and
confirms the action.
12. The system updates the order status to
"Rejected" and sends a notification to
the customer.
23
Table 10 Manage all users
Use case id UC-07
Use case name Manage all users
24
action before deleting the user's account.
10. Once the administrator has finished managing
user accounts, they can log out of the system.
25
3. The customer's delivery address and contact
information have been provided.
Flow of event 1. The shop admin receives an order and
reviews the details.
2. The shop admin checks the list of
available delivery personnel.
3. The shop admin selects a delivery
person to fulfill the order.
4. The shop admin assigns the delivery
person to the order and notifies them of
the delivery details.
5. The delivery person confirms receipt of
the delivery details and sets out to
deliver the order.
6. The delivery person delivers the order to
the customer within the specified time
frame.
7. The customer receives the order and
confirms receipt
26
service to fulfill the order.
2. If the assigned delivery person is unable
to fulfill the order for any reason (e.g.
they are unable to locate the customer's
address), they must notify the shop
admin immediately and arrange for
another delivery person to fulfill the
order.
27
confirming that the item has been
added to the cart.
28
available for sale.
29
purchased, the system displays a
message indicating that the product
cannot be deleted.
30
➢ Delivery Address Rule:
Description: Customers should provide a valid delivery address for order fulfillment.
Rule: Customers must enter a complete and accurate delivery address during the checkout
process to ensure successful delivery of the ordered products.
User interface requirements should be gathered with a prototype approach here and aligned with
system use case documentation that shows the user interaction with the system. It should be
labeled and referenced in the use case documentation.
31
Figure 1 state shart diagram
2.2.6 Activity Diagram
Draw activity diagrams to show the operations/activities performed by use cases to achieve their
functionality. Activity diagrams are drawn for each use case. Show the visual representation of
activities/processes for use cases or methods or business processes.
32
Figure 3 place order sequence diagram
33
Figure 5 add to cart sequence diagram
34
Figure 7 class diagram
a) Performance: The application should perform well and respond quickly to user requests ,
Optimize app performance to ensure fast load times, smooth navigation, and a seamless user
experience.
b) Scalability: The application should be able to handle a growing number of users and orders
without losing performance.
c) Security: The application should be secure and protect user data and. Implement robust security
measures to protect user data, payment information and prevent fraudulent activities, including
encryption, authentication, and authorization.
d) Usability: The application should be easy to use, with a clear and intuitive interface, and
accessible to people with disabilities.
e) Compatibility: The application should be compatible with different devices, platforms, and
screen sizes.
f) Availability: The application should be available 24/7, with minimal downtime for maintenance
or updates.
g) Reliability: The application should be reliable, with a low rate of errors or crashes.
h) Maintainability: The application should be easy to maintain, update, and fix bugs.
i) Localization: The application should support different languages and local currencies for users in
35
different regions.
j) Integration: The application should be able to integrate with other systems and services, such as
payment gateways, mapping services, and social media.
The Software product to be developed should run on existing Mobiles. The system will be
portable that can be run on :
➢ Android and iPhone mobile devices.
2.4.1.1 Software requirements
36
Chapter 3: System Design
➢ Client-Side Application:
The client-side application is what users interact with on their devices. It could be a mobile app
or a web application. The client-side application should have an intuitive user interface (UI)
and provide functionalities such as browsing products, placing orders, tracking deliveries, and
making payments.
➢ Server-Side Components:
The server-side components handle the business logic, data processing, and communication
with external systems. Some essential server-side components include:
Web Server: It handles HTTP requests from clients and serves dynamic content.
Application Server: It executes the core business logic and processes requests from the client-
side application.
Database Server:
It stores and retrieves data related to products, users, orders, and other relevant information.
Payment Gateway: It integrates with payment providers to facilitate secure and reliable
payment processing.
APIs and Integration: The delivery app may need to integrate with various external systems and
services. This could include integration with mapping services for tracking deliveries, payment
gateways for processing transactions, and third-party APIs for services like address validation
or real-time inventory management.
37
3.2 User Interface Design
38
39
Figure 8 login page
40
41
Figure 9 select role
42
43
Figure 10 add shop page
44
45
Figure 11 user home page
46
47
48
Figure 12 product detail page
49
50
Figure 13 check out page
3.3 Access control and security
51
Chapter Four: Implementation
Sample code
52
fontWeight: FontWeight.w500), TextCustom(
text: 'Delivery', color: Colors.black87,
fontWeight: FontWeight.w500), ],
) ],
), ),
const SizedBox(height: 20.0), Image.asset('assets/images/food-delivery-marker.png',
height: 150), const SizedBox(height: 30.0),
Container( alignment: Alignment.center,
child: const TextCustom( text: 'Welcome back!',
fontSize: 35, fontWeight: FontWeight.bold,
color: Color(0xff14222E)),
), const SizedBox(height: 5.0),
const Align( alignment: Alignment.center,
child: TextCustom( text:
'Use your credentials below and login to your account.', textAlign:
TextAlign.center,
color: Colors.grey, maxLine: 2,
fontSize: 16), ),
const SizedBox(height: 50.0), const TextCustom(text: 'Email Address'),
const SizedBox(height: 5.0), FormFieldFrave(
controller: _emailController, hintText: 'email@frave.com',
keyboardType: TextInputType.emailAddress, validator: (String? value) {
if (value == null || value.isEmpty) { return 'Please enter your email';
54
Chapter Five: Testing and Evaluation
55
References
[1] https://www.w3schools.com/
(to refer different programming language and framework )
[2] www.google.com
(to refer related document with my project )
[3] www.youtube.com
(to watch related videos with my project )
[3] https://docs.flutter.dev/ui
[4] https://firebase.google.com/
56
57