Asaan Movers Thesis 8.0

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 66

COMSATS University Islamabad Abbottabad, Pakistan

Asaan Movers

By

Hamza Hamid CIIT/SP19-BSE-055/ATD


Hashaam Khan CIIT/SP19-BSE-041/ATD
Syed Daniyal Hussain Shah CIIT/SP19-BSE-060/ATD

Supervisor
MA’AM Hifza Ali

Bachelor of Science in Software Engineering (2019-2023)

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.
COMSATS University Islamabad Abbottabad, Pakistan

Asaan Movers

A project presented to
COMSATS University of Information Technology, Abbottabad

In partial fulfillment
of the requirement for the degree of

Bachelor of Science in Software Engineering (2019-2023)

By

Hamza Hamid CIIT/SP19-BSE-055/ATD


Hashaam Khan CIIT/SP19-BSE-041/ATD
Syed Daniyal Hussain Shah CIIT/SP19-BSE-060/ATD

Hashaam Khan Syed Danial Hussain Shah Hamza Hamid


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 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. 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.
CERTIFICATE OF APPROVAL

It is to certify that the final year project of BS (SE) “Asaan Movers” was developed by
Hamza Hamid (CIIT/SP19-BSE-055), Syed Daniyal Hussain Shah (CIIT/SP19-BSE-
060) and Hashaam Khan (CIIT/SP19-BSE-041) under the supervision of “MA’AM Hifza
Ali” and that in her opinion; it is fully adequate, in scope and quality for the degree of
Bachelors of Science in Software Engineering.

Supervisor

External Examiner

Head of Department

(Department of Software Engineering)


EXECUTIVE SUMMARY
The logistics and relocation industry has seen significant growth in recent years due to advances
in technology and the increasing prevalence of digitalization in various industries. The ability
to easily track shipments and coordinate the movement of goods and people has made the
process of relocation much smoother and more efficient. In addition, the rise of e-commerce
and the need for fast, reliable delivery has also contributed to the growth of the logistics
industry. Overall, technology has had a major impact on the logistics and relocation industry
and has made it easier for people to move and transport goods from one place to another.

in that regard concept of Online Booking took birth which promotes the concept of booking
Online anytime, anywhere. Our app is designed to provide a convenient and efficient way for
people to relocate their goods and possessions from one place to another. The real-time tracking
and route optimization features can help users to easily keep track of their shipments and ensure
that their goods are delivered to the desired destination in a timely and cost-effective manner.
Providing warehousing services as well can be an added benefit for users, as it allows them to
store their goods safely while they are in transit or if they need to temporarily store them at a
different location. Overall, the app has the potential to make the process of relocation much
smoother and more convenient for users.

Asaan Movers is user friendly and provide more features then just an ordinary relocation
app.The route optimization features can help users to easily keep track of their shipments and
ensure that their goods are delivered to the desired destination in a timely and cost-effective
manner.
Asaan Movers is a website consisting of a cloud server deployed on Linux Server with a
distributed MongoDB database to store our user’s data and server to provide services. An
Android Application will be developed which as well will track the progress user’s goods.
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 “MA’AM Hifza Ali” Without her personal
supervision, advice, and valuable guidance, the completion of this project would havebeen
doubtful. We are deeply indebted to her for her 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.

Hashaam Khan Syed Daniyal Hussain Shah Hamza Hamid


ABBREVIATIONS

SRS Software Require Specification

SDD Software Design Description


VS Code Visual Studio Code
API Application Programming Interface
IDE Integrated Development Environment
DBMS Database Management System
UML Unified Modelling Language
SQL Structure Query Language
TABLE OF CONTENTS

1 Introduction .........................................................................................................................................................10
1.1 Brief ..................................................................................................................................................................10
1.2 Relevance to Course Modules ...........................................................................................................................11
1.3 Project Background ...........................................................................................................................................11
1.4 Literature Review ..............................................................................................................................................11
1.5 Analysis from Literature Review: .....................................................................................................................12
1.6 Methodology and Software Lifecycle for This Project ......................................................................................13
1.7 Rationale behind Selected Methodology ..........................................................................................................13
2 Problem Definition ...............................................................................................................................................15
2.1 Problem Statement .............................................................................................................................................15
2.2 Deliverables and Development Requirements ....................................................................................................15
3.2 Detailed Use Case Detail about Use Cases are following ....................................................................................20
3.3 Functional requirements...................................................................................................................................27
3.4 Non-Functional Requirements ...........................................................................................................................30
4 Design and Architecture The detail design and architecture of the system is given below: ..........................31
5 Implementation Implementation of the system need all the required algorithms and external api’s which
...............................................................................................................................................................................42
are explain under ........................................................................................................................................................42
5.1 Algorithm .........................................................................................................................................................42
5.2 User Interface ....................................................................................................................................................43
6 Testing and Evaluation.........................................................................................................................................50
6.1 Manual Testing ..................................................................................................................................................50
7 Conclusion and Future Work: .............................................................................................................................65
7.1. Conclusion ........................................................................................................................................................65
7.2 Future Work............................................................................................................................................................65
8 References: ...........................................................................................................................................................66
LIST OF FIGURES

Fig 2.3.1 Movers & Packers Islamabad ................................................................................... 16


Fig 2.3.2 Ishaq Movers ............................................................................................................ 16
Fig 2.3.3 Abdullah Movers & Packers..................................................................................... 17
Fig 3.1 Use Case Diagram ....................................................................................................... 18
Fig 4.2 Activity Diagram ......................................................................................................... 30
Fig 4.3 System Sequence Diagram .......................................................................................... 33
Fig 5.3 User Interfaces ............................................................................................................. 42
1 Introduction
A very brief introduction of project work, outcome of your work, tools, methodology used &
highlights of discussions in various chapters of report.

