Mobile Repairing Web Application Document with mockups
University Institute of Information Technology,
PMAS-Arid Agriculture University,
Rawalpindi Pakistan
MobFix
By
Humna Imran
20-ARID-768
Supervisor
Dr. Sadia Ali
Bachelor of Science in Software Engineering -)
The candidate confirms that the work submitted is their own and appropriate
credit has been given where reference has been made to the work of others.
DECLARATION
We hereby declare that this software, neither whole nor as a part has been copied out from any
source. It is further declared that we have developed this software documentation and
accompanied report entirely on the basis of our personal efforts. If any part of this project is
proved to be copied out from any source or found to be reproduction of some other. We will
stand by the consequences. No Portion of the work presented has been submitted of any
application for any other degree or qualification of this or any other university or institute of
learning.
Student Name 1
Student Name 2
Student Name 3
CERTIFICATE OF APPROVAL
II
It is to certify that the final year project of BS (SE) “MobFix” was developed by “Humna
Imran, 20-Arid-768 under the supervision of “Dr. Sadia Ali” and that in their opinion; it is
fully adequate, in scope and quality for the degree of Bachelors of Science in Software
Engineering.
Supervisor
(Mr. Imran Khurram OR Mr. Zeeshan Javed)
External Examiner
Administrator UIIT
III
Executive Summary
In public places, there is often a need for monitoring people and different activities going on,
which can be referred later for many reasons including security. Appointing humans for this
task involves many problems such as increased employee hiring, accuracy problem, trust, no
proof for later use, and also the fact that a human can remember things till a certain time limit.
Talking about the current security system, they use dumb still cameras with a continuous
recording facility irrespective of the fact that any event may happen or not. Moreover they are
usually pointing at a specific user defined locations so more than one cameras are required to
cover the entire region.
To prevent all these problems from prevailing, the CSCS is developed. It is a surveillance
system, which provides solution to many of these problems. It is a stand-alone application
which doesn’t require any computer to operate. It monitors different situations using a camera
which is able to rotate intelligently based on sensor messages and captures the scene in the
form of video or photos later reference as well.
Customizable Surveillance Control System (CSCS) is a surveillance system that can be
assigned a sensor type as in our case a heat sensor is used, it works accordingly, rotates the
camera upon event detection and perform user defined actions like capturing video and stores
them, for the future use.
It is an embedded system consisting of Linux fox kit with embedded a running server
application also a camera, USB storage device and a sensor node base station is attached with
fox kit. LAN communication is used by user to download the videos and to operate the system
manually.
IV
Acknowledgement
All praise is to Almighty Allah who bestowed upon us a minute portion of His boundless
knowledge by virtue of which we were able to accomplish this challenging task.
We are greatly indebted to our project supervisor “Dr. Kashif Sattar” and our Co-Supervisor
“Dr. Tariq Ali” for personal supervision, advice, valuable guidance and completion of this
project. We are deeply indebted to him/her/them for encouragement and continual help during
this work.
And we are also thankful to our parents and family who have been a constant source of
encouragement for us and brought us the values of honesty & hard work.
Student Name 1
Student Name 2
V
Student Name 3
Abbreviations
SRS
Software Requirement Specification
PC
Personal Computer
cPanel
Control panel
SSL/TLS
Secure Sockets Layer/Transport Layer Security
HTTPS
Hypertext Transfer Protocol Secure
SQL
Structured Query Language
FTP
File Transfer Protocol
CSS
Cascading Style Sheets
PHP
Hypertext Preprocessor
API
Application Programming Interface
DNS
Domain Name System
IP
Internet Protocol
VI
Table of Contents
Introduction ............................................................................................................................. 1
1.1
Brief .......................................................................................................................... 2
1.2
Relevance to Course Modules .................................................................................. 2
1.3
Project Background ................................................................................................... 3
1.4
Literature Review ..................................................................................................... 3
1.5
Methodology and Software Life Cycle .................................................................... 5
Problem Definition .................................................................................................................. 6
2.1
Purpose ...................................................................................................................... 7
2.2
Product Functions ..................................................................................................... 7
2.3
Proposed Architecture ............................................................................................... 7
2.4
Project Deliverables .................................................................................................. 8
2.5
Operating Environment ............................................................................................. 8
2.6
Assumptions and Dependencies ................................................................................ 8
Requirement Analysis ............................................................................................................. 9
3.1
Functional Requirments .......................................................................................... 10
3.2
Non – Functional Requirments ............................................................................... 11
3.2.1 Usability .............................................................................................................. 11
3.2.2 Reliability ............................................................................................................ 11
3.2.3 Performance ........................................................................................................ 11
3.2.4 Supportability ...................................................................................................... 11
3.2.5 Design Constraints .............................................................................................. 11
3.2.6 Licensing Requirements ...................................................................................... 11
3.3
Use case Model ....................................................................................................... 12
3.3.1 Use Case Diagarm ............................................................................................... 12
3.3.2 Actors Discription ............................................................................................... 16
3.3.3 Use Case Discription ........................................................................................... 17
The Design ............................................................................................................................. 21
4.1
UML Structural Diagrams....................................................................................... 22
VII
4.1.1 Component Diagram ........................................................................................... 22
4.1.2 System Component Diagram .............................................................................. 24
4.1.3 Package Diagram ................................................................................................ 25
4.1.4 Deployment Diagram .......................................................................................... 26
4.2
UML Behavioral Diagrams ..................................................................................... 27
4.2.1 Activity Diagrams ............................................................................................... 27
4.2.2 State Machine Diagrams ..................................................................................... 29
4.3
UML Interaction Diagrams ..................................................................................... 30
4.3.1 Sequence Diagrams ............................................................................................. 30
4.4
Node Structure ......................................................................................................... 31
4.5
Communication Design Protocol ............................................................................. 32
Implementation ..................................................................................................................... 33
5.1
Communication Protocol Implementation .............................................................. 34
5.2
PC Application Implementation .............................................................................. 36
5.3
Embedded Application Implementation .................................................................. 38
5.4
Wireless Sensor Application Implementation ......................................................... 51
Testing and Evaluation ......................................................................................................... 52
6.1
Verification ............................................................................................................. 53
6.1.1 Functional Testing ............................................................................................... 53
6.1.2 Static Testing....................................................................................................... 57
6.2
Validation ................................................................................................................ 57
6.3
Usability Testing ..................................................................................................... 57
6.4
Unit Testing ............................................................................................................ 57
6.5
Integration Testing .................................................................................................. 57
6.6
System Testing........................................................................................................ 57
GUI ......................................................................................................................................... 58
Future Work .......................................................................................................................... 70
References .............................................................................................................................. 72
VIII
List of Figures
Fig 1.1 Block Diagram ..............................................................................................................8
Fig 2.1 Use Case Diagram ........................................................................................................9
IX
List of Tables
Table 1.1 Data Table ................................................................................................................. 8
Table 2.1 Results ....................................................................................................................... 9
X
1.1
Chapter 1: Introduction
This chapter provides the overview of the project. The first paragraph of every chapter should
provide the chapter summary.
1.1.
Brief
1.1.1
Project Introduction:
The multi-vendor e-commerce mobile repairing web application project aimed to create a
platform where customers can select their mobile brand and model, choose a repair service,
and connect with relevant vendors for repairs. This report sketches the project's objectives,
methodologies, tools used, key findings, and discussions.
1.1.2 Outcome of the Project:
The project successfully developed a user-friendly platform that enables customers to
easily choose their mobile brand, model, and repair type. It also allows vendors to
showcase their profiles, connect with customers, and offer repair services. The project's
outcomes include increased convenience for customers, business opportunities for
vendors, and efficient service delivery.
1.1.3 Tools and Methodology Used:
1.1.3.1 Web Development Tools: The project utilized web development technologies like
HTML, CSS, JavaScript, and PHP for building the applications front-end and backend.
1.1.3.2 Database Management: A relational database system MySQL was used to store
user data, vendor information, and repair service details. Laragon includes MySQL
for database management
1.1.3.3 Version Control: Git and GitHub helped with version control and collaborative
development.
1.1.3.4 Agile Methodology: Agile principles, such as iterative development and
continuous feedback, were adopted for project management.
1.1.3.5 API Integration: The Easypost API was integrated to offer delivery services for
mobile devices between vendors and customers. And Jazzcash Api was integrated
for payment gateway.
1
1.1.4 Highlights of Discussions in Report Chapters:
1.1.4.1 Introduction: The introduction sets the stage, succinctly presenting the project's
essence. It aligns the project with course modules, explores its background, reviews
existing literature, and outlines the chosen methodology
1.1.4.2 Problem Definition: This section defines the project's purpose, functions,
proposed architecture, deliverables, operating environment, and dependencies,
offering a comprehensive understanding of the project's scope and objectives.
1.1.4.3 Requirement Analysis: The chapter dives into functional and non-functional
requirements, covering usability, reliability, performance, supportability, design
constraints, licensing, and detailed use case modeling.
1.1.4.4 The Design: Structural and behavioral UML diagrams provide a visual roadmap
for the system's design, including components, system structure, packages,
deployment, activity, state machine, and interaction diagrams.
1.1.4.5 Implementation: The implementation phase details the practical realization of
communication protocols and the development of applications for PC, embedded
systems, and wireless sensors.
1.1.4.6 Testing and Evaluation: Verification and validation strategies, including
functional, static, usability, unit, integration, and system testing, ensure the system's
robustness and adherence to requirements.
1.1.4.7 GUI :The Graphical User Interface (GUI) chapter focuses on the user-centric
design elements, enhancing the overall user experience.
1.1.4.8 Future Work: The report concludes with insights into potential future
enhancements, expansions, or improvements for the multi-vendor e-commerce mobile
repairing web application.
1.1.4.9 References: The final section acknowledges and cites the sources that contributed
to the report's development.
1.1.5 Relevance to Course Modules
As I am developing a Multi-vendor E-commerce Mobile Repairing Web Application using
Laravel, the relevance of the various courses I've studied during my BS in Software
Engineering degree can be applied in the context of Laravel, a popular PHP web
framework. Here's how those courses relate to a Laravel-based project:
Programming Fundamentals and Object-Oriented Programming: I'll use
PHP, which is an object-oriented language, to build my application in Laravel.
2
Understanding programming fundamentals and OOP principles is essential for
effective development.
Database: Laravel provides an elegant, built-in ORM (Object-Relational
Mapping) called Eloquent, which simplifies database operations. My knowledge of
databases can be applied to design and work with the database schema effectively.
Software Design and Architecture: Laravel follows the MVC (Model-ViewController) architectural pattern. My knowledge of software design principles and
architectural patterns will help me structure my application using Laravel's capabilities.
Modern Programming Languages: Laravel is a modern PHP framework, so
my knowledge of modern programming languages will directly apply to writing clean
and efficient code within the framework.
Networking: While Laravel doesn't specifically cover networking, my
understanding of networking can be useful in cases where I need to work with APIs,
integrate external services, or ensure secure data transmission in my application.
Human-Computer Interaction: My HCI knowledge will help in designing
user-friendly interfaces and ensuring that the user experience of the application is well
thought out, which is crucial for the success of an e-commerce application.
Introduction to Management: Project management skills are vital for managing
the development process, timelines, and resources effectively while using Laravel as
the framework.
Requirement Engineering: Laravel projects require a clear understanding and
documentation of requirements to ensure that the framework is used to build the right
features and functionalities.
Software Quality Engineering: I can apply testing methodologies, quality
assurance techniques, and best practices for code quality within the Laravel framework.
Information Security: Security is critical in e-commerce applications.
While Laravel provides some built-in security features, my knowledge of information
security will help me secure the application against potential threats.
Overall, using Laravel for my Multi-vendor E-commerce Mobile Repairing Web
Application project leverages the power of a well-established PHP framework. My
academic background and courses in software engineering will provide me with a solid
foundation to effectively develop and manage my project within the Laravel ecosystem
3
1.2.
Project Background
The background of this project explores into the emerging field of multi-vendor ecommerce for mobile repair services. It outlines the concept of this innovative marketplace,
highlighting how it addresses the challenges in the mobile repair industry. In this advanced
application, the central idea revolves around creating an integrated marketplace where
various mobile repair vendors can offer their services, and customers can easily find, book,
and track repairs for their mobile devices. Unlike traditional repair service models, this
platform brings together a numerous array of mobile repair experts, creating a one-stop
destination for customers seeking efficient and reliable solutions for their mobile device
issues. The project aims to streamline the repair service industry by providing a userfriendly interface for customers to explore, select, and engage with different vendors based
on their specific repair needs.
1.3.
1.3.1
Literature Review
iFixit:
iFixit is a well-known online platform for DIY repair guides and tools. It provides stepby-step instructions and tools for users to fix their own devices. However, it lacks a
comprehensive vendor network and professional repair services, limiting its scope to DIY
enthusiasts [1].
1.3.2
uBreakiFix:
uBreakiFix offers professional repair services for various electronic devices, including
mobile phones. It has a physical presence in multiple locations. However, its reach may
be limited to specific regions, and users might need to visit a physical store for repairs [2].
1.3.3
iSmash:
iSmash is a chain of repair shops that specializes in fixing electronic devices, primarily
smartphones and tablets Specialized repair services like those offered by iSmash might
come with a premium price tag, potentially dissuading cost-conscious customers from
seeking their services. [3].
1.4.
Analysis from Literature Review (in the context of your project)
An analytical discussion of the Multi-vendor E-commerce Mobile Repairing Web
Application in comparison with the platforms mentioned in the literature review can
provide insights into its potential strengths and unique selling points:
iFixit vs. MobFix:
iFixit primarily targets DIY enthusiasts who want to repair their devices themselves. In
contrast, the Multi-vendor E-commerce Mobile Repairing Web Application serves a
4
broader user base by connecting users to professional repair services. It caters to customers
who may not have the skills, tools, or time for DIY repairs. While iFixit focuses on
providing repair guides and tools, the Multi-vendor E-commerce Mobile Repairing Web
Application goes a step further by offering a network of professional repair vendors. This
platform serves users who prefer a hassle-free, professionally handled repair process. The
Multi-vendor E-commerce Mobile Repairing Web Application has the potential to offer a
wider range of repair services through multiple vendors, making it a comprehensive
solution for various mobile device issues.
uBreakiFix vs. MobFix:
uBreakiFix offers professional repair services with physical locations in multiple regions.
The Multi-vendor E-commerce Mobile Repairing Web Application can compete by
providing a similar level of professionalism through its network of repair vendors. One of
the key differences is that uBreakiFix is primarily a brick-and-mortar solution, requiring
customers to physically visit their stores for repairs. The Multi-vendor E-commerce Mobile
Repairing Web Application offers the advantage of remote access to repair services,
making it more convenient for users. The Multi-vendor E-commerce Mobile Repairing
Web Application can potentially offer a broader reach, serving customers in regions where
uBreakiFix might not have a physical presence
iSmash vs. MobFix:
ISmash is a chain of specialized repair shops that cater to electronic devices, primarily
smartphones and tablets. The Multi-vendor E-commerce Mobile Repairing Web
Application can differentiate itself by offering a more extensive network of repair vendors,
potentially covering a broader range of devices and repair types. Specialized repair
services, like those offered by iSmash, might come with a premium price tag. In contrast,
the Multi-vendor E-commerce Mobile Repairing Web Application can potentially provide
competitive pricing through vendor competition. The Multi-vendor E-commerce Mobile
Repairing Web Application's online platform offers users the convenience of browsing and
selecting repair services from various vendors, making it a more user-centric and flexible
solution.
Criteria
Table 1.41.4.4: Comparison Table
Scope
iFixit
Extensive DIY repair
guides and parts. Strong
community
involvement.
5
Shortcomings
iFixit's primary focus
is on DIY repair
guides and selling
replacement parts. It
lack the convenience
of professional repair
services for users
who prefer experts to
fix their devices.
uBreakiFix
Ismash
1.5.
Professional repairs for
various
devices.
Transparent
pricing;
walk-in and mail-in.
Nationwide
repair
centers.
iSmash specializes in
repairing smartphones
and tablets, offering
quick
and
reliable
solutions for issues like
broken screens and
battery replacements.
potentially missing out
on a broader customer
base..
Mixed
service
quality;
inconsistency.
Varying
warranty
terms;
potential
disputes.
Userreported
inconsistencies
in
service.
If iSmash primarily
operates within a
specific region, it
might
limit
accessibility
for
customers
outside
that area, potentially
missing out on a
broader
customer
base.
Methodology and Software Lifecycle for This Project
1.5.1 Agile Methodology:
Agile methodologies allow for flexibility and adaptability, which is crucial in the everchanging e-commerce and mobile repairing domains. Agile involves iterative development
cycles, enabling you to release features incrementally, which is beneficial for a multivendor e-commerce platform. Collaboration with customers and stakeholders is
encouraged, ensuring that the application meets their needs.
1.5.2 Rationale behind Selected Methodology
The rationale for choosing Agile methodology lies in its ability to respond to changes
quickly. In the e-commerce industry, market trends and customer preferences can change
rapidly. Agile allows you to adapt to these changes through frequent iterations and
feedback.
6
Chapter 2: Problem Definition
2.1.
Problem Statement
Addressing the inefficiencies in traditional mobile repair processes, the multi-vendor
mobile repairing web application seeks to create a centralized platform connecting
customers with repair vendors. The existing system lacks comprehensive vendor profile
management system. This deficiency is causing several issues and limitations for both
vendors and customers, hindering the overall efficiency and functionality of the platform.
2.2.
Deliverables and Development Requirements
Deliverables and development requirements are as follows.
2.2.1 FYP-1 Mid Deliverable:
Project Introduction: A clear and concise introduction to the multi-vendor e-commerce
mobile repairing web application project.
Problem Definition: A detailed problem statement highlighting the challenges in the
mobile repairing industry that the application aims to address.
Requirement Analysis: Visual representation of the interactions between users and the
system to ensure all requirements are accounted for during development.
The Design: An overview of the high-level architectural design of the multi-vendor ecommerce mobile repairing web application.
2.2.2 FYP-1 Final Deliverable:
User Authentication: Allow users to register, log in, and manage their accounts.
Basic Frontend Structure: Create the basic frontend structure of the application using
Laravel Blade templates. Build placeholder pages for essential features like the
homepage, service listings, and user dashboard.
Admin Dashboard (Partial): Start development of the admin dashboard for system
management. Include basic features for monitoring user accounts, vendor verification, and
transaction details.
Database Integration: Establish the necessary database connections and create tables to
store user data, vendor details, services, orders, and reviews.
Documentation (Partial): Document any setup or configuration steps for future
development.
7
2.2.3 FYP-2 Mid-Term Deliverable:
Advanced Frontend Development: Implement additional frontend features to enhance
the user experience.
Messaging and Notifications: Implement automated email/SMS notifications for order
updates, confirmations, and other relevant events.
Admin Dashboard (Extended): Expand the admin dashboard to include more
comprehensive system management tools.
APIs and Integrations: Integrate third-party services as needed, such as advanced
payment gateways, geolocation services, or analytics tools.
Detailed System Documentation: Provide in-depth documentation on each component
of the system, explaining their functionality and interactions.
2.2.4 FYP-2 Final Deliverable:
Advanced Backend Features: Optimize backend processes for better performance and
efficiency.
Security Audits and Enhancements: Implement additional security measures to fortify
the application against potential threats.
Testing Documentation (Final): Present a finalized testing documentation, including the
results of unit testing, integration testing, and user acceptance testing.
Final Deployment: Deploy the final version of the application to the production
environment, making it accessible to users.
8
1.2
3.1.
Chapter 3: Requirement Analysis
Use Cases
3.1.1 Use Case Diagram
Figure 3.1.1: Use Case Diagram
9
3.1.2 : Use Case Description:
Table 3.1.2.1 : Book Repair
Use Case ID:
Use Case Name:
Actors:
UC-1
Book Repair
Primary Actor: Customer
Primary Actor: Vendor
Description:
This use case describes the process of a customer booking a repair
service for their mobile device through mobfix . It involves the
customer selecting a mobile brand, mobile model and repair
service, scheduling the repair.
The customer wants to repair a mobile device, and they initiate
the booking process.
1. Customer is registered and logged into Mobfix.
2. The customer must has a mobile device in need of repair.
3. The customer has access to the repair services offered on the
platform.
4. System suggest the vendors for the chosen repair service.
[Describe the state of the system at the conclusion of the use case
execution. Should include both minimal guarantees (what must
happen even if the actor’s goal is not achieved) and the success
guarantees (what happens when the actor’s goal is achieved.
Number each post-condition. e.g.
Trigger:
Preconditions:
Post conditions:
1. Customer receives cash
2. Customer account balance is reduced by the amount of the
withdrawal and transaction fees]
Minimal Guarantee:
1. If the repair request is not successfully booked, the system
provides feedback to the customer to explain the reason for
the failure.
Success Guarantee (when the actor's goal is achieved):
1. A repair vendor is assigned to the customer's repair request.
2. The system schedules the repair service based on the
availability of the assigned technician.
3. The customer navigates to confirmation of the repair booking
page, including details such as the appointment date and time,
the assigned vendor information, and relevant instructions.
Normal Flow:
1. Customer logs into the mobile repairing web application.
2. Customer can visit to Home page, About us page and can get
step by step guide to use our website
3. Customer navigates to “Fix Your Stuff” page.
4. Customer select the mobile brand from drop down
5. System loads all the relavant models of selected brand.
10
6. Customer then select the model of his mobile from
dropdown.
7. Customer select the repair service from the next dropdown.
8. Customer click the Book repair button.
9. The system validates the availability of vendor.
10. A repair technician is assigned to the booking.
11. Customer reviews the booking details and confirms.
12. The system sends a confirmation to the customer.
13. The repair vendor is notified of the booking.
Alternative
Flows:
[Alternative
Flow 1 – vendor
is unavailable]
9a –In step 6, if no repair vendor is available for the selected
model:
1. The system informs the customer of unavailability.
2. Customer can select an alternative mobile model.
3. Steps 6 to 10 are repeated.
4. Use Case resumes on step 6
Exceptions:
In step 4,5,7, if the customer didn’t select any listed item of
dropdown than
1. The system prompts the customer to select the listed model/
brand/repair service
2. Steps 4 to 10 are repeated.
Includes:
Special
Requirements:
None
1. The system must handle a large number of concurrent
bookings efficiently.
2. Real-time communication is required between the customer,
system, and repair technicians for booking updates.
Assumptions:
1. Customers have basic knowledge of their mobile devices
and repair requirements.
2. Vendors (repair technicians) are registered on the platform
and available for service.
NA
Notes and Issues:
Table 3.1.2.2: Process Payment
Use Case ID:
Use Case Name:
Actors:
UC-2
Process Payment
Primary Actor: Customer
Secondary Actor: stripe Payment Gateway Secondary
Description:
This use case describes the process of a customer making a
payment for mobile repairing services using either the stripe
11
Trigger:
Preconditions:
Post conditions:
Normal Flow:
Alternative
Flows:
Exceptions:
Includes:
Special
Requirements:
or EasyPaisa payment gateway, and the subsequent receipt of
payment by the vendor.
The customer initiates the payment process to pay for mobile
repairing services.
1. The customer has requested mobile repairing services.
2. The mobile repairing service order has been confirmed.
3. The customer has an active internet connection.
4. The customer has provided valid payment information.
5. The vendor is registered to receive payments through
easypost or Easy Paisa.
1. The customer's payment is successfully processed.
2. An electronic payment receipt is generated and sent to the
customer's email.
3. The vendor's account is credited with the payment for the
mobile repairing service.
1. The customer selects either stripe or Easy Paisa as the
payment method.
2. The system redirects the customer to the selected payment
gateway.
3. The customer enters their payment gateway account
credentials.
4. The customer confirms the payment amount for the mobile
repairing service.
5. The selected payment gateway validates the payment
information.
6. The selected payment gateway processes the payment and
sends a confirmation to the system.
7. An electronic payment receipt is generated and sent to the
customer's email.
8. The vendor's account is credited with the payment for the
mobile repairing service.
N/A
3a: In step 3 ,If the customer's payment information is invalid or
declined by the selected payment gateway:
• The system displays an error message.
• The customer can retry or choose a different payment
method.
1a: In step 1, If the selected payment gateway is temporarily
unavailable:
3.2.1 The system displays a message to try again later
N/A
1. The system must securely transmit payment data to the
selected payment gateway (stripe or EasyPaisa).
2. The system must handle customer payment information in
compliance with payment card industry data security
standards (PCI DSS).
12
Assumptions:
1. The selected payment gateway (stripe or EasyPaisa) is
operational and can process payments.
2. The vendor has a valid account to receive payments.
3. The vendor's account information is correctly configured in
the system for payment processing.
Notes and Issues: The electronic payment receipt sent to the customer should
contain payment confirmation and contact information for
customer support.
Table 3.1.2.3: Deliver Process
Use Case ID:
Use Case Name:
Actors:
UC-3
Delivery Process
Primary Actor: Customer
Primary Actor: Vendor
Secondary Actor: Easypost Delivery Service
Description:
This use case outlines the process of delivering the customer's
mobile device from the customer to the vendor for repair and
returning it from the vendor to the customer upon completion of
the repair, including order tracking facilitated by the Easypost
API.
The customer initiates the delivery process by confirming their
mobile device repair order.
1. The customer has successfully placed an order for mobile
device repair.
2. The vendor has confirmed the order.
3. The Easypost delivery service is available and operational.
4. The customer has provided a valid delivery address.
5. The vendor is equipped to perform the mobile device repair.
6. The Easypost API integration is in place for order tracking.
Trigger:
Preconditions:
Postconditions:
1. The customer's mobile device is successfully delivered to the
vendor for repair.
2. The customer receives a delivery confirmation with an order
tracking code.
3. The vendor receives the mobile device for repair.
4. After repair, the customer's mobile device is returned to the
customer.
5. The customer receives the repaired mobile device.
6. The customer confirms the successful delivery and receipt
of the repaired device.
Normal Flow:
1. The customer confirms the repair order.
2. The system contacts the Easypost Delivery Service via
the Easypost API.
13
3. The Easypost Delivery Service dispatches a rider to
the customer's location.
4. The rider collects the mobile device from the customer.
5. The rider delivers the mobile device to the vendor.
6. The vendor receives the mobile device for repair.
7. The vendor performs the necessary repair or maintenance on
the mobile device.
8. The vendor notifies the system when the repair is completed.
9. The system contacts the Easypost Delivery Service via
the Easypost API again.
10. The Easypost Delivery Service dispatches a rider to
the vendor's location.
11. The rider collects the repaired mobile device from the
vendor.
12. The rider delivers the repaired mobile device to the
customer.
13. The customer receives the repaired mobile device.
14. The customer confirms successful delivery and receipt.
Alternative
Flows:
[Alternative
Flow 1 –
Easypost
service
unavailable]
Exceptions:
2a: in step 2 if Easypost service is temporarily unavailable:
1. system will inform the customer about the delay and
reschedule the delivery when the service becomes available.
Includes:
Special
Requirements:
N/A
The Easypost API must be integrated to facilitate the
communication and order tracking between the system,
customer, vendor, and Easypost Delivery Service.
1.
The Easypost Delivery Service operates in the geographic
area where the service is requested.
2.
The Easypost API integration is properly set up
and functional.
3.
The vendor is equipped to perform the mobile device repair.
4.
The customer has provided accurate and accessible delivery
and contact information.
Assumptions:
N/A
Notes and Issues: The use of the Easypost API for order tracking and delivery
should be thoroughly tested and monitored to ensure a seamless
process
for the customer and vendor.
14
Table 3.1.2.4 : Manage Vendor Profile
Use Case ID:
Use Case Name:
Actors:
Description:
Trigger:
Preconditions:
UC-4
Manage Vendor Profile
Primary Actor: Vendor (Store)
This use case involves the vendor (store) managing specific
aspects of their store's profile. The vendor can update information
related to their store, including images, location, operating hours,
prices, and services they are offering.
The vendor wants to update or manage their store's profile
information.
1. The vendor is registered on the platform.
2. The vendor is logged into their account.
3. The vendor is currently on the "Manage Vendor Store
Profile" section of their account.
Postconditions:
1. The vendor's store profile information is updated with the
new data.
2. Customers can view the updated store profile with the new
information.
Normal Flow:
1. The vendor logs into their account.
2. The vendor navigates to the "Manage Vendor Store Profile"
section.
3. The vendor selects the option to edit their store profile.
4. The vendor can update the following information:
5. Upload pictures of the store.
6. Set the location of the store.
7. Specify operating hours.
8. Update prices for products or services.
9. Specify the services they are offering.
10. The vendor saves the changes.
11. The system updates the store profile with the new
information.
4a. In step If the vendor cancels the editing process:
Alternative
1. The system does not save any changes made during the
Flows:
editing, and the store profile remains unchanged.
[Alternative
Flow 1 – vendor
cancels
the
editing process]
In step 10. If there are technical issues or errors during the store
Exceptions:
profile editing:
1.
The system displays an error message to the vendor.
2.
The vendor may need to retry the editing process.
Includes:
Special
Requirements:
N/A
1. The system should have the capability to upload images.
15
2. The system should validate the location information provided
by the vendor.
3. The system should allow the vendor to specify operating
hours, prices, and the services they are offering.
Assumptions:
1. The vendor is familiar with the platform's user interface and
the "Manage Vendor Store Profile" section.
2. The vendor is responsible for providing accurate and up-todate information.
Notes and Issues: It is important to ensure that the information displayed on the
store profile is accurate and represents the store effectively. The
system calculates chat response time, chat response rate, positive
seller ratings, and reviews based on customer interactions and
feedback.
Table 3.1.2.5: Give Feedback
Use Case ID:
Use Case Name:
Actors:
Description:
Trigger:
Preconditions:
UC-5
Give Feedback
Primary Actor: User (Customer)
Primary Actor: Vendor (Service Provider)
This use case involves the user (customer) providing feedback
for the service they received from the vendor (service provider)
after getting their mobile repaired. The feedback and review
provided by the user will appear on the vendor's profile
The user has received mobile repair service from the vendor and
wants to provide feedback.
he user must have received mobile repair service from the vendor.
he user must be logged into their account.
he vendor who provided the service must be associated with the
r's order.
Postconditions:
1. The feedback and review provided by the user are recorded
in the system.
2. The feedback and review appear on the vendor's profile.
Normal Flow:
1. The user logs into their account.
2. The user navigates to the "Give Feedback" section.
3. The user selects the order for which they want to provide
feedback (typically the order related to mobile repair).
4. The user provides feedback and a review for the vendor.
5. The user submits the feedback.
6. The system records the feedback and associates it with the
vendor's profile.
16
7. The feedback and review provided by the user are displayed
on the vendor's profile.
Alternative
Flows:
N/A
Exceptions:
5a, in step 5, If there are technical issues or errors during the
feedback submission:
1. The system displays an error message to the user.
2. The user may need to retry the feedback submission.
Includes:
Special
Requirements:
N/A
1. The system should allow users to provide text-based feedback
and reviews.
2. The feedback and review provided by the user should be
displayed on the vendor's profile.
Assumptions:
1. The user is familiar with the platform's user interface and the
process of giving feedback.
2. The user has received a mobile repair service from the vendor
they want to provide feedback for
Notes and Issues: It is essential to ensure that feedback and reviews are
appropriately moderated to maintain the integrity of the platform
and avoid misuse. Additionally, the user's ability to provide
feedback should be restricted to services they have genuinely
received.
Table 3.1.2.6: Vendor Approval
Use Case ID:
Use Case Name:
Actors:
UC-6
Vendor Approval
Primary Actor: Admin
Description:
This use case describes the process of vendor approval by the
admin. Vendors who wish to join the platform need approval
from the admin to offer their services and products on the
website.
The trigger for this use case is when a vendor registers on the
platform and requests approval to introduce his store on platform
1. The admin is logged into the admin panel.
2. The vendor has submitted a registration request.
3. The vendor's registration request is pending approval.
1. The vendor is either approved or rejected by the admin.
2. If approved, the vendor gains access to the platform as an
authorized seller.
Trigger:
Preconditions:
Postconditions:
17
Normal Flow:
3. If rejected, the vendor's registration is denied, and they are
informed of the rejection.
1. The admin logs into the admin panel.
2. The admin navigates to the vendor management section.
3. The admin reviews the list of pending vendor registration
requests.
4. For each vendor request:
5. The admin examines the vendor's details, business
information, and provided documents.
6. The admin may conduct additional verification if required.
7. The admin makes a decision to either approve or reject the
vendor.
8. If approved, the admin notifies the vendor about their
approval.
9. If rejected, the admin informs the vendor about the rejection
reason.
10. The admin updates the vendor's status in the system as
approved or rejected.
11. The vendor receives a notification of the admin's decision.
12. If approved, the vendor gains access to their vendor
dashboard and can start offering products and services.
Alternative Flow
2 – Request for
Additional
Information:
4a In step 4 of the normal flow, if the admin encounters
discrepancies or needs more information to make a decision,
1. the admin requests additional documentation or clarification
from the vendor.
2. The admin sends a notification to the vendor, specifying the
required documents or information.
3. The vendor receives the request for additional information
and acknowledges it.
4. The vendor provides the requested documents or
clarifications within the specified timeframe.
5. The admin reviews the provided documents or information.
6. If the additional information satisfies the admin's
requirements and verifies the vendor's authenticity, the admin
proceeds with the approval process.
7. If the additional information is insufficient or does not meet
the admin's requirements, the admin may reject the vendor's
registration.
8. The vendor is notified of the admin's decision, whether it is
approval or rejection.
Exceptions:
2a. in step 2 If the admin encounters issues with verifying the
vendor's information, the admin may request additional
documentation or clarification from the vendor.
Use case resumes from step 4
None
1. The system should have a user-friendly interface for admin to
efficiently review and approve/reject vendor requests.
Includes:
Special
Requirements:
18
2. The admin should have the ability to provide feedback to
rejected vendors regarding the reason for rejection.
Vendors have submitted accurate and truthful information during
the registration process.
Notes and Issues: It's essential to provide clear communication to both approved
and rejected vendors regarding their registration status and next
steps.
Assumptions:
Table 3.1.2.7: Monitor System
Use Case ID:
Use Case Name:
Actors:
Description:
Trigger:
Preconditions:
Postconditions:
Normal Flow:
Alternative
Flows:
Exceptions:
Includes:
Special
Requirements:
UC-7
Monitor System
Primary Actor: Admin
This use case allows the admin to monitor the multi-vendor ecommerce mobile repairing web application system. The admin
can access and review various aspects of the system's
performance, user activities, and vendor activities to ensure
smooth operation.
The trigger for this use case is when the admin logs into the admin
panel and initiates system monitoring.
1. The admin is logged into the admin panel.
2. The system is operational and running.
The admin gains insights into the system's status and its various
components, including user activities, vendor activities, and
performance metrics.
1. The admin logs into the admin panel.
2. The admin navigates to the system monitoring section.
3. The admin views the system's dashboard, displaying realtime data on user and vendor activities, system performance,
and security.
4. The admin can access detailed reports on user login/logout
activities, vendor product listings, and orders placed.
5. The admin can track the system's response times and resource
utilization.
6. The admin can monitor any security alerts and take necessary
actions to ensure system security.
7. The admin can generate performance reports for analysis.
None
None
None
1. The admin interface should provide clear and concise system
monitoring data.
2. Real-time monitoring tools should be available to the admin.
19
3. The system should have mechanisms in place to prevent
security breaches.
The admin is trained to interpret the data provided by the system
monitoring tools effectively.
Notes and Issues: None
Assumptions:
Table 3.1.2.8 : Buy a Phone
Use Case ID:
Use Case Name:
Actors:
UC-8
Buy a Phone
Primary Actor: Customer
Primary Actor: Vendor
Description:
This use case allows the customer to purchase a phone from a
vendor through the multi-vendor e-commerce mobile repairing
web application. Customers can browse through available
phones, select their desired phone, and initiate the purchase.
The trigger for this use case is when a customer decides to buy a
phone listed by a vendor and starts the purchase process.
1. The customer is logged into the web application.
2. The vendor has listed phones available for sale.
3. The phone chosen by the customer is in stock.
1. The customer successfully buys the phone.
2. The purchased phone is added to the customer's order history.
3. The vendor receives a notification of the sale.
4. The customer's payment is processed.
Trigger:
Preconditions:
Post conditions:
Normal Flow:
1. The customer logs into the web application.
2. The customer browses the phone listings from various
vendors.
3. The customer selects a phone they wish to purchase.
4. The customer views detailed information about the selected
phone.
5. The customer adds the phone to their cart.
6. The customer reviews the items in their cart.
7. The customer proceeds to the checkout process.
8. The customer provides shipping and payment information.
9. The system calculates the total cost, including taxes and
shipping fees.
10. The customer confirms the purchase.
11. The system processes the payment.
12. The system notifies the vendor of the purchase.
13. The vendor prepares the phone for shipping.
14. The system confirms the order and provides an order
confirmation to the customer.
20
15. The purchased phone is added to the customer's order history.
Alternative Flow 4a. In step 4, if the selected phone is out of stock:
1 - Phone Out of 1. The system informs the customer that the selected phone is
currently out of stock.
Stock:
2. The customer may choose an alternative phone or cancel the
purchase.
3. The purchase process ends.
Alternative Flow 11a: In step 11, if the payment cannot be processed:
2 - Payment 1. The system notifies the customer about the issue with the
payment processing.
Processing Issue:
2. The customer can choose to update payment information,
select a different payment method, or cancel the purchase.
3. If the payment issue is resolved, the process continues from
step 7.
4. If the customer cancels the purchase, the process ends.
Exceptions:
Includes:
Special
Requirements:
None
Payment Processing
1. The system should provide a user-friendly interface for
customers to browse and purchase phones.
2. Secure payment processing is essential to protect customer
payment information.
3. Real-time stock availability checks are necessary to prevent
customers from purchasing out-of-stock items.
Customers have accurate and up-to-date shipping and payment
information in their profiles.
Notes and Issues: None
Assumptions:
3.2.
Functional Requirements
3.2.1 Book Repair:
•
Customers can request repair services.
•
Customers specify their device details and issues.
•
Vendors can view and accept repair requests.
•
Customers receive confirmation when a vendor accepts their request.
3.2.2 Admin Dashboard & Reporting:
•
Admin has access to a dashboard for system monitoring.
•
Admin can generate reports on vendor performance, sales, and customer feedback.
21
3.2.3
Reviews & Ratings:
•
Customers can leave reviews and ratings for vendors.
•
Ratings contribute to a vendor's reputation on the platform.
•
Vendors can respond to reviews.
3.2.4
Payment Gateway Integration:
•
Integration with payment gateways for secure transactions.
•
Customers can make payments for repair services.
•
Vendors receive payments for completed services.
3.2.5 Advanced Search & Filters:
•
Customers can search for repair services using various filters.
•
Filters may include device type, location, price, etc.
3.2.6
Service Listings and Categories:
•
Vendors can create listings for their repair services.
•
Services are categorized by type, brand, and issue.
•
Customers can browse and choose from various service listings.
3.2.7 Delivery Module:
•
Option for customers to request device pickup and delivery.
•
Establish a secure connection to Easypost API for real-time delivery service requests.
•
Ensure data synchronization between the application and Easypost's platform.
•
Vendors can schedule pickups and communicate delivery times.
3.2.8 Vendor Profile Management:
•
Vendors can manage their profile, add services, and update contact information.
•
Profile displays vendor information, services offered, and reviews.
3.2.9 Product Details:
•
Provide detailed product information, including specifications, features, images, and
customer reviews.
22
•
Display pricing, availability, and warranty information.
3.2.10 Product Search and Filters:
•
Implement an advanced search feature to help customers find specific phone models.
•
Offer filtering options by brand, price, operating system, screen size, and other relevant
criteria.
3.2.11 Shopping Cart:
•
Allow customers to add phones to their shopping cart for future purchase.
•
Display the contents of the cart, including quantities and prices.
3.2.12 Checkout Process:
•
Streamline the checkout process with multiple payment options (credit/debit card,
digital wallets, cash on delivery).
•
Include address entry and verification for delivery.
3.3.
Non-Functional Requirements
3.3.1 Performance:
•
The system should provide rapid responses to user actions, ensuring minimal
delays in loading pages and processing transactions.
•
The application should scale horizontally to accommodate increased user traffic
and vendor activity.
•
The system should handle concurrent users and a large volume of product listings
without performance degradation.
3.3.2 Security:
•
Use encryption to secure user data, payment information, and sensitive
communications.
•
Implement strong user authentication and authorization mechanisms to prevent
unauthorized access.
•
Regularly back up data and have a robust recovery plan to prevent data loss in case
of failures.
•
Comply with industry standards and regulations related to data security and
privacy.
23
3.3.3
•
Availability:
Ensure high system availability, aiming for 99.9% uptime, with minimal planned
downtime.
3.3.4 Usability:
•
Ensure that the user interface is intuitive and easy to navigate.
•
Make the application accessible to users with disabilities by complying with
accessibility standards.
•
Optimize the application for compatibility with a range of web browsers.
3.3.5 Reliability:
•
Implement robust error-handling mechanisms to gracefully manage unexpected
situations.
•
Implement monitoring tools to track system health and performance in real-time.
3.3.6 Interoperability:
•
Facilitate integration with external services and APIs, such as payment gateways
and delivery services.
3.3.7 Licensing Requirements:
•
Research and comply with e-commerce regulations applicable in jurisdiction. This
may include consumer protection laws, electronic transactions regulations, and
other laws governing online businesses.
•
Obtain a business license to legally operate your mobile repairing web application.
3.3.8 Supportability :
•
Supportability of a multi-vendor e-commerce mobile repairing web application
involves ensuring that the platform is robust, scalable, and capable of providing
effective support to both vendors and customers. Scalability is essential as the user
base and transaction volume grow.
•
An intuitive and user-friendly interface for both vendors and customers can reduce
the need for extensive support by making the platform easy to navigate and
understand.
24
3.4 Traceability Matrix
Table 3.4.1 Requirement to Requirement Traceability
Requirement
/ Module
Vendor
Mgt &
Onboardi
ng
Book
Repair
Repair
Tracking
&
Notificati
ons
Admin
Dashboard
&
Reporting
Review
&
Rating
Payment
Gateway
Integrati
on
Service
Listings
and
categorie
s|
Vendor
Profile
Manage
ment
RQ-001:
User
Registration
RQ-002:
Vendor
Onboarding
RQ-003:
Book Repair
Service
RQ-004:
Track Repair
Status
RQ-005:
Admin
Dashboard
RQ-006:
User Reviews
& Ratings
RQ-007:
Payment
Gateway
Integration
RQ-008:
Advanced
Search &
Filters
RQ-009:
Service
Listings
RQ-010:
Delivery
Management
RQ-011:
Vendor
Profile
Management
RQ-012:
Warranty
Management
X
RQ-003
RQ-004,
RQ-010
X
X
X
X
X
X
X
X
X
X
X
RQ-009
RQ-011
X
X
X
RQ-004
RQ006
RQ-007
X
X
X
X
X
RQ-005
X
X
X
X
RQ-001
RQ-002
RQ-003,
RQ-010
X
X
X
X
X
X
X
X
X
X
X
X
X
RQ-005
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
RQ-002
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
RQ-002
X
X
X
X
X
X
X
X
RQ-003
X
X
RQ006
X
RQ-009
RQ-011
25
1.3
Chapter 4: Design and Architecture
This chapter will discuss the design and architecture of your system.
4.1.
System Architecture
The choice of system architecture for a multi-vendor e-commerce mobile repairing web
application is a critical decision that directly influences the performance, scalability, and
maintainability of the system.
Figure 4.1.: Block Diagram
4.2.
System Design
2.2.1 UML Structural Diagrams:
26
2.2.1.1 Component Diagram:
Figure 4.2.1.1: Component Diagram
27
2.2.1.2 System Component Diagram:
Figure 4.2.1.2: System Component Diagram
28
2.2.1.3 Package Diagram:
Figure 4.2.1.3: Package Diagram
29
2.2.1.4 Deployment Diagram:
Figure 4.2.1.4: Deployment Diagram
30
2.2.1.5
Class Diagram
Figure 2.2.1.5: class diagram
31
2.2.1.6 : Data Flow Diagram Level 0:
Figure 2.2.1.6 : Data Flow Level 0
32
2.2.1.7
Data Flow Level 1 :
Figure 2.2.1.7 : Data Flow Level 1
33
2.2.2 UML Behavioral Diagrams
2.2.2.1
Activity Diagrams
Figure 4.2.2.1.1: vendor profile management
34
Figure 4.2.2.1.2: Vendor Approval Processing
35
Figure 4.2.2.1.3: Get A Phone
36
Figure 4.2.2.1.4: Book Repair
37
2.2.2.2
State Transition Diagrams
Figure 2.2.2.2.1: Mobile delivery Module
38
Figure 2.2.2.2.2: Easypost Api state transition
39
2.2.3 UML Interaction Diagrams
2.2.3.1
Sequence Diagrams
Figure 2.2.3.1: Book Repair sequence diagram
40
Figure 2.2.3.2: Payment processing sequence Diagram
41
Figure 2.2.3.3:Buy phone sequence diagram
42
Figure 2.2.3.4: Vendor profile management Sequence Diagram
43
Chapter 5: Implementation
5.1.
Component Diagram
Figure 5.1.1: Component Diagram
44
5.1.2 Explanation
Mobfix Server:
The core server component that hosts and manages the entire system of the multi-vendor ecommerce mobile
repairing web application. It serves as the central hub for processing user requests, managing data, and
facilitating communication between different parts of the application.
Customer, Vendor, and Admin Interfaces:
These interfaces are the user-facing portals through which customers, vendors, and administrators interact
with the system. Each interface is tailored to the specific needs and roles of the users, providing access to
functionalities relevant to their respective roles.
Actors:
Represents the different types of users who interact with the system, including customers, vendors, and
administrators. Each actor has distinct permissions and capabilities within the application, allowing them to
perform specific actions based on their roles.
Data Processing Component:
Responsible for processing data within the system, including tasks such as data validation, transformation,
and storage. This component ensures the smooth flow of data between different parts of the application,
maintaining data integrity and consistency.
Operation Details Component:
Provides comprehensive information about the operations and functionalities available in the system. It serves
as a detailed reference guide for users and developers, helping them understand how different features work
and how to interact with the system effectively.
Database Package:
Represents the database system used by the application to store and retrieve data. It consists of multiple tables,
each representing a specific data entity such as customers, vendors, orders, and products. The database ensures
the secure storage and management of the application's data.
Communication Protocols:
Define the rules and conventions for communication between different components of the system. These
protocols ensure that data is transmitted securely and efficiently between the client-side interfaces, the serverside components, and the database, facilitating seamless interaction within the application.
BookRepair Component:
Streamlines the booking process for repair services, allowing users to select options, schedule appointments,
and submit requests. It ensures a smooth booking experience for customers.
Repair Tracking & Notifications Component:
Keeps users informed about the status of their repair orders, tracking progress and sending updates. Enhances
transparency and communication between users and service providers.
Admin Dashboard & Reporting Component:
Provides administrators with a centralized interface to manage system aspects, from viewing orders to
45
generating reports. Empowers efficient oversight of the platform.
Reviews & Ratings Component:
Enables users to submit feedback through reviews and ratings, curated and displayed with moderation and
filtering for authenticity and relevance.
Payment Gateway Integration Component:
Facilitates secure online transactions for repair services, handling payment processing and communication
with external providers.
Advanced Search & Filters Component:
Enhances user experience with advanced search and filtering options, improving service discoverability and
streamlining the search process.
Service Listings and Categories Component:
Manages vendor service catalogs, allowing creation, updating, and categorization of listings for easy browsing
by users.
Delivery Module Component:
Handles logistics for delivering repaired devices, tracking shipments and providing real-time updates for a
seamless delivery experience.
Vendor Profile Management Component:
Empowers vendors to manage their profiles, updating information and offerings to attract potential customers.
Warranty Management System Component:
Manages warranty claims and coverage, handling submission, validation, and processing to ensure timely
support for users.
Customer Profile Management Component:
Enables users to manage their profiles, updating personal information, viewing order history, and managing
preferences for a personalized experience.
5.2.
1.
Network and Protocol Choice
Communication Protocols:
HTTP/HTTPS: Utilizing Hypertext Transfer Protocol (HTTP) or its secure counterpart HTTPS for
communication between clients and servers. HTTPS should be prioritized to encrypt data transmission,
ensuring confidentiality and integrity.
RESTful API: Implementing Representational State Transfer (REST) architecture for developing APIs that
enable communication between different components of the application. RESTful APIs provide a
standardized, stateless communication protocol that is scalable and easy to understand. API keys and
credentials for services such as Mailtrap, Google, Stripe, and Easypost are provided, enabling integration
with these services for various functionalities such as email sending, Google authentication, payment
processing with Stripe, and shipping label generation with Easypost.
TCP/IP: Leveraging the Transmission Control Protocol/Internet Protocol (TCP/IP) suite for reliable data
transmission over the internet, ensuring packets are delivered in the correct order and without errors.
46
JSON : Implementing lightweight remote procedure call (RPC) protocols such as JSON-RPC or XML-RPC
for exchanging structured data between client and server, facilitating seamless integration and
interoperability between different modules and systems.
2.
Security Considerations:
Encryption: Employing encryption techniques such as SSL/TLS to secure data transmitted over the network,
protecting sensitive information from eavesdropping and interception.
Authentication and Authorization: Implementing robust authentication mechanisms (e.g., OAuth, JWT) to
verify the identity of clients and restrict access to authorized users only. Authorization mechanisms should
enforce fine-grained access control based on user roles and permissions.
Data Validation and Sanitization: Implementing strict input validation and data sanitization techniques to
prevent common security vulnerabilities such as SQL injection, cross-site scripting (XSS), and command
injection attacks.
3.
Performance Optimization:
Caching: Implementing caching mechanisms at various levels of the network stack (e.g., CDN caching,
server-side caching) to reduce latency and improve responsiveness, especially for frequently accessed
resources.
Content Delivery Networks (CDNs): Leveraging CDNs to distribute static assets (e.g., images, CSS,
JavaScript files) across geographically distributed edge servers, minimizing latency and improving content
delivery speed for users worldwide.
5.3.
Choice of Object Middleware
When developing a multi-vendor ecommerce mobile repairing web application using Laravel, the choice of
object middleware is influenced by the framework's architecture and ecosystem. While Laravel provides its
own middleware for handling HTTP requests, additional middleware options can be integrated as needed for
specific functionalities. Here's how the middleware choice aligns with the mentioned modules.
BookRepair: Laravel's built-in middleware can handle authentication and session management for booking
repair services, ensuring secure access to booking functionality.
Repair Tracking & Notifications: Custom middleware can be developed to manage real-time tracking and
notification processes, leveraging Laravel's event broadcasting capabilities for efficient communication with
clients.
Admin Dashboard & Reporting: Laravel's middleware can authenticate administrators and enforce access
control to the dashboard, while custom middleware may be employed to handle reporting tasks efficiently.
Reviews & Ratings: Middleware can be implemented to validate and process review submissions, ensuring
data integrity and facilitating communication between users and the application.
Payment Gateway Integration: Laravel's middleware can facilitate secure communication with payment
gateways, while additional middleware may handle encryption and decryption of payment data for enhanced
security.
Advanced Search & Filters: Middleware can optimize search queries and data filtering processes, improving
47
the performance of search functionalities within the application.
Service Listings and Categories: Laravel's middleware can manage CRUD operations for service listings
and categories, enforcing data validation and business rules as necessary.
Delivery Module: Custom middleware can coordinate delivery logistics and provide shipment tracking
functionalities, integrating with external APIs or services for real-time updates.
Vendor Profile Management: Middleware can validate and process vendor profile updates, ensuring
consistency and accuracy of vendor information across the application.
Warranty Management System: Middleware can handle warranty claim submissions and validation
processes, enforcing warranty policies and facilitating communication between users and administrators.
Customer Profile Management: Laravel's middleware can manage user authentication and profile
management functionalities, ensuring data security and privacy compliance.
In Laravel, middleware is a powerful tool for intercepting and processing HTTP requests, making it wellsuited for implementing various functionalities across different modules of the multi-vendor ecommerce
mobile repairing web application. Custom middleware can be developed to address specific requirements and
integrate seamlessly with Laravel's framework.
5.4.
User Interface
Admin Dashboard:
•
Viewing and managing repair orders: Administrators can view a list of all repair orders, filter and
search for specific orders, and perform actions such as updating order status or assigning orders to vendors.
•
Reporting and analytics: The dashboard may include reporting tools to generate insights into sales
performance, customer trends, and inventory management.
Mobile Repair Page:
•
Selecting repair options: Users can choose from a list of available repair services, select the type of
repair needed, and specify any additional details or preferences.
•
Scheduling repair appointments: Users can schedule appointments for repairing their mobile devices
at a convenient date and time.
•
Submitting repair requests: Once all necessary information is provided, users can submit their repair
requests, which will be processed by the system.
Book Repair Page:
•
Browse available repair services: Users can explore different repair options, read descriptions, and
compare prices before making a booking decision.
•
Confirm booking details: Users can review their selected repair options, verify pricing, and confirm
their booking before proceeding to payment.
•
Provide contact and device information: Users may need to input their contact details and provide
information about their mobile devices, such as model, brand, and issue description.
User Profile:
•
Viewing order history: Users can see a list of their past repair orders, including details such as order
status, repair type, and date of service.
•
Updating personal information: Users can edit their profile information, including contact details,
billing address, and communication preferences.
48
Get a Phone Page:
•
Browsing product listings: Users can browse through a catalog of mobile devices, including
smartphones, tablets, and accessories.
•
Filtering and sorting options: Users can filter products based on criteria such as brand, price range,
specifications, and availability.
49
Figure 5.4.1 Admin dashboard
50
51
52
53
54
55
56
1.4
Chapter 6: Testing and Evaluation
This chapter may include the following sections.
6.1 Verification
BookRepair:
Verify that the booking process functions correctly by testing various scenarios, including booking with
different repair requirements. Confirm that all required details are captured during the booking process and
stored accurately in the system. Ensure that booking confirmation emails or notifications are sent to
customers and vendors.
Repair Tracking & Notifications:
Verify that repair tracking functionalities allow customers and vendors to monitor the status of repairs in
real-time. Test notification mechanisms to ensure that automated notifications are triggered and sent at key
stages of the repair process. Confirm that notifications are delivered through appropriate channels (e.g.,
email, SMS) and contain relevant information.
Admin Dashboard & Reporting:
Verify that the admin dashboard provides comprehensive insights into platform activities, such as repair
requests, vendor performance, and financial data. Test reporting functionalities to ensure accuracy and
reliability in generating various reports, such as revenue reports and vendor performance metrics.
Reviews & Ratings:
Verify the review and rating system to ensure accuracy and proper storage of feedback data. Confirm that
ratings and reviews are stored accurately in the database and contribute to the overall vendor reputation.
Payment Gateway Integration:
Conduct end-to-end testing of payment gateway integration to ensure secure and seamless transactions.
Verify that various payment methods are supported and that payment processing functions reliably.
Advanced Search & Filters:
Test search and filtering functionalities to ensure accurate results and responsive behavior. Verify that search
results are accurate and relevant based on user queries and filters.
Service Listings and Categories:
Verify that repair services are categorized logically and displayed appropriately. Test the addition, removal,
and modification of service listings to ensure data integrity.
Delivery module:
Test delivery module functionality to ensure smooth logistics management for repaired devices. Verify that
delivery scheduling, tracking, and notifications are functioning as expected.
57
Vendor Profile Management:
Verify that vendors can manage their profiles effectively, including updating service offerings, pricing, and
contact information. Test profile customization options and ensure changes are reflected accurately.
Warranty Management System:
Test warranty management system to ensure that warranties are issued, tracked, and honored appropriately.
Verify that customers can access warranty information and submit claims if necessary.
Customer profile management:
Verify that customers can manage their profiles effectively, including account registration, login, and profile
updates. Test customer profile management functionalities, such as viewing order history and tracking
repairs.
6.2 Validation
BookRepair:
Conduct usability testing with potential customers to ensure the booking process is intuitive and efficient.
Repair Tracking & Notifications:
Validate repair tracking feature with real customers and vendors to ensure it's user-friendly and meets their
needs.
Admin Dashboard & Reporting:
Validate the dashboard with administrators to ensure it meets their needs for monitoring and decisionmaking.
Reviews & Ratings:
Solicit feedback from customers and vendors on the review process to ensure it's fair and transparent.
Payment Gateway Integration:
Validate payment processing with real transactions to ensure smooth checkout
experiences for customers.
Advanced Search & Filters:
Validate search and filter options with users to ensure they meet their needs for finding repair services
efficiently.
Service Listings and Categories:
Validate service listings with users to ensure they can easily find desired repair services.
Delivery module:
Validate the delivery process with customers to ensure timely and reliable delivery of repaired devices.
Vendor Profile Management:
Validate profile management features with vendors to ensure they can easily showcase their services and
contact information.
Warranty Management System:
Validate warranty processes with customers to ensure clarity and reliability in warranty coverage.
Customer profile management:
Validate profile management features with customers to ensure they can easily update preferences and track
58
6.3 Usability Testing
BookRepair:
Task: Ask participants to book a repair for their device.
Measure: Time taken to complete the booking, ease of finding repair options, clarity of instructions, and
overall satisfaction with the booking process.
Repair Tracking & Notifications:
Task: Instruct participants to track the status of a repair they previously booked.
Measure: Ease of locating the repair tracking feature, clarity of status updates, usefulness of notifications,
and overall satisfaction with the tracking process.
Admin Dashboard & Reporting:
Task: Provide participants with specific tasks such as generating a report on repair requests or monitoring
vendor performance.
Measure: Ease of navigation within the admin dashboard, clarity of presented data, usefulness of reporting
features, and overall satisfaction with dashboard functionality.
Reviews & Ratings:
Task: Ask participants to leave a review and rating for a completed repair service.
Measure: Ease of finding the review and rating section, clarity of instructions for leaving feedback, and
overall satisfaction with the review process.
Payment Gateway Integration:
Task: Instruct participants to make a payment for a repair service.
Measure: Ease of completing the payment process, clarity of payment options, security perceptions, and
overall satisfaction with the payment integration.
Advanced Search & Filters:
Task: Ask participants to use the search and filter options to find a specific repair service.
Measure: Ease of using search and filter functionalities, effectiveness of search results, clarity of filter
options, and overall satisfaction with search experience.
Service Listings and Categories:
Task: Instruct participants to explore different service categories and find a specific repair service.
Measure: Ease of navigating through service categories, clarity of service listings, relevance of service
descriptions, and overall satisfaction with service discovery.
Delivery module:
Task: Provide participants with a scenario where they need to schedule a delivery for a repaired device.
Measure: Ease of scheduling delivery, clarity of delivery options, reliability of delivery tracking, and overall
satisfaction with the delivery process.
Vendor Profile Management:
Task: Ask participants to update their vendor profile information.
Measure: Ease of accessing vendor profile settings, clarity of profile update options, usefulness of
customization features, and overall satisfaction with profile management.
59
Warranty Management System:
Task: Provide participants with a scenario where they need to submit a warranty claim.
Measure: Ease of accessing warranty information, clarity of warranty claim process, usefulness of warranty
tracking features, and overall satisfaction with warranty management.
Customer profile management:
Task: Instruct participants to update their customer profile information.
Measure: Ease of accessing customer profile settings, clarity of profile update options, usefulness of
customization features, and overall satisfaction with profile management.
6.4 Module / Unit Testing
For each module of the multi-vendor e-commerce mobile repairing web application, conducting module or
unit testing is crucial to ensure that individual components function correctly. Here's how you can approach
module/unit testing for each specified module:
BookRepair:
Test the functionality of the booking process, including capturing repair details, and storing information
accurately in the database. Verify that error handling mechanisms are in place for invalid inputs and edge
cases.
Repair Tracking & Notifications:
Test the repair tracking feature to ensure that customers and vendors can monitor the status of repairs
accurately.
Verify that notifications are triggered and sent at appropriate stages of the repair process..
Admin Dashboard & Reporting:
Test the functionality of the admin dashboard, including data visualization, filtering options, and report
generation. Verify that administrators can access and manage platform activities effectively. Test the
integration with other modules, such as database management and reporting tools, to ensure seamless data
flow.
Reviews & Ratings:
Test the functionality of the review and rating system, including submitting reviews, displaying ratings, and
calculating overall ratings. Verify that reviews and ratings are stored accurately in the database and contribute
to the vendor's reputation.
Payment Gateway Integration:
Test the integration with payment gateway APIs to ensure secure and reliable transaction processing. Verify
that various payment methods are supported and that transactions are processed correctly. Test error handling
scenarios, such as declined payments or payment timeouts, to ensure robustness.
Advanced Search & Filters:
Test the search functionality to ensure accurate retrieval of repair services based on user
queries. Verify that filter options work correctly and refine search results as expected.
60
Service Listings and Categories:
Test the functionality of service listings, including adding, updating, and removing services. Verify that
services are categorized correctly and displayed accurately to users.
Delivery module:
Test the functionality of the delivery module, including scheduling deliveries, tracking shipment status, and
updating delivery information. Verify that delivery notifications are sent to customers and vendors at
appropriate times.
Vendor Profile Management:
Test the functionality of vendor profile management, including updating profile information, managing
service offerings, and viewing performance metrics. Verify that changes to vendor profiles are reflected
accurately throughout the application.
Warranty Management System:
Test the functionality of the warranty management system, including issuing warranties, tracking warranty
claims, and honoring warranty obligations. Verify that warranty information is stored accurately and
accessible to customers and vendors.
Customer profile management:
Test the functionality of customer profile management, including registration, login, profile updates, and
order history. Verify that changes to customer profiles are reflected accurately throughout the application.
6.5 Integration Testing
BookRepair:
Integration Points: Verify integration with customer profile management to ensure customer details are
accurately captured during booking. Test integration with the admin dashboard to ensure booking data is
correctly displayed and updated for tracking.
Testing Scenarios: Confirm that customer information is correctly linked to repair bookings and displayed
in the admin dashboard. Test scenarios where booking updates reflect in real-time on the admin dashboard.
Repair Tracking & Notifications:
Integration Points: Test integration with the delivery module for seamless communication of repair status
updates to customers awaiting delivery. Verify integration with notifications to ensure timely alerts to
customers and vendors.
Testing Scenarios: Test scenarios where repair status changes trigger notifications to customers and
vendors. Verify that repair tracking updates are accurately reflected in delivery schedules.
Admin Dashboard & Reporting:
Integration Points: Test integration with repair tracking, vendor profile management, and warranty
management for comprehensive reporting. Verify data aggregation from different modules for monitoring
61
and decision-making.
Testing Scenarios: Test scenarios where data from various modules is aggregated and displayed accurately
in the admin dashboard. Verify that reports generated reflect real-time data from integrated modules.
Reviews & Ratings:
Integration Points: Test integration with service listings and categories to ensure accurate display of
vendor ratings and reviews. Verify that reviews influence search results and service recommendations.
Testing Scenarios: Test scenarios where changes in vendor ratings and reviews affect service listings and
search results. Confirm that reviews are correctly linked to specific services and vendors.
Payment Gateway Integration:
Integration Points: Verify integration with the booking module for seamless payment processing. Test
integration with the admin dashboard and customer profiles to reflect payment status updates.
Testing Scenarios: Test payment processing scenarios and confirm that payment status updates are
accurately reflected in booking records and customer profiles.
Advanced Search & Filters:
Integration Points: Test integration with service listings and categories for accurate retrieval of services.
Verify that search results are correctly filtered and sorted based on user preferences.
Testing Scenarios: Test search and filter scenarios with various criteria and confirm that results match user
expectations. Verify that changes in service listings reflect immediately in search results.
Service Listings and Categories:
Integration Points: Verify integration with vendor profile management for accurate service listings. Test
integration with reviews & ratings to reflect vendor reputation in service listings.
Testing Scenarios: Test scenarios where changes in vendor profiles immediately update service listings.
Confirm that service categories accurately organize service listings.
Delivery module:
Integration Points: Test integration with repair tracking and notifications for accurate communication of
delivery status. Verify synchronization of delivery schedules and tracking information with repair status
updates.
Testing Scenarios: Test scenarios where delivery updates reflect accurately in repair tracking and trigger
notifications to customers and vendors.
Vendor Profile Management:
Integration Points: Verify integration with service listings and reviews & ratings for accurate vendor
information. Test integration with admin dashboard for real-time updates.
Testing Scenarios: Test scenarios where changes in vendor profiles immediately update service listings
and reflect in admin dashboard reports.
62
Warranty Management System:
Integration Points: Test integration with repair tracking and customer profile management for accurate
warranty tracking. Verify synchronization of warranty status updates with repair status changes.
Testing Scenarios: Test scenarios where warranty status updates accurately reflect in repair tracking and
customer profiles.
Customer profile management:
Integration Points: Verify integration with booking module, reviews & ratings, and
warranty management for accurate customer information. Test synchronization of customer profiles with
booking records and warranty claims.
Testing Scenarios: Test scenarios where changes in customer profiles immediately reflect in booking
records, reviews, and warranty claims.
During integration testing, meticulously verify that each module interacts correctly with others, ensuring
seamless functionality across the application. Address any discrepancies or issues identified to ensure the
application's stability and reliability.
6.6 System Testing
System testing of the multi-vendor e-commerce mobile repairing web application involves testing the entire
system as a whole to ensure that all modules and components work together seamlessly and meet the
specified requirements. Here's how you can conduct system testing for the application:
End-to-End Testing:
Ensure seamless functionality from booking a repair to the delivery of the repaired device, validating the
interaction of all modules such as Vendor Management, BookRepair, Repair Tracking, and Delivery. Confirm
that data transitions smoothly between modules, guaranteeing a user-friendly experience throughout the repair
process.
Integration Testing:
Validate the integration of individual modules like Reviews & Ratings with others such as Service Listings
and Admin Dashboard, ensuring accurate data exchange and seamless functionality. Test various scenarios
involving multiple modules to ensure they work cohesively to achieve tasks like processing payments, tracking
repairs, and managing vendor profiles.
Functionality Testing:
Verify that all functionalities, including booking repairs, tracking repair statuses, leaving reviews, and
processing payments, work as intended for each module. Test edge cases and boundary conditions to ensure
the robustness and reliability of the system under various scenarios.
Performance Testing:
Evaluate the application's performance under different load conditions to ensure scalability and responsivenes
Test response times for critical functionalities such as payment processing and repair tracking to identify any
performance bottlenecks.
63
Security Testing:
Assess the security measures implemented to safeguard user data and prevent unauthorized access. Test for
vulnerabilities like SQL injection and cross-site scripting to ensure the application's security.
Usability Testing:
Evaluate the overall user experience, including ease of navigation and clarity of instructions, across modules
such as Advanced Search & Filters and Customer Profile Management. Gather user feedback to identify
areas for improvement in terms of usability.
Compatibility Testing:
Test the application's compatibility across various devices, browsers, and operating systems to ensure a
consistent user experience.Verify that the application functions correctly on both desktop and mobile
platforms.
Regression Testing:
Re-test previously verified functionalities after updates or changes to ensure that new implementations do not
introduce any regressions. Automate regression test cases to efficiently validate the system's integrity.
Accessibility Testing:
Evaluate the application's accessibility features, such as keyboard navigation and screen reader compatibility,
to ensure compliance with accessibility standards. Test for color contrast and other accessibility features to
improve usability for users with disabilities.
Documentation Review:
Review the documentation, including user manuals and technical specifications, to ensure completeness and
accuracy, aiding users and developers in understanding the system.
6.7
Acceptance Testing
Acceptance testing of the multi-vendor e-commerce mobile repairing web application involves validating that
the system meets the specified requirements and is acceptable for deployment. Here's how you can conduct
acceptance testing for the application with the listed modules
Vendor Management & Onboarding:
Ensure that vendors can successfully register and onboard onto the platform. Validate that vendor management
functionalities, such as profile editing and service listing, meet the requirements.
BookRepair:
Verify that customers can book repair services easily and accurately. Ensure that booking functionalities align
with user expectations and business requirements.
Repair Tracking & Notifications:
Validate that repair tracking features provide accurate updates to customers regarding their repair status.
Ensure that notifications are delivered timely and contain relevant information.
64
Admin Dashboard & Reporting:
Verify that administrators can effectively monitor and manage activities on the platform through the admin
dashboard. Ensure that reporting functionalities provide meaningful insights into platform performance.
Reviews & Ratings:
Validate that customers can leave reviews and ratings for repair services. Ensure that the review and rating
system functions as expected and contributes to the platform's reputation management.
Payment Gateway Integration:
Verify that payment processing is seamless and secure for customers. Ensure that payment gateway integration
meets industry standards and compliance requirements.
Advanced Search & Filters:
Validate that customers can easily find repair services using advanced search and filter options. Ensure that
search results are accurate and relevant to user queries.
Service Listings and Categories:
Verify that service listings are well-organized and categorized appropriately. Ensure that service categories
align with customer expectations and business needs.
Delivery module:
Validate that the delivery module facilitates smooth and timely delivery of repaired devices to customers.
Ensure that delivery tracking features provide accurate information to both customers and vendors
Vendor Profile Management:
Ensure that vendors can efficiently manage their profiles and service offerings. Validate that changes to vendor
profiles are reflected accurately throughout the platform.
Warranty Management System:
Verify that customers can easily claim warranties for repaired devices. Ensure that warranty management
functionalities meet regulatory requirements and customer expectations.
Customer profile management:
Validate that customers can register, log in, and update their profiles seamlessly. Ensure that changes to
customer profiles are reflected accurately in booking records and reviews.
By conducting acceptance testing for each module, you can ensure that the entire system meets the specified
requirements and is ready for deployment to production.
6.8 Stress Testing
In stress testing of the multi-vendor e-commerce mobile repairing web application, each module is subjected
to extreme conditions to gauge its performance and robustness under heavy loads.
1. Vendor Management & Onboarding:
High Volume Vendor Registrations: Simulate a large influx of vendor registration requests to evaluate
the system's ability to handle a surge in new vendor sign-ups.
Intensive Vendor Onboarding: Stress test the vendor onboarding process by simulating multiple vendors
attempting to upload large amounts of data concurrently.
65
2. BookRepair:
Peak Load Booking Requests: Generate a high volume of repair booking requests within a short time
frame to assess system performance during busy periods.
Scalability of Booking System: Stress test the booking system by submitting numerous bookings
simultaneously with various configurations and options.
3. Repair Tracking & Notifications:
Concurrent Repair Status Updates: Trigger a significant number of repair status updates and notification
deliveries concurrently to evaluate system response time and reliability.
Stress Testing Notification System: Simulate a large number of notifications being sent out
simultaneously to validate delivery speed and accuracy.
4. Admin Dashboard & Reporting:
Heavy Administrative Tasks: Create scenarios where multiple administrators perform intensive tasks
simultaneously, such as generating complex reports or analyzing large datasets.
Performance under Load: Stress test the admin dashboard by simulating heavy usage scenarios to identify
any performance bottlenecks.
5. Reviews & Ratings:
High Volume Submissions: Generate a substantial volume of reviews and ratings submissions in a short
period to assess system scalability.
Scalability of Review System: Stress test the review and rating system by simulating simultaneous
submissions and updates to evaluate scalability and performance.
6. Payment Gateway Integration:
Concurrent Payment Transactions: Simulate a large number of payment transactions concurrently to
evaluate system processing efficiency and reliability.
Transaction Processing Speed: Stress test the payment gateway integration by submitting various
payment types and amounts simultaneously to validate transaction processing speed.
7. Advanced Search & Filters:
Complex Search Queries: Conduct stress tests on the search and filter functionalities by simulating
multiple users performing complex search queries and applying numerous filters simultaneously.
Search System Scalability: Stress test the search and filter system by generating concurrent requests for
search results and filter applications.
8. Service Listings and Categories:
High Demand Access: Stress test the service listings and categories by simulating a large number of
concurrent requests for accessing and updating service information.
System Performance under Load: Evaluate system performance and reliability under heavy load
conditions.
9. Delivery module:
Concurrent Delivery Requests: Generate concurrent requests for delivery scheduling and tracking
updates to assess system handling of high demand for delivery services.
Delivery Scheduling Speed: Stress test the delivery module by simulating various delivery scenarios to
validate scheduling speed and tracking accuracy.
66
10. Vendor Profile Management:
Simultaneous Profile Updates: Simulate multiple vendors updating their profiles simultaneously to
evaluate system performance.
Profile Management Scalability: Stress test the vendor profile management system by generating
concurrent requests for profile updates and changes.
11. Warranty Management System:
High Volume Warranty Claims: Stress test the warranty management system by simulating a surge in
warranty claims and processing requests.
Scalability of Warranty System: Evaluate system responsiveness and reliability under heavy usage.
12. Customer profile management:
Simultaneous Profile Updates: Simulate a large number of concurrent requests for customer profile
updates and changes to assess system performance.
13. Profile Management Efficiency: Stress test the customer profile management system by generating
concurrent requests for profile updates and registrations.
6.8
Hardware Configuration for Testing
When configuring hardware for testing the multi-vendor e-commerce mobile repairing web application
with the listed modules, it's crucial to ensure that the hardware setup can handle the testing requirements
effectively. Here's a suggested hardware configuration:
•
•
Processor (CPU):
Intel Core i5 or higher, or equivalent AMD processor.
Ensure the processor has multiple cores (ideally quad-core) to handle concurrent tasks efficiently.
•
•
Memory (RAM):
Minimum 8GB of RAM.
Having more RAM, such as 16GB or higher, will improve performance, especially when running
multiple modules simultaneously.
•
•
Storage (SSD):
Solid-state drive (SSD) with at least 256GB of storage capacity.
SSDs provide faster data access compared to traditional hard disk drives (HDDs), resulting in quicker
loading times for the application.
•
•
•
•
Graphics:
Integrated graphics should be sufficient for running a web application.
Ensure that the notebook's graphics driver is up-to-date for optimal performance.
Network Interface:
Integrated Wi-Fi adapter for wireless connectivity.
Ensure a stable and reliable internet connection, especially if testing involves communication with
external services or servers.
67
•
•
•
•
•
6.9
Operating System (OS):
Use the operating system of your preference:
Windows 10, macOS, or a Linux distribution like Ubuntu.
Ensure that the chosen OS is compatible with the web application's development stack and testing tools.
Virtualization Technology:
If needed, ensure that the notebook supports virtualization technologies for creating isolated testing
environments.
Tools like VMware Workstation or VirtualBox can be used to set up virtual machines for testing.
•
•
Backup and Redundancy:
Implement backup solutions to protect against data loss.
Use cloud storage or external drives to regularly backup important data related to the application and
testing environments.
•
•
Monitoring and Performance Tools:
Install monitoring tools to track system performance and resource usage during testing.
Resource monitoring tools like Task Manager (Windows) or Activity Monitor (macOS) can provide
insights into system performance.
Evaluation
To evaluate the multi-vendor e-commerce mobile repairing web application effectively, we need to assess
each module individually and then consider the application as a whole. Here's how we can evaluate each
module:
1. Vendor Management & Onboarding:
Smooth Registration Process: Assess the ease of vendor registration and onboarding, emphasizing a
seamless transition onto the platform.
Efficient Onboarding Workflow: Evaluate the efficiency of onboarding workflows, ensuring minimal
friction for new vendors.
Communication Effectiveness: Gauge the effectiveness of communication channels during onboarding,
emphasizing clarity and responsiveness.
2. BookRepair:
User-Friendly Booking Process: Evaluate the user experience of booking repair services, focusing on
simplicity and efficiency.
Streamlined Scheduling: Assess the scheduling process for repairs, emphasizing ease of use and
flexibility.
Prompt Confirmation: Measure the speed of confirmation for booked repairs, ensuring timely responses
to customer requests.
3. Repair Tracking & Notifications:
Real-Time Updates: Evaluate the frequency and accuracy of repair status updates, emphasizing real-time
tracking for customers.
Clear Notification System: Assess the clarity and effectiveness of notification delivery, ensuring
customers are well-informed.
Transparency in Communication: Gauge the transparency
of communication regarding repair progress,
68
emphasizing clear and consistent updates.
4. Admin Dashboard & Reporting:
Comprehensive Dashboard: Evaluate the comprehensiveness of the admin dashboard, focusing on
accessibility and usability.
Actionable Insights: Assess the effectiveness of reporting tools in providing actionable insights,
emphasizing data accuracy and relevance.
Task Management Efficiency: Gauge the efficiency of task management features, ensuring seamless
administrative workflows.
5.
Reviews & Ratings:
Authentic Feedback Mechanism: Evaluate the authenticity and relevance of customer reviews and
ratings, emphasizing genuine feedback.
Impact on Reputation: Assess the impact of reviews and ratings on vendor reputation and customer trust.
Response Handling: Gauge the effectiveness of response mechanisms to reviews, ensuring timely and
appropriate responses from vendors.
6. Payment Gateway Integration:
Secure Transaction Processing: Evaluate the security measures in place for payment processing,
emphasizing data protection and encryption.
Seamless Transaction Flow: Assess the ease of completing transactions, focusing on a smooth and
intuitive payment experience.
Redundancy and Reliability: Gauge the reliability of the payment gateway, ensuring minimal downtime
and transaction errors.
7. Advanced Search & Filters:
Efficient Search Functionality: Evaluate the speed and accuracy of search results, emphasizing relevant
and comprehensive search functionality.
Filter Precision: Assess the precision of filtering options, ensuring users can refine their search criteria
effectively.
User-Friendly Interface: Gauge the usability of search and filter interfaces, focusing on simplicity and
clarity.
8. Service Listings and Categories:
Organized Service Catalog: Evaluate the organization and categorization of services, ensuring clarity and
ease of navigation.
Complete Service Information: Assess the completeness of service listings, emphasizing detailed and
informative descriptions.
Accessibility and Visibility: Gauge the visibility of services, ensuring all offerings are easily accessible
to users.
9. Delivery module:
Timely Delivery Scheduling: Evaluate the efficiency of delivery scheduling, focusing on accuracy and
timeliness.
Reliable Tracking: Assess the reliability of delivery tracking, ensuring customers can monitor their orders
effectively.
Communication Effectiveness: Gauge the effectiveness of communication regarding delivery updates,
emphasizing clarity and transparency.
69
10. Vendor Profile Management:
User-Friendly Profile Editing: Evaluate the ease of editing vendor profiles, focusing on intuitive and
efficient interfaces.
Accurate Profile Information: Assess the accuracy and completeness of vendor profiles, ensuring all
relevant information is up to date.
Vendor Satisfaction: Gauge vendor satisfaction with profile management tools, emphasizing usability
and effectiveness.
11. Warranty Management System:
Efficient Claim Processing: Evaluate the speed and efficiency of warranty claim processing, ensuring
timely resolution for customers.
Responsive Customer Support: Assess the responsiveness of customer support for warranty claims,
emphasizing helpfulness and professionalism.
Customer Satisfaction: Gauge customer satisfaction with the warranty management process, focusing on
ease of use and issue resolution.
6.10 Deployment
Selecting a Hosting Provider:
Choose a hosting provider that offers cPanel-based hosting services, ensuring compatibility with the cPanel
control panel interface. Consider factors such as server resources, scalability, security features, and budget
when selecting a hosting plan.
Domain Name Registration:
Register a domain name for your multi-vendor e-commerce mobile repairing web application through a
domain registrar or directly within the cPanel interface if your hosting provider offers domain registration
services.
Setting Up Server Environment:
Access the cPanel control panel provided by your hosting provider and navigate to the "Software" or "Server"
section to configure the server environment. Install necessary software components such as Apache or Nginx
as the web server, MySQL or PostgreSQL as the database server, and PHP for server-side scripting.
Uploading Website Files:
Use the cPanel File Manager or an FTP client to upload your website files to the server. Navigate to the
public_html directory within the File Manager to upload your website files. Ensure that your website files
include HTML, CSS, JavaScript, and media files required for the functionality of the multi-vendor ecommerce mobile repairing web application.
Database Setup and Configuration:
Access the cPanel interface and navigate to the "Databases" section to set up and configure the database for
your web application. Create a new MySQL or PostgreSQL database and corresponding user credentials with
appropriate permissions to access the database.
DNS Configuration:
Configure the DNS settings for your domain name to point
70 to the IP address provided by your cPanel hosting
provider. This allows users to access your multi-vendor e-commerce mobile repairing web application using
your domain name.
SSL/TLS Certificate Installation:
Use the SSL/TLS Manager within cPanel to generate a free Let's Encrypt SSL certificate or install a
commercial SSL certificate for secure HTTPS connections. Enable SSL/TLS for your domain to encrypt data
transmitted between users' browsers and the server.
Testing:
Perform thorough testing of your multi-vendor e-commerce mobile repairing web application within the
production environment provided by cPanel. Test for compatibility across different browsers and devices,
ensuring all functionalities work as expected.
Monitoring
Utilize cPanel's built-in monitoring tools to monitor the performance, uptime, and security of your web
application. Implement regular maintenance tasks such as software updates, security patches, and backups
through the cPanel interface.
Launch:
Once testing is complete and everything is working as expected, officially launch your multi-vendor ecommerce mobile repairing web application to the public. Promote the launch through various channels to
attract vendors and customers to the platform.
6.11 Maintenance
Maintenance of a multi-vendor e-commerce mobile repairing web application is crucial to ensure its smooth
operation and optimal performance over time.
BookRepair:
Regularly monitor the booking functionality to ensure it remains operational and responsive. Update booking
forms and processes based on user feedback and changing requirements. Perform regular testing to identify
and fix any bugs or issues related to the booking process.
Repair Tracking & Notifications:
Monitor repair tracking features to ensure accurate and timely updates for customers. Implement
improvements to notification systems based on user preferences and engagement metrics. Address any
performance issues or reliability concerns with repair tracking functionality promptly.
Admin Dashboard & Reporting:
Regularly review and update the admin dashboard to provide relevant and actionable insights. Monitor system
logs and analytics data to identify trends and potential issues. Implement enhancements to reporting tools
based on user feedback and evolving business needs.
Reviews & Ratings:
Monitor user-generated content such as reviews and ratings for accuracy and relevance. Implement moderation
features to manage and address any inappropriate or fraudulent reviews. Continuously improve review and
rating systems based on user satisfaction and engagement metrics.
71
Payment Gateway Integration:
Stay informed about changes and updates to payment gateway APIs and protocols. Regularly test payment
processing functionality to ensure security and reliability. Address any issues or discrepancies related to
payment transactions promptly.
Advanced Search & Filters:
Monitor search performance and user engagement with filtering options. Optimize search algorithms and filter
functionalities based on usage patterns and feedback. Ensure compatibility with new devices, browsers, and
technologies to maintain a seamless user experience.
Service Listings and Categories:
Regularly update service listings and categories to reflect changes in available services and offerings. Monitor
user engagement with service listings and adjust content and presentation as needed. Implement improvements
to navigation and browsing features to enhance user experience.
Delivery module:
Monitor delivery processes and logistics to ensure timely and reliable service. Address any issues or delays in
delivery promptly and communicate updates to customers. Continuously optimize delivery workflows and
systems based on performance metrics and customer feedback.
Vendor Profile Management:
Regularly review and update vendor profiles to ensure accuracy and completeness of information. Provide
training and support to vendors on profile management tools and best practices. Implement features to
showcase vendor expertise and credibility to customers.
Warranty Management System:
Monitor warranty claims and resolution processes to ensure customer satisfaction. Address any issues or
disputes related to warranties promptly and transparently. Continuously evaluate and update warranty policies
and procedures based on feedback and industry standards.
Test Case ID
BU_001
Created By
Humna
QA Tester’s Log
Review comments from Bill
incorprate in version 2.1
Tester's Name
Humna
S#
1
2
Test Case
Description
Reviewed
By
Date Tested
Prerequisites:
Access to the application with valid
credentials
Existing repair service listings
72
Test the BookRepair Module Functionality
Mam sadia
Version
4-April2024
Test Case
(Pass/Fail/No
t Executed)
S#
1
Test Data
Userid = mg12345
2
Pass = df12@434c
2.1
Pass
Test
Scenario
Verify the functionality of the BookRepair module
6.12 Test cases
Step #
Step Details
Expected Results
Actual Results
Pass / Fail /
Not
executed /
Suspended
1
Navigate to the BookRepair page
Page should load
As Expected
Pass
2
Select repair service options
Options should be selectable
As Expected
Pass
3
Schedule repair appointment
Appointment should be
scheduled
As Expected
Pass
4
Submit repair request
Request should be submitted
As Expected
Pass
5
Receive
confirmation/notification
Confirmation/notification
received
As Expected
Pass
6
View repair status
Status should be visible
As Expected
Pass
7
Update repair status (admin)
Status should be updated
successfully
As Expected
Pass
8
Receive repair updates
(customer)
Updates/notification received
As Expected
Pass
9
Write a review for repair service
Review submission
successful
As Expected
Pass
10
View and rate repair service
Review and rating visible
As Expected
Pass
11
Access and navigate Admin
Dashboard
Dashboard should load
As Expected
Pass
12
Generate reports
Reports should be generated
As Expected
Pass
13
Search for repair services
Services should be searchable
As Expected
Pass
14
Filter repair services
Services should be filterable
As Expected
Pass
15
Manage service
listings/categories
Listings/categories should be
manageable
As Expected
Pass
16
Handle delivery logistics
Delivery should be managed
efficiently
As Expected
Pass
17
Update vendor profile
Profile should be updatable
As Expected
Pass
73
18
Submit warranty claim
Claim submission successful
As Expected
Pass
19
Manage customer profiles
Profiles should be
manageable
As Expected
Pass
20
Logout from the application
User should be logged out
As Expected
Pass
Table 6.12.1 : test case Of Book repair
Test Case ID
BU_002
Test Case
Description
Created By
Humna
Reviewed
By
QA Tester’s Log
Review comments from Bill
incorprate in version 2.1
Tester's Name
Humna
S#
1
2
3
4
Test
Scenario
Date Tested
Prerequisites:
Access to the application with valid
credentials
Existing repair service listings and
categories
EasyPost API key is configured in
the application
EasyPost API Sandbox environment
is available
Test the Delivery Module Functionality using
EasyPost API
Mam sadia
Version
2.1
4-April2024
Test Case
(Pass/Fail/No
t Executed)
S#
1
Test Data
Userid = mg12345
2
Pass = df12@434c
Pass
3
EasyPost API key:
4
EasyPost Sandbox environment
URL: https://sandbox.easypost.com
Verify the functionality of the Delivery Module using
EasyPost API
Step #
Step Details
Expected Results
Actual Results
Pass / Fail /
Not
executed /
Suspended
1
Customer accepts the offered price
for repair service
Price acceptance successful
As Expected
Pass
2
EasyPost API calls to retrieve the
phone from the customer
Phone pickup initiated
successfully
As Expected
Pass
3
Phone is delivered to the vendor
for repair
Phone delivered to vendor
successfully
As Expected
Pass
4
Vendor repairs the phone
Phone repair completed
As Expected
Pass
74
5
EasyPost API calls to deliver the
repaired phone back to the
customer
Phone delivery initiated
successfully
As Expected
Pass
6
Customer receives the repaired
phone
Phone received by the
customer
As Expected
Pass
7
Delivery process completes
successfully
Phone delivery process
completed
As Expected
Pass
Table 6.12.2 : Test case Of Delivery module
Test Case ID
BU_003
Created By
Humna
QA Tester’s Log
Review comments from Bill
incorprate in version 2.1
Tester's Name
Humna
S#
1
Test Case
Description
Reviewed
By
Date Tested
Prerequisites:
Access to the application with valid
credentials
Test the Payment Gateway Stripe
Mam sadia
Version
4-April2024
Test Case
(Pass/Fail/No
t Executed)
S#
1
Test Data
Userid = mg12345
2.1
Pass
2
Existing repair service listings and
categories
2
Pass = df12@434c
3
Stripe API key is configured in the
application
Test credit card details for Stripe
testing
3
Stripe API key:
4
5
6
Test
Scenario
Card Number:-
4
CVC: any 3 digits
ZIP: any 5 digits
Verify the functionality of the Payment Gateway Stripe
Step #
Step Details
Expected Results
Actual Results
Pass / Fail /
Not
executed /
Suspended
1
Customer selects payment option
during checkout
Payment option selectable
As Expected
Pass
2
Customer enters credit card details
Details entered successfully
As Expected
Pass
3
Payment request sent to Stripe API
Request sent successfully
As Expected
Pass
75
4
Payment processed by Stripe
Payment processed
successfully
As Expected
Pass
5
Payment confirmation received
Confirmation received
As Expected
Pass
6
Payment status updated in the
system
Status updated to 'Paid'
As Expected
Pass
7
Order confirmation displayed to
customer
Confirmation displayed
As Expected
Pass
Table 6.12.3 : Test case Of Stripe Api
Test Case ID
BU_004
Test Case
Description
Created By
Humna
Reviewed
By
QA Tester’s Log
Review comments from Bill
incorprate in version 2.1
Tester's Name
Humna
S#
1
2
3
Test
Scenario
Date Tested
Prerequisites:
Access to the application with valid
credentials
Existing repair service listings and
categories
Test data for search and filtering
Test the Advanced Search
Functionality
Mam sadia
Version
4-April2024
Test Case
(Pass/Fail/No
t Executed)
&
Filters
2.1
Pass
S#
1
Test Data
Userid = mg12345
2
Pass = df12@434c
3
Sample repair service listings
Verify the functionality of the Advanced Search & Filters
Step #
Step Details
Expected Results
Actual Results
Pass / Fail /
Not
executed /
Suspended
1
Access the advanced search
feature
Feature accessible
As Expected
Pass
2
Enter search criteria (e.g.,
keyword, location)
Criteria entered successfully
As Expected
Pass
3
Apply filters (e.g., price range,
rating
Filters applied successfully
As Expected
Pass
4
Initiate search
Search results displayed
based on criteria
76
As Expected
Pass
5
View search results
Relevant repair service
listings displayed
As Expected
Pass
6
Refine search criteria if
necessary
Apply additional filters
Refinement options available
As Expected
Pass
Filters applied to existing
search results
As Expected
Pass
7
Verify search results are updated
Clear filters and reset search
Updated results displayed
based on new filters
Filters cleared and search
reset
Table 6.12.3 : Test case Of Advanced Search & Filters
Test Case ID
BU_005
Test Case
Description
Created By
Humna
Reviewed
By
QA Tester’s Log
Review comments from Bill
incorprate in version 2.1
Tester's Name
Humna
S#
1
2
Test
Scenario
Step #
1
Date Tested
Prerequisites:
Access to the application with valid
credentials
Existing warranty claim form
Test the Warranty Management System
Functionality
Mam sadia
Version
2.1
4-April2024
Test Case
(Pass/Fail/No
t Executed)
S#
1
Test Data
Userid = mg12345
2
Pass = df12@434c
Pass
Verify the functionality of the Warranty Management
System
Step Details
Access the warranty claim form
Expected Results
Actual Results
Pass / Fail /
Not
executed /
Suspended
Form accessible
As Expected
Pass
2
Fill out the warranty claim form
with relevant details
Form filled out successfully
As Expected
Pass
3
Submit the warranty claim form
Form submitted successfully
As Expected
Pass
4
Verify the warranty claim
appears on the relevant vendor
Claim appears on vendor
dashboard
77
As Expected
Pass
dashboard
5
Vendor reviews the warranty
claim details
Claim details accessible to
vendor
As Expected
Pass
6
Vendor accepts the warranty
claim
Customer receives notification of
accepted claim
Claim accepted by vendor
As Expected
Pass
As Expected
Pass
7
8
9
Customer initiates delivery of the
mobile device using EasyPost
API
Mobile device delivered to
vendor for warranty repair
Notification received
Delivery initiated successfully
Device delivered to vendor
10
Vendor repairs the mobile device
under warranty
Device repaired successfully
11
Mobile device delivered back to
the customer using EasyPost API
Delivery initiated successfully
12
Customer receives the repaired
mobile device
Device received by customer
Table 6.12.3 : Test case Of WarrantY management system
78
Chapter 7: Conclusion and Future Work
This chapter concludes the project and highlights future work.
7.1.
Conclusion
In conclusion, the multi-vendor ecommerce mobile repairing web application presents a comprehensive
solution for users in need of repair services for their mobile devices. With modules ranging from booking
repair appointments to managing vendor profiles and tracking warranty claims, the platform offers a seamless
and efficient experience for both customers and vendors. Throughout the development process, each module
has been meticulously designed and implemented to address specific needs and challenges faced by users in
the mobile repair industry. From streamlining the booking process with the BookRepair module to providing
real-time repair status updates through the Repair Tracking & Notifications module, the application aims to
enhance transparency, convenience, and reliability for all stakeholders involved. The integration of advanced
features such as payment gateway integration, reviews and ratings, and advanced search and filters further
enhances the functionality and usability of the platform, ensuring that users can easily find, book, and review
repair services according to their preferences and requirements.Moving forward, the application has ample
potential for further enhancements and expansions, including the implementation of AI-driven
recommendations, Mobile Application Development, and Expansion of Payment Options. By continuously
iterating and improving upon the existing features while exploring new opportunities for innovation, the
platform can remain at the forefront of the mobile repair industry, delivering exceptional value and service
to its users.
7.2.
Future Work
In the future, several enhancements and expansions can be considered for the multi-vendor ecommerce
mobile repairing web application:
Enhanced User Experience:
Implementing a more intuitive and user-friendly interface across all modules to enhance user experience and
engagement.
Mobile Application Development:
Developing dedicated mobile applications for customers, vendors, and administrators to provide convenience
and accessibility on mobile devices.
AI-Powered Recommendations:
Implementing artificial intelligence algorithms to provide personalized service recommendations based on
user preferences, repair history, and browsing behavior.
Expansion of Payment Options:
Integrating additional payment methods to offer users more flexibility and convenience during checkout,
including digital wallets, installment plans, and cryptocurrency payments.
Enhanced Reporting and Analytics:
Enhancing the admin dashboard with advanced reporting and analytics features to provide actionable insights
79
into sales performance, customer behavior, and service trends.
Geolocation-based Services:
Leveraging geolocation technology to provide location-based services such as targeted marketing campaigns,
localized search results, and proximity-based service recommendations.
Automated Customer Support:
Implementing chatbots and AI-driven customer support systems to provide instant assistance, answer
common queries, and streamline customer service operations.
.
Continuous Optimization and Testing:
Regularly conducting usability testing, performance optimization, and security audits to ensure the
application remains competitive, reliable, and secure in the ever-evolving ecommerce landscape.
80
6.12 References
References to any book, journal paper or website should properly be acknowledged. Please
consistently follow the style. The following are few examples of different resources i.e.
journal article, book, and website.
[1] https://www.ifixit.com/Answers/View/350816/Is+there+any+references+for+mobile+repairing
[2] https://en.wikipedia.org/wiki/UBreakiFix
[3] https://www.ismash.com/
81