1.1 Brief

A very brief introduction of project work, outcome of your work, tools, methodology used &
highlights of discussions in various chapters of report.

This document contains the information of Asaan Movers. Goal of Asaan Movers is to let
users to relocate from one place to other, also provide warehousing services with real time
tracking.

We have adopted Agile approach in building Asaan Movers, agile development Methodology
who are inclined towards the use of scrum methodologies and want to manage all the phases
of software development using a single platform, the mode of delivery will be in sprints. The
Asaan Movers is a responsive Web App where a customer can go to Asaan Movers website to
give his location and end location (destination) or select the warehousing services. There will
be accommodation and transport services availablefor the user as well. Once his/her tour is
started, progress will be tracked using the android app. Asaan Movers. Unlike the traditional
and manual approaches used for managingsoftware development, the organizational members
who use our product (Asaan Movers) will not have to face challenges with planning tour,
business objectives, and increased workloads.

Tools and Technologies


This table 1.1 would include tools and technologies used in project.
Table 1.1: Tools and Technologies
Tools Version Rationale
MS Visual Code 2022 IDE
Android Studio 2021 IDE
Adobe Photoshop CSC 6 Design Work
MS Word 2019 Documentation
MS Power Point 2015 Presentation
Pencil 2.0.5 Mockups Creation
Tools Technology Version Rationale
Java 17 Programming language
And
React 17.0.2 Programming language
Technologies
NodeJs 16 Programming language
MongoDb 5.0 Database
HTML 5 Web development
CSS 2.1 Web development
BootStrap 5.1 Web Development
JQuery 2019 JavaScript Library
Asaan Movers

1.2 Relevance to Course Modules


This system is built upon the foundation set up by many of the course modules we studied
throughout the four-year program of BSE. The courses modules that served as the
building blocks for the project are:
Software Engineering: We kept in mind the concepts we learned in software engineering about
how the project lifecycle progresses, which process model is used for what kind of project etc.

Human Computer Interaction: We kept in mind the major principles of HCI so that the interface
is more user friendly and understandable by the end user.

Software Requirement Engineering: In SRE we studied about how requirements are gathered
and what are the techniques used for it.

Software Quality Assurance: This course taught us how to improve the development process
so that certain issues can be prevented before they cause major problems in production. How
to make quality software according to the non-functional requirements specified.
Software Testing: Testing is a major step in software development life cycle. We studied how
to test our system manually and through automation.

Software Project Management: in this course we studied how to manage time, resources
effectively and efficiently. How to make schedule for your project. Planning is also important
we studied how to plan the development process and make the best use of available resources.
Through this course we learn how to use the available tools for theplanning like making
Gantt chart on project plan.

1.3 Project Background


People often move to new cities, states, and countries for work, love, or family. And this is
where our company comes in! I mean, what are you going to do if you don't have a friend
with a truck who can help you move that couch from your third-floor walk-up? That's where
we come in. We can provide you with trucks, vans, and mini trucks (no minivans though) to
get the job done. Our motto is "we are never late, we just arrive before you do."

Yes, some systems exist that provide such services to users, but our system enhances the
user's abilities to perform tasks at their fingertips. Our system is more reliable and practical
than other systems, due to it being networked, having business logic capabilities, and
possessing programming ethics.

1.4 Literature Review


The Web Apps that are related to our project and that inspired us to create such a Logistic
app,the following with brief introduction:
Nowadays people often move outside the country or within the country to work and living
prospective, so there is a need of relocation and warehousing services. These problems
attracted us to develop a Web based software App that will help people to relocate and store
their goods in warehouses.
11
Asaan Movers

Abdullah Movers & Packers:


Abdullah Movers & Packers provides home pickup service, courier movement to local and
domestic, but they work mostly with manual labor, they don't have any application that
allows the user to choose the type of service which they need.

Ishaq Movers:
Ishaq Movers is one of the relocating service providers that, home pickup service, and
relocating services locally and nationally. But due to its complex usability and availability,
Ishaq Movers web and mobile application is a failure.

Movers & Packers Islamabad:


Despite having a fancy name, Movers & Packers relocating service just won't cut it. I'm sure
you know by now that it doesn't have any web-based application and you can track your
package only after the company manages to find it.

1.5 Analysis from Literature Review:


This table 1.2 contains information about the competitors Information.

Table 1.2: Competitors information

Application Name Weakness Proposed Project Solution


Abdullah Movers & Packers The system is mostly Our system is more user-friendly
manual, there is no such and reliable. If you want to place
mobile application. If you an order you can ask for the type
want to track or place a of service you want, you can ask
shipment, you need to do it for our crew to your doorsteps
manually by calling their for shipments. And you can track
customer support using the shipment by both manners i-e
extra credit. web and app.
Ishaq Movers The system provides less Assan movers provide
confidentiality to the user and confidentiality to users and also
the user is not able to send the allow the user to send their house
shipment from home that luggage, pets, and curious from the
system also does not allow the office and from their doorsteps.
user to move luggage from
home to another city.
Movers & Packers Islamabad M&P Islamabad has many Our system performs timely
weaknesses such as late delivery with a tracking ID system
delivery, shipment tracking and worry-free shipment in lesser
dis-functionality, customer time.
support lag.

12
Asaan Movers
\

1.6 Methodology and Software Lifecycle for This Project

For our project, we have chosen the object-oriented approach. The goal of this style of
software development is to break down complex systems into manageable modular pieces
that combine data and processes into a single unit. With its focus on analyzing and designing
systems in terms of objects, OOD enables teams to better understand these complex systems.
We chose Agile Model for SDLC because it breaks a product into small incremental builds.
This process is a combination of iterative and incremental models with an emphasis on
adaptability and customer satisfaction by rapid delivery of working software products. These
builds are made available in iterations.

1.7 Rationale behind Selected Methodology

Following is some of the advantages of the object-oriented approach: Reduced


Maintenance: Object-oriented development's major objective is to guarantee that the system
will last longer with significantly lower maintenance expenses. The behaviors can be reused
and combined into new behaviors because most system operations are encapsulated.
Real-World Modeling: Compared to conventional methods, object-oriented systems tend to
model the world today more thoroughly. Objects are categorized into classes, and objects and
behaviors are connected. Instead, then being based on data and computation, the model is
built on objects.

Improved Reliability and Flexibility: because new behaviors may be created from existing
objects; object-oriented systems promise to be far more dependable than traditional systems.
New objects can be dynamically called and accessed at any time. A new object may inherit
the data properties of one or more other items. New classes can be created that extend
existing functionality but do not break already-functioning features

High Code Reusability: A newly formed object will immediately take on the traits and data
attributes of the class from which it descended. The data and behaviors from any super classes
in which it participates will likewise be inherited by the new object. When a user creates a
new type of widget, the new object has new behaviors that are defined to the system and
behaves in a "weighty" manner.
Following are some of the advantages of the Agile model:

Understanding the advantages of the Agile model is essential before using it in the software
development life cycle (SDLC). This method's main advantage is that it is applied at the very
beginning of the software development process. As a result, developers and testers are better

13
Asaan Movers

equipped to recognize functional or design-related problems as soon as is practical and to take


appropriate action within a limited budget. The following are additional merits or advantages
of this model:
Superior Quality: Testing is an integrated part of Agile execution phase which means the
overall quality of the final product is greater.
Client Continuous involvement: Client is continuously involved in the development process
and can ask for changes wherever required. So, it results in better quality.

Customer satisfaction: Creating a relationship with the customer results in long-term loyalty
and satisfaction.

Better control: Agile allows developers to have better control over the project due to its
transparency, feedback integration, and quality-control features. Quality is ensured throughout
the implementation phase of the project and all stakeholders are involved in the process.
Reduce risk: Agile works in small sprints that focus on continuous delivery, which minimizes
risk.
Increase flexibility: Agile methodologies also help to increase a project's flexibility by
dividing it into manageable and flexible sprints.

14
Asaan Movers

2 Problem Definition

This chapter identifies the problem and provides a plan to solve it.

2.1 Problem Statement


People often move to new cities, states, and countries for work, love, or family. And this
is where our company comes in! I mean, what are you going to do if you don't have a
friend with a truck who can help you move that couch from your third-floor walk-up?
That's where we come in. We can provide you with trucks, vans, and mini trucks (no
minivans though) to get the job done. Our motto is "we are never late, we just arrive
before you do."
Yes, some systems exist that provide such services to users, but our system enhances the
user's abilities to perform tasks at their fingertips. Our system is more reliable and
practical than other systems, due to it being networked, having business logic
capabilities, and possessing programming ethics.

2.2 Deliverables and Development Requirements


Table 2.1 illustrates the deliverables and development requirements.
Table 2.1: Deliverables and development requirements
Specification Required
ReactJs
Programming Node.Js
Languages Express.Js

Computers
Hardware Platforms /Laptop/
Android mobile
phone

IDE’S VS Code

Window 8,10
Operating System and 11 and
Android
System
Database MongoDB

Documentation Microsoft Word


and Artifacts Powerpoint
Star UML

15
Asaan Movers

2.3 Current System


These contains information about the current working Systems in market

2.3.1 Abdullah Movers & Packers:


Abdullah Movers & Packers provides home pickup service, courier movement to local and
domestic, but they work mostly with manual labor, they don't have any application that
allows the user to choose the type of service which they need. Figure 2.1 shows the user
interface of Abdullah Movers & Packers.

Figure 2.1: UI of Abdullah Movers & Packers


2.3.2 Ishaq Movers
Ishaq Movers is one of the relocating service providers that, home pickup service, and relocating
services locally and nationally. But due to its complex usability and availability, Ishaq Movers web
and mobile application is a failure. Figure 2.2 shows the user interface of Ishaq Movers.

Figure 2.2: Ishaq Movers

16
Asaan Movers

2.3.3 Movers & Packers Islamabad


Despite having a fancy name, Movers & Packers relocating service just won't cut it. I'm sure you
know by now that it doesn't have any web-based application and you can track your package only after
the company manages to find it. Table 2.2 contains information about the competitors and their
weaknesses and Figure 2.3 shows the user interface of Movers & Packers Islamabad.

Figure 2.3: Movers and Packers Islamabad

Table 2.2: Related Systems Analysis Table

Application Name Weakness Proposed Project Solution


Abdullah Movers & Packers The system is mostly Our system is more user-
manual, there is no such friendly and reliable. If you
mobile application. If you want to place an order you can
want to track or place a ask for the type of service you
shipment, you need to do want, you can ask for our crew
it manually by calling to your doorsteps for
their customer support shipments. And you can track
using extra credit. the shipment by both manners
i-e web and app.
Ishaq Movers The system provides less Assan movers provide
confidentiality to the user and confidentiality to users and also
the user is not able to send allow the user to send their
the shipment from home that house luggage, pets, and curious
system also does not allow from the office and from their
the user to move luggage doorsteps.
from home to another city.

17
Asaan Movers
Movers & Packers Islamabad M&P Islamabad has many Our system performs timely
weaknesses such as late delivery with a tracking ID
delivery, shipment tracking system and worry-free shipment
dis-functionality, customer in lesser time.
support lag.

18
Asaan Movers

3 Requirement Analysis
This chapter explicitly includes all SRSs for Asaan Movers. It describes the use cases, major
features, functionalities, quality attributes, and interfaces that make up the whole Asaan
Movers.It serves as the product specification for Asaan Movers and describes Asaan Movers
as a whole byincluding a detailed usage perspective along with the functional, non-functional,
and interfacerequisites.

3.1 Use Cases Diagram(s)

Figure 3.1 shows the use case diagram of Asaan Movers.

Figure 3.1: Use case of Asaan Movers

19
Asaan Movers

3.2 Detailed Use Case


Detail about Use Cases are following
3.2.1 Use case Registration:
All tables show the fully dressed format of use cases of our system. Table 3.2.1 contains Fully dressed
Registration Use case.

Table 3.2.1: Fully Dressed Use Case for Registration


Use Case ID: UC-#1
Use Case Register yourself
Name:
Actors: Customer
Staff

Description: A user can register itself to use the platform

Trigger: Whenever someone wants to avail our services he/she needs to register
himself/herself.
Preconditio User needs to visit the registration page for Registering themselves.
ns:

Postconditio A user would be forwarded to login page.


ns:
Normal 1: first user needs to visit Registration page.
Flow: 2:A field shows register yourself. By clicking it a form will be shown to user with
some credentials.
3:After successfully filled all the requirements fields of registration
4: The user will be triggered to the login page where they would use their login
email and password to log in.
Business The user will need to submit the form in 10 min otherwise session would expire.
Rules

20
Asaan Movers

3.2.2 Use case Login:

Table 3.2.2 contains Fully dressed use case for Login

Table 3.2.2: Fully Dressed Use Case for Login

Use Case ID: UC#2


Use Case Login
Name:
Actors: Customer
Staff
Description: A user can login yourself by interacting with login button

Trigger: Whenever someone wants to avail our services he/she needs to login.

Preconditio Users needs to register their selves first


ns:

Postconditio A user would be shifted to home page.


ns:
Normal 1: first user needs to visit login
Flow: 2:A field shows login by clicking it will asks for username and password
3:After successfully loged in the user would see home page

Business The user will need to provide his/her username and password to login to our
Rules system.

21
Asaan Movers

3.2.3 Use case Get Relocation Services:

Table 3.2.3 contains the fully dressed use case for relocation services.

Table 3.2.3: Fully Dressed Use Case for Getting Relocation Services

Use Case ID: UC#3


Use Case Get Relocation Services
Name:
Actors: Customer
Description: Customer can avail relocation services.

Trigger: Whenever someone wants to avail our services he needs to login


themselves. Login page trigger this use case
Preconditio User needs to login and then visit home page.
ns:

Postconditio An order is confirmed and Information sent to staff.


ns:
Normal 1: First user needs to homepage
Flow: 2: Then Selects Relocation services and enter information to confirm
order.

Business The user will need to complete all steps to confirm his/her order.
Rules
Fully Dressed Use Case 3.3

22
Asaan Movers

3.2.4 Use case Get Courier Services:

Table 3.2.4 contains the fully dressed use case for courier services.

Table 3.2.4: Fully Dressed Use Case for Courier Services

Use Case ID: UC#4


Use Case Get Courier Services
Name:
Actors: Staff
Description: Staff can enter courier service information.

Trigger: Staff needs to login and then enter courier information.


Preconditions Staff needs to login before availing services.
:
Postcondition After entering information order would be sent to driver
s:
Normal Flow: 1:Staff user needs to visit landing page
2: Staff would enter information.
3:Staff would confirm order.

Business Staff should be registered.


Rules

23
Asaan Movers

3.2.5 Use case View Orders Report:

Table 3.2.5 contains the fully dressed use case for view orders report.

Table 3.2.5: Fully Dressed Use Case for View Orders Report.

Use Case ID: UC#5


Use Case View Orders Report
Name:
Actors: Admin
Description: Admin can view all Orders Reports.

Trigger: View Order Reports triggered Order Reports use case


Preconditio Admin needs to login.
ns:

Postconditio Admin would see all the orders reports.


ns:
Normal 1: Admin needs to login
Flow: 2: Admin click Order Reports.
3:Order Reports Shown.

Business Only Admin can view order reports.


Rules

24
Asaan Movers

3.2.6 Use case Add Staff:

Table 3.2.6 contains the fully dressed use case for adding staff.

Table 3.2.6: Fully Dressed Use Case for Adding Staff

Use Case ID: UC#6


Use Case Add Staff
Name:
Actors: Admin
Description: Admin can add new staff.

Trigger: Add Staff triggered Manage Staff use case


Preconditio Admin needs to login.
ns:

Postconditio New Staff would be added.


ns:
Normal 1: First Admin needs to login.
Flow: 2: Admin need to click add staff.
3:Admin enters Staff Information
4:Staff Added.
Business Admin can add approved staff only.
Rules

25
Asaan Movers

3.2.7 Use case Remove User:

Table 3.2.7 contains the fully dressed use case for removing user.

Table 3.2.7: Fully Dressed Use Case for removing user.

Use Case ID: UC#7


Use Case Remove User.
Name:
Actors: Admin
Description: Admin can remove Users.

Trigger: Remove User triggered Manage user use case


Preconditio User should be selected.
ns:

Postconditio User must be removed.


ns:
Normal 1: Admin needs to open users
Flow: 2: Admin would select user
3:Admin would remove user.

26
Asaan Movers

3.3 Functional Requirements


Functional requirements are the desired operations of a program or system as defined in
software development. Functional requirements describe the desired end function of a
system.
Customer Side Functional requirements
Customer side functional requirements are explained under:
Sign-up
Function: host sign-up to the Application
Priority: Top (Required on first release)
Requirement: Host/host will be able to sign up to the Application using personal
information like email, name, phone number and password

Sign-in
Function: host sign-in to the Application
Priority: Top (Required on first release)
Requirement: Host will be able to login to his account using his credentials

View all SERVICES:


Function: Host views all services added.
Priority: Top (Required on first release)
Requirement: Host will be able to view all services provided in a list with its name,
image, generated price, description and other needed properties.

Place Order
Function: Host place order for any service.
Priority: Top (Required on first release)
Requirement: After signing in, host would be able to place order for any service (like
relocation, tracking by tracking number, location, warehousing etc.). Ordering a service
will be either accepted or rejected by the Staff.

Track orders
Function: Host tracks his order status.
Priority: Top (Required on first release)
Requirement: Host will be able to track and view status of his orders.

Orders history
Function: Host views orders history
Priority: Top (Required on first release)
Requirement: Host will be able to view his orders history.

Add review
Function: Add review on ordered service to the Staff.
Priority: Top (Required on first release)
Requirement: After delivery customer will be able to add review on the services.
27
Asaan Movers

Sign Out
Function: Host Sign out of the Application
Priority: Top (Required on first release)
Requirement: Host will be able to click on a button in the application “Sign-out” that
will immediately sign the user out of the Application.

STAFF SIDE functional requirements


Staff side functional requirements are explained as:
Sign-in
Function: Staff sign-in to the application
Priority: Top (Required on first release)
Requirement: Staff will be able to login to his account using his credentials.

View orders
Function: Staff views service orders
Priority: Top (Required on first release)
Requirement: Staff will be able to view service ordered by the host.

Accepts order
Function: Staff accepts order placed by the host
Priority: Top (Required on first release)
Requirement: Staff will be able to accept order placed by the host.

Rejects order
Function: Staff rejects service order placed by the host in case of unavailability or any
other reason
Priority: Top (Required on first release)
Requirement: Staff will be able to reject order placed by the customer, which can be for
any reason like, Staff is not available at specific date or any other reason

Sign Out
Function: Staff Sign out of the Application
Priority: Top (Required on first release)
Requirement: Staff will be able to click on a button in the application “Sign-out” that
will immediately sign the user out of the Application.

28
Asaan Movers

Admin Side Functional requirements


Admin will have all the functionalities given to the Staff; in addition, he will have the
following functionalities:
Admin do not need to signup, instead he will be a by default user of the application
having access to it

Sign-in
Function: Admin sign-in to the Application
Priority: Top (Required on first release)
Requirement: Admin will be able to login to his account using his credentials.

Manage Staffs
Function: Admin manage Staffs
Priority: Top (Required on first release)
Requirement: Admin will be able to manage Staffs registered in the Application.

View Staffs
Function: Admin view Staffs
Priority: Top (Required on first release)
Requirement: Admin will be able to view all Staffs registered in the Application

Delete Staffs
Function: Admin delete Staffs from the Application
Priority: Mid-level
Requirement: Admin will be able to delete any Staffs from the Application. Application
must provide a warning pop up before deletion

Sign Out
Function: Admin Sign out of the Application
Priority: Top (Required on first release)
Requirement: Admin will be able to click on a button in the application “Sign-out” that
will immediately sign the user out of the Application.

29
Asaan Movers

3.4 Non-Functional Requirements


Non-functional requirements are the quality attributes, they do not relate to functionality but
to attributes such as usability, portability, reliability, maintainability etc. Table 3.4.1 shows
the non functional requirements.
Table 3.4.1: Non-Functional Requirements

Non-Functional Description
Requirements
(NFR-1) System must be available 24/7 for the user

(NFR-2) Each page must load within 2 sec

(NFR-3) System will handle 10 thousand users at a time

(NFR-4) System must remember user credentials, so they won’t be


required to write again and again the same information

(NFR-5) System must run efficiently on all devices

(NFR-6) System must be reliable even after extensive use

(NFR-7) Information on the system must be in English Language

(NFR-8) System must accept payments in PKR

(NFR-9) System must follow Pakistan’s time zone

(NFR- System must not allow unregistered users to place their


10) order

(NFR- Users should have easy recoverability options if they


11) mistakenly select wrong section

30
Asaan Movers

4 Design and Architecture


The detail design and architecture of the system is given below:

4.1 Activity Diagram:

Figure 4.1.1 shows the activity diagram for customer.

Figure 4.1.1: Activity diagram for customer

31
Asaan Movers

Figure 4.1.2 shows the activity diagram for admin.

Figure 4.1.2: Activity diagram for admin

32
Asaan Movers

Figure 4.1.3 shows the activity diagram for staff.

Figure 4.1.3: Activity diagram for staff

33
Asaan Movers

4.2 System Sequence Diagram:


Below figures shows the system sequence diagrams of Asaan Movers.

Figure 4.2.1 shows the system sequence diagram for Sign up.

Figure 4.2.1: System Sequence Diagram for Sign up.

34
Asaan Movers

Figure 4.2.2 shows the system sequence diagram for Local Relocation.

Figure 4.2.2: System Sequence Diagram for Local Relocation

35
Asaan Movers

Figure 4.2.3 shows the system sequence diagram for Domestic Relocation.

Figure 4.2.3: System Sequence Diagram for Domestic Relocation

36
Asaan Movers

Figure 4.2.4 shows the system sequence diagram for Adding Staff.

Figure 4.2.4: System Sequence Diagram for Adding Staff

37
Asaan Movers

Figure 4.2.5 shows the system sequence diagram for Removing Staff.

Figure 4.2.5: System Sequence Diagram for Removing Staff

38
Asaan Movers

4.3 Data Flow Diagram:

Below figures shows the Data Flow Diagrams of Asaan Movers.


Figure 4.3.1 shows the level 0 DFD.

Figure 4.3.1: Level 0 DFD

39
Asaan Movers

Figure 4.3.2 shows the level 1 DFD.

Figure 4.3.2: Level 1 DFD

40
Asaan Movers

Figure 4.3.3 shows the level 2 DFD.

Figure 4.3.3: Level 2 DFD

41
Asaan Movers

5 Implementation
Implementation of the system need all the required algorithms and external api’s which
are explain under

5.1 Algorithm

5.1.1 Pseudo Code:

This pseudocode describes an algorithm that finds the shortest route through a set of
locations by always selecting the nearest location to the current location. The algorithm starts
at a given starting location and repeatedly adds the nearest location to the route until all
locations have been visited.

Given a list of locations and a starting location


Create an empty list to hold the optimal route

While there are locations remaining:


Find the nearest location to the current location
Add that location to the optimal route
Remove that location from the list of remaining locations
Set the current location to the location just added to the route

Return the optimal route

5.1.2 External APIs


Table 5.1 contains the details of external APIs.

Table 5.1: External APIs

Name of API Description of Purpose of List down the


API usage function/class name in
which it is used
Google Maps A Google Maps used to track Tour planning and track-
API is an API that the progress of ing path.
gives developers tour plan and
access to Google showing plan-
Maps data and ning path on
functionality for map
their own
applications.

42
Asaan Movers

5.2 User Interface


A description of the user interface and its features

Our system has different kinds of interfaces for different users i.e. it has user interface, admininterface,
customer interface, service provider interface and public interface
Following are the interfaces of our system CherryTrips

5.2.1 Public interface:


Figure 5.2.1 and Figure 5.2.2 shows the interfaces, which the users can see even without registering.

Figure 5.2.1: Public Interface

Figure 5.2.2: Public Interface


43
Asaan Movers

5.2.2 Registration interface:

Figure 5.3shows where user can sign up (as a simple user or as a service provider)
Figure 5.2.3: User Interface for Sign up

44
Asaan Movers

5.2.2 Sign in Interface:

Figure 5.2.4: User Interface for Sign in

5.2.3 User interface:


Figure 5.2.5 shows the interfaces, which the registered users can see. From here,
the user can create his/her plan, can see bookings and the user can also update his
profile as a service provider.

Figure 5.2.5: User Interface for Registered User

45
Asaan Movers

5.2.4 Staff Portal:

Figure 5.2.6 shows the interface for staff portal.

Figure 5.2.6: Staff Portal

Figure 5.2.7 shows the interface for adding courier.

Figure 5.2.7: Interface for adding couriers

46
Asaan Movers

5.2.5 Admin Portal:

Figure 5.2.8 shows the interface for admin portal.

Figure 5.2.8: Admin Portal

Figure 5.2.9 shows the interface for all vehicles.

Figure 5.2.9: Interface for all vehicles

47
Asaan Movers

Figure 5.2.10 shows the interface for adding new mover.

Figure 5.2.10: Interface for adding new mover

Figure 5.2.11 shows the interface for adding new vehicle.

Figure 5.2.11: Interface for adding new vehicle

48
Asaan Movers

Figure 5.2.12 shows the interface for adding new staff.

Figure 5.2.12: Interface for adding new staff

49
Asaan Movers

6 Testing and Evaluation


Testing and evaluation of our system is being shown below.

6.1 Manual Testing


Following tables shows the manual test cases for Asaan Movers.

6.1.1 Unit Testing

Unit Testing 1: Testing the log in functionality for admin


Testing Objective: To make sure admin is being logged in.
Table 6.1 shows the login unit test case for admin.

Table 6.1: login Unit Testcase for admin

No. Testcase/Test Attribute and value Expected Actual Result


script Output Output

1. To check that Email: Login Login Pass


admin is logged in me@me.com Successfully. successfully
after clicking the Password: 1234
“log in” button.

2. To check that it Email: Email or Email or Pass


shows “email or me@me.com password is password is
password is Password: 12362 wrong. wrong.
wrong” when
password is
wrong.
3. To check that it Email: Email or Email or Pass
shows “email or mess@me.com password is password is
password is Password: 1234 wrong. wrong.
wrong” when
email is wrong.

50
Asaan Movers
4. To check that it Email: Email or Email or Pass
shows “email or mess@me.com password is password is
password is Password: 123434 wrong. wrong.
wrong” when both
email and
password are
wrong.

51
Asaan Movers
5. To check that it Email: Email and Email and Pass
shows “email and Password: password are password
password are required. are
required” when required.
both email and
password are
blank.
6. To check that it Email: Email is Email is Pass
shows “email is Password: 1234 required. required.
required” when
email is blank.

7. To check that it Email: Password is Password is Pass


shows “password me@me.com required. required.
is required” when Password:
password is blank.

52
Asaan Movers
Unit Testing 2: Testing the log in functionality for staff
Testing Objective: To make sure staff is being logged in.
Table 6.2 shows the login unit test case for staff.

Table 6.2: login Unit Testcase for staff

No. Testcase/Test Attribute and value Expected Actual Result


script Output Output

1. To check that staff Email: Login Login Pass


is logged in after me@staff.com Successfully. successfully
clicking the “log Password: lala
in” button.

2. To check that it Email: Email or Email or Pass


shows “email or me@staff.com password is password is
password is Password: 12362 wrong. wrong.
wrong” when
password is
wrong.
3. To check that it Email: Email or Email or Pass
shows “email or mess@staff.com password is password is
password is Password: 1234 wrong. wrong.
wrong” when
email is wrong.

4. To check that it Email: Email or Email or Pass


shows “email or mess@staff.com password is password is
password is Password: 123434 wrong. wrong.
wrong” when both
email and
password are
wrong.
5. To check that it Email: Email and Email and Pass
shows “email and Password: password are password
password are required. are
required” when required.
both email and
password are
blank.

53
Asaan Movers
6. To check that it Email: Email is Email is Pass
shows “email is Password: 1234 required. required.
required” when
email is blank.

7. To check that it Email: Password is Password is Pass


shows “password me@staff.com required. required.
is required” when Password:
password is blank.

54
Asaan Movers
Unit Testing 3: Testing the log in functionality for mover
Testing Objective: To make sure mover is being logged in.
Table 6.3 shows the login unit test case for mover.

Table 6.3: login Unit Testcase for mover

No. Testcase/Test Attribute and value Expected Actual Result


script Output Output

1. To check that Email: Login Login Pass


mover is logged in me@mover.com Successfully. successfully
after clicking the Password: lala
“log in” button.

2. To check that it Email: Email or Email or Pass


shows “email or me@mover.com password is password is
password is Password: 12362 wrong. wrong.
wrong” when
password is
wrong.
3. To check that it Email: Email or Email or Pass
shows “email or mess@mover.com password is password is
password is Password: 1234 wrong. wrong.
wrong” when
email is wrong.

4. To check that it Email: Email or Email or Pass


shows “email or mess@mover.com password is password is
password is Password: 123434 wrong. wrong.
wrong” when both
email and
password are
wrong.
5. To check that it Email: Email and Email and Pass
shows “email and Password: password are password
password are required. are
required” when required.
both email and
password are
blank.

55
Asaan Movers
6. To check that it Email: Email is Email is Pass
shows “email is Password: 1234 required. required.
required” when
email is blank.

7. To check that it Email: Password is Password is Pass


shows “password me@mover.com required. required.
is required” when Password:
password is blank.

56
Asaan Movers

Unit Testing 4: Testing the log in functionality for customer.


Testing Objective: To make sure customer is being logged in.
Table 6.4 shows the login unit test case for customer.

Table 6.4: login Unit Testcase for customer

No. Testcase/Test Attribute and value Expected Actual Result


script Output Output

1. To check that Email: Login Login Pass


customer is me@customer.com Successfully. successfully
logged in after Password: lala
clicking the “log
in” button.

2. To check that it Email: Email or Email or Pass


shows “email or me@customer.com password is password is
password is Password: 12362 wrong. wrong.
wrong” when
password is
wrong.
3. To check that it Email: Email or Email or Pass
shows “email or mess@customer.co password is password is
password is m wrong. wrong.
wrong” when Password: 1234
email is wrong.

4. To check that it Email: Email or Email or Pass


shows “email or mess@customer.co password is password is
password is m wrong. wrong.
wrong” when both Password: 123434
email and
password are
wrong.
5. To check that it Email: Email and Email and Pass
shows “email and Password: password are password
password are required. are
required” when required.
both email and
password are
blank.

57
Asaan Movers
6. To check that it Email: Email is Email is Pass
shows “email is Password: 1234 required. required.
required” when
email is blank.

7. To check that it Email: Password is Password is Pass


shows “password me@customer.com required. required.
is required” when Password:
password is blank.

58
Asaan Movers

Unit Testing 5: Adding new staff by admin


Testing Objective: To check that admin can add new staff successfully.
Table 6.5 shows the test cases for adding staff by admin.

Table 6.5: Test cases for adding staff by admin

No. Testcase/Test Attribute and value Expected Actual Result


script Output Output

1. To check that admin Name: staff Staff added Staff added Pass
can add new staff by Email: me@staff.com successfully. successfully.
entering valid data. Phone: 03118109710
Password: lala
City: abbottabad

2. To check that it Name: staff Please fill all Please fill Pass
shows “ Please fill Email: me@staff.com the required all the
all the required Phone: abshssj fields correctly required
fields correctly” Password: lala fields
when data is entered City: correctly
invalid. abbottabad

59
Asaan Movers

Unit Testing 6: Adding new mover by admin


Testing Objective: To check that admin can add new mover successfully.
Table 6.6 shows the test cases for adding mover by admin.

Table 6.6: Test cases for adding mover by admin

No. Testcase/Test Attribute and value Expected Actual Result


script Output Output

1. To check that admin Name: mover Mover added Mover added Pass
can add new mover Email: successfully. successfully.
by entering valid me@mover.com
data. Phone: 03118119710
Password: lala
City: abbottabad

2. To check that it Name: Mover Please fill all Please fill Pass
shows “ Please fill Email: the required all the
all the required me@mover.com fields correctly required
fields correctly” Phone: abshssj fields
when data is entered Password: lala correctly
invalid. City:
abbottabad

60
Asaan Movers

Unit Testing 7: Adding new courier by staff


Testing Objective: To check that staff can add new courier successfully.
Table 6.1 shows the adding courier by staff.

Table 6.7: Test cases for adding courier details by staff

No. Testcase/Test Attribute and value Expected Actual Result


script Output Output

1. To check that staff To: Islamabad Courier added Courier added Pass
can add new courier From: Abbottabad successfully. successfully.
by entering valid Weight: 1.2
data. Customer Name:
Customer
Customer Phone:
03118119710
Customer Address:
street#5 comsats road

2. To check that it To: Islamabad Please fill all Please fill Pass
shows “ Please fill From: Abbottabad the required all the
all the required Weight: 1.2 fields correctly required
fields correctly” Customer Name: fields
when data is entered Customer correctly
invalid. Customer Phone:
abssns
Customer Address:
street#5 comsats road

61
Asaan Movers

6.1.2 Functional Testing:


Following are the functional test cases for Asaan Movers.

Functional Testing 1: Logging in as different roles.


Objective: To check that you can logged in as different roles.
Table 6.8 shows the Login Functional test case.

Table 6.8: Login Functional Testcase

No. Testcase/Test script Attribute and value Expected Actual Output Result
Output

1. Logged in as Email: me@me.com Dashboard Dashboard opened Pass


admin. Password: 1234 opened for for admin
admin

2. Logged in as mover. Email: Dashboard Dashboard Pass


me@mover.com opened for opened for
Password: lala mover mover

3. Logged in as Email: Dashboard Dashboard opened Pass


staff. me@staff.com opened for for staff
Password: lala staff

4. Logged in as Email: Dashboard Dashboard opened Pass


customer me@customer.com opened for for customer
Password: lala customer

62
Asaan Movers

6.1.3 Integration Testing:


Table 6.9 shows the test cases for integration testing.

Table 6.9: Integration Testcase

No. Test case/Test Attribute and value Expected Actual Result


script Output Output

1. Logged in Username: Dashboard Dashboard Pass


as me@customer.com opened for opened for
customer. Password: lala customer customer

2. Click on local - A form is A form is Pass


relocation and shown and shown and
fill all the filled filled
fields. correctly. correctly.

3. Order placed Order placed Order placed Pass


for local Successfully. successfully.
relocation
successfully.

4. Click on A form A form is Pass


intercity is shown shown and
relocation and filled
and fill all the filled correctly.
fields. correctl
y.
5. Order placed Order placed Order Pass
for intercity Successf placed
relocation ully. successfully
successfully. .

Department of Computer Science, CUI, Abbottabad 63


Asaan Movers
6. Logged in as Username: Dashboa Dashboard Pass
admin. me@me.com rd opened for
Password: 1234 opened admin
for
admin

7. To check Details Details of Pass


admin can see of all all the
the details of the orders are
all the orders. orders shown.
are
shown.

Department of Computer Science, CUI, Abbottabad 64


7 Conclusion and Future Work:
7.1. Conclusion
To conclude, the "Asaan Movers logistic website" successfully meets the proposed requirements and
provides a simple and easy way for users to handle relocating and warehousing tasks. The system is
user-friendly and scalable and uses technology such as real-time tracking and route optimization to
solve logistic issues. The website has undergone complete implementation and validation and has
achieved its objectives, although there may be room for some additional adjustments.
• Adding additional features or functionality to the website, such as the ability to track
multiple shipments at once or to integrate with other logistic systems.
• Conducting user testing or market research to gather feedback on the website and
identify areas for improvement.
• Expanding the website's reach by adding support for additional languages or regions.

7.2 Future Work


There are several potential directions that future work on the "Asaan Movers logistic
website" could take. Some possible options could include:
• Improving the user experience by redesigning the website's interface or adding new
tools and resources for users.
• Optimizing the website's performance or scalability by making changes to the
underlying architecture or implementing new technologies.

Department of Computer Science, CUI, Abbottabad 65


8 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. Caserta, M., Schwarze, S., & Voß, S. (2009). A New Binary Description of the Blocks Relocation Problem and Benefits
in a Look Ahead Heuristic. Retrieved 1 9, 2023, from https://link.springer.com/chapter/10.1007/978-3-642-01009-5_4

2. Cloutier, P. J., & Frank, B. K. (n.d.). The Joint Logistics Analysis Tool. Army Logistician, 41(4). Retrieved 1 9, 2023,
from http://www.alu.army.mil/alog/issues/JulAug09/joint_analysistool.html

3. Liu, J., Chen, J., & Ye, J. (2009). Large-scale sparse logistic regression. Retrieved 1 9, 2023, from
http://public.asu.edu/~jye02/publications/papers/fp817-liu-kdd09.pdf

4. Pers, M. v., Kibele, E. U., & Mulder, C. H. (2015). Intergenerational proximity and the residential relocation of older
people to care institutions and elsewhere. Ageing & Society, 35(7), 1429-1456. Retrieved 1 9, 2023, from
https://cambridge.org/core/journals/ageing-and-society/article/intergenerational-proximity-and-the-residential-
relocation-of-older-people-to-care-institutions-and-elsewhere/e8eef9f2d1e4aa44209fd091306aa4f4

5. Raagas, E. L. (2015). Logistic Regression on Access to Basic Infrastructure: The Case of Households from a Relocation
Site and Its Host Community in Southern Philippines. International journal of statistics and applications, 5(3), 124-
131. Retrieved 1 9, 2023, from http://article.sapub.org/10.5923.j.statistics.20150503.05.html

6. Rahman, M., Sakamoto, J., & Fukui, T. (2003). Conditional versus unconditional logistic regression in the medical
literature. Journal of Clinical Epidemiology, 56(1), 101-102. Retrieved 1 9, 2023, from
https://ncbi.nlm.nih.gov/pubmed/12589877

7. Rashidi, T. H., Mohammadian, A., & Koppelman, F. S. (2011). Modeling interdependencies between vehicle
transaction, residential relocation and job change. Transportation, 38(6), 909-932. Retrieved 1 9, 2023, from
https://link.springer.com/article/10.1007/s11116-011-9359-4

8. Top Logistics & Transportation Companies on the Inc. 5000. (n.d.). Retrieved 1 9, 2023, from
http://www.inc.com/inc5000/list/2012/industry/logistics-transportation

9. Tsoularis, A., & Wallace, J. (2002). Analysis of logistic growth models. Bellman Prize in Mathematical Biosciences,
179(1), 21-55. Retrieved 1 9, 2023, from https://sciencedirect.com/science/article/pii/s0025556402000962

10. Vittinghoff, E., & McCulloch, C. E. (n.d.). Relaxing the Rule of Ten Events per Variable in Logistic and Cox
Regression. American Journal of Epidemiology, 165(6), 710–718. Retrieved 1 9, 2023, from
http://aje.oxfordjournals.org/content/165/6/710.full

Department of Computer Science, CUI, Abbottabad 66

You might also like