Professional Documents
Culture Documents
INSTITUTE OF ENGINEERING
THAPATHALI CAMPUS
Case Study
On
DriveLink
Submitted By:
Abilash Maharjan (THA077BCT004)
Anmol Kumar Gupta (THA077BCT011)
Shailendra Rawal (THA077BCT041)
Submitted To:
Department of Electronics and Computer Engineering
Thapathali Campus
Kathmandu, Nepal
August, 2023
INTRODUCTION
DriveLink is a mobile application that allows users to easily travel from one place to another.
It is a car/bike service that allows a person to use a smartphone app to arrange a ride in a usually
privately owned vehicle.
In today's world of emerging technology, commuting from one place to another has become a
significant challenge. The conventional transportation system often faces issues such as traffic
congestion, high fuel consumption, and limited parking spaces. Additionally, many individuals
struggle to find affordable and convenient transportation options, especially during peak hours
or in areas with inadequate public transportation.
i
Table of Contents
INTRODUCTION......................................................................................................... i
List of Figures ............................................................................................................... v
1. FUNCTIONAL REQUIREMENTS ....................................................................... 1
R.1: User Type Selection........................................................................................1
R.1.1: Select User Type ............................................................................... 1
R.2: Customer Registration ....................................................................................1
R.2.1: Register New Customer .................................................................... 1
R.2.2: Add Customer ................................................................................... 1
R.3: Rider Registration ...........................................................................................1
R.3.1: Register New Rider ........................................................................... 1
R.3.2: Add Rider .......................................................................................... 2
R.4: User Login ......................................................................................................2
R.4.1: Select the Login option ..................................................................... 2
R.4.2: Enter credentials ................................................................................ 2
R.4.3: Forgot Password option .................................................................... 2
R.4.3.1: Validate OTP .................................................................................. 2
R.4.3.2: Setup New Password ...................................................................... 2
R.5: Ride Booking Interface ...................................................................................3
R.5.1: Pick up and Destination place selection ............................................ 3
R.5.2: Type of vehicle selection (Car or Bike) ............................................ 3
R.5.3: Display estimated fare for the ride .................................................... 3
R.5.4: Review and confirmation .................................................................. 3
R.5.5: Cancel Booking a Ride...................................................................... 3
R.6: Real-Time Tracking ........................................................................................3
R.6.1: Estimation of arrival time.................................................................. 4
R.6.2: Real-Time Location Tracking ........................................................... 4
R.7: Show Rider’s Information ..............................................................................4
R.7.1: Display Available Riders .................................................................. 4
R.7.2: Accept Ride ...................................................................................... 4
R.8: Payment ..........................................................................................................4
ii
R.8.1: Select the payment option ................................................................. 4
R.8.2: Choose Payment Gateway................................................................. 4
R.8.3: Make Payment ................................................................................... 5
R.9: Riders Review and Ratings.............................................................................5
R.9.1: Write a Review .................................................................................. 5
R.9.2: Give Ratings ...................................................................................... 5
R.10: Dashboard .....................................................................................................5
R.10.1: View Dashboard .............................................................................. 5
R.11: Edit Profile....................................................................................................6
R.11.1: Select Edit Profile Option ............................................................... 6
R.11.1.1: Edit Phone Number ...................................................................... 6
R.11.1.1.1: Change Phone Number ............................................................. 6
R.11.1.2: Edit email ..................................................................................... 6
R.11.1.2.1: Change email ............................................................................. 6
R.11.1.3: Edit Password ............................................................................... 6
R.11.1.3.1: Change Password ...................................................................... 6
R.12: Emergency Support and Help Center ...........................................................7
R.12.1: Contact Customer Support .............................................................. 7
2. NON-FUNCTIONAL REQUIREMENTS............................................................. 8
R.1: Performance ....................................................................................................8
R.2: Scalability .......................................................................................................8
R.3: Availability .....................................................................................................8
R.4: Security ...........................................................................................................8
R.5: Design Constraints ..........................................................................................8
R.6: Usability and Accessibility .............................................................................9
R.7: Compliance with Regulations .........................................................................9
R.8: Integration .......................................................................................................9
R.9: Maintainability................................................................................................9
3. DATA FLOW DIAGRAMS .................................................................................. 10
3.1 DFD Level-0...................................................................................................10
3.2 DFD Level-1...................................................................................................11
iii
3.3 DFD Level-2...................................................................................................13
4. UML USE CASE DIAGRAMS............................................................................. 17
4.1 DriveLink Use Case Diagram ........................................................................17
4.2 Use Case Description .....................................................................................19
4.2.1 User Registration .............................................................................. 19
4.2.2 User Login ........................................................................................ 20
4.2.3 Book Ride ......................................................................................... 21
4.2.4 Payment System ................................................................................ 22
4.2.5 Edit Profile ........................................................................................ 23
4.2.6 Rider Review and Ratings ................................................................ 24
4.2.7 Emergency Support ........................................................................... 25
PROJECT SCHEDULE ............................................................................................ 26
iv
List of Figures
v
1. FUNCTIONAL REQUIREMENTS
1
R.3.2: Add Rider
Input: User enters name, email address, phone number, password and copy of driving
license.
Output: Registration Successful message is displayed.
Processing: The user is added to the database along with the user details if the details
provided are verified to be unique otherwise, an error message is displayed.
2
R.5: Ride Booking Interface
Description: From this interface, customers can book a ride, either bike ride or car ride,
according to their preference. Customer should enter their pickup and destination location.
Based on the provided keywords the suggestions of the matched places are shown to the user.
Then, the user selects the pickup and destination location and confirms the ride by selecting a
rider from the list of available riders nearby him/her. After that, a pickup request is sent to the
rider. The rider can accept the request and further proceed to complete the ride.
Description: From this interface, customers are shown the available riders around their pickup
location and they can also get real-time information of the available riders around them. Also,
they can track their current location during their ride. This service helps to increase the security
of the ride.
3
R.6.1: Estimation of arrival time
Process: Through internal estimation using real-time traffic conditions, the probable
estimated time for the rider to reach the pickup location and also the ride duration is
calculated.
Output: Users are shown the estimated arrival time of the rider and ride duration.
R.8: Payment
Description: After completion of the trip, customer must pay the estimated/calculated fare of
the ride. Customer can use any payment gateway like mobile banking or digital wallets
integrated within the system. They must login to any of the payment gateway using their
credentials to make a payment of the ride.
4
R.8.3: Make Payment
Input: Input login credentials of the payment gateway.
Output: Display payment successful message along with receipt and prompt the user
to write a review and give ratings to the rider.
Processing: The system deducts a certain commission as per the company’s policy
from the total amount of the fare and the remaining amount is transferred to the rider’s
account.
R.10: Dashboard
Description: Both the rider and customer have access to see their details from the dashboard.
From this interface, they can get information about previous rides and ratings. There is a
separate dashboard interface for riders and customers.
5
R.11: Edit Profile
Description: When the edit profile option is selected from the dashboard, the user will be
prompted to a new page to view their profile details. The user can then select to edit the profile
information like phone number, email, and password, and update the details by entering valid
information. If the details are invalid, the user will get an error message.
6
R.12: Emergency Support and Help Center
Description: From this, customers and riders can seek assistance, report issues and receive
responses from the customer support. In critical situations, like when an accident occurs
Emergency Support System is responsible for handling it. With this system both customer and
rider can send help request to the system then system generate request query to the admin.
Admin respond to the request through appropriate assistance.
7
2. NON-FUNCTIONAL REQUIREMENTS
R.1: Performance
The application should have fast response times and minimal latency to provide a
smooth and seamless user experience.
The load time for user interface screens shall take no longer than 3 seconds.
The login information shall be verified within 5 seconds.
Riders must be returned within 30 seconds after clicking on the Find Riders button.
Response from the maps API should be received within 5 seconds.
It should be able to handle a high volume of concurrent users and ride requests without
significant performance degradation.
R.2: Scalability
The application should be designed to handle an increasing user base and growing
demand without compromising performance.
It should have the ability to scale horizontally by adding more servers or instances to
accommodate increased load.
R.3: Availability
The application should be available 24 hours, ensuring minimal downtime and
uninterrupted service.
It should have backup systems to handle unexpected failures and ensure data integrity.
R.4: Security
The application should prioritize data security and user privacy by implementing
secure authentication and encryption mechanisms.
It should protect user information, transaction data, and communication channels from
unauthorized access or breaches.
The application must not grant access until the user creates a strong password
The app shall have secure payment system integration.
8
R.6: Usability and Accessibility
The application should have a user-friendly interface with intuitive navigation and clear
instructions.
It should comply with accessibility standards to ensure that users with disabilities can
access and use the application effectively.
R.8: Integration
The application should support seamless integration with external services, such as
payment gateways, mapping services, and SMS/notifications providers.
It should allow for easy integration with third-party APIs and services to enhance
functionality and user experience.
R.9: Maintainability
The application should be designed with clean code practices, making it easy to
maintain, update, and enhance in the future.
It should include appropriate documentation and facilitate bug fixing.
9
3. DATA FLOW DIAGRAMS
Data-flow diagrams (DFDs) are system models that show a functional perspective where each
transformation represents a single function or process. DFDs are used to show how data flows
through a sequence of processing steps. The DFD aims to capture the transformations that take
place within a system to the input data so that eventually the output data is produced. The
processes are shown by named circles and data flows are represented by named arrows entering
or leaving the bubbles. A rectangle represents a source or sink and is a net originator or
consumer of data. A source or a sink is typically outside the main system of study.
The DriveLink software consists of three external entities; Customer, Rider and Admin. The
customer and rider must provide their information for the purpose of registration. To book a
ride, the customer needs to provide the location of pickup and destination to the system. Based
on that, the system will search for available riders and display them to the customer. Customer
then can select riders from the list and confirm the booking. The rider will be provided
10
necessary information of the ride booked. On completion of the ride, the customer must pay
fare for the ride using available payment gateway in the system. The system then adds the fare
amount to the rider’s account. The admin of the system is responsible for maintenance of
system and users account as well as provide assistance the users.
The user first has to create and register their account. There are two kinds of accounts: customer
and rider. Everyone should register their account according to their roles. The Customer info
and Rider info are stored into their respective Customer and Rider databases.
To login into the system, the user has to enter their login Credentials. The login information
is verified using the user database. The user database provides the token and verifies the
account. Once verified, the system is ready to be used.
11
To book a ride the customer must send a pickup request. The status of availability of nearby
riders is sent by the rider database to system. Then send the request info to the rider. On
acceptance by rider, the system sends the rider’s information and the confirmation prompt to
the customer.
Based on the ride information (ride distance and type of vehicle), the system calculates the fare
cost. The system fetches the per unit ride cost Fare Database. After calculating the fare, the
Estimated fare is shown to the customer.
The customer can change their profile information. They have to provide their updated email,
phone number, password to the system. The system updates the given information in the user
database and the updated information is shown to the customer.
The user can see their profile information from dashboard. The system retrieves their
information from the user database and displays it to the user.
12
Customer can rate their riding experience after he/she has reached to the destination. A
customer can give reviews and rating to his trip rider through Review and Rating system. Thus,
provided information's are stored in feedback database for future use.
In critical situations like when an accident occurs Emergency Support System is responsible
for handling it. With this system both customer and rider can send help request to the system
then system generate request query to the admin. Admin respond to the request through
appropriate assistance. Such information are stored in database as log information.
For the customer, after they enter all the required information correctly, the data is saved into
the Customer Database. The registration confirmation is sent to the customer. After the
confirmation from the customer, the account is registered.
For the rider, after they enter all the required information correctly, the data is saved into the
Rider Database. The rider also needs to upload their driving license which is saved in the
Document Database after verification. The registration confirmation is sent to the rider. After
the confirmation from the rider, the account is registered.
Users provide their login details to the system and that users’ credentials are further checked
by the subsystem, check credentials. Check credentials subsystems then query the specific
details provided by the user with the user databases. In response, databases provide either the
valid or invalid notification back to the check credentials. If the response is valid then the user
is redirected to their specific dashboard or interfaces. Otherwise if the response is invalid then
the user again asks to provide the login details.
14
After the selection of the rider by the customer, the booking is confirmed. Then the system
displays the rider's location on the map as well as the estimated arrival time of the rider.
The customer must pay the calculated fare using the available payment gateway in the system.
After payment is done by the customer, the system calculates the commission amount, deducts
the commission amount and credits actual fare amount to the rider’s account. The amounts are
saved into the Transaction Database by the system. Finally, a receipt is generated and provided
to the customer in PDF format.
To change phone number, the user should enter new phone number to the system. The system
then searches for the details of the user through the User ID and updates the entered phone
number of the user in the User Database.
To change email address, the user should enter new email address to the system. The system
then searches for the details of the user through the User ID and updates the entered email
address of the user in the User Database.
15
Figure 17 : Level-2 DFD for Change Password Function
For changing password first user have to provide the valid old password which is validated
from password database. Along with old password users also must verify captcha which is
generated from Captcha recognition system. Once the old password and captcha is validated
then the user’s phone number is extracted from the user database and OTP is sent to that phone
number. Thus provided OTP is entered by user so he/she has access to change password. Then,
finally, the user enters a new password which is saved into the password database.
16
4. UML USE CASE DIAGRAMS
In UML, use-case diagrams model the behavior of a system and help to capture the
requirements of the system. Use-case diagrams describe the high-level functions and scope of
a system. These diagrams also identify the interactions between the system and its actors. The
purpose of a use case diagram in UML is to demonstrate the different ways that a user might
interact with a system.
Preconditions: Users must have done registration and logged into the
DriveLink system.
Customer must book a ride by entering valid pickup and
destination location.
Riders must be available in the system to accept rides.
17
System: Updates the rating and review given by the customer into the database.
User: Accesses Edit Profile option and updates his/her details.
System: Updates the details of the user into the database.
User: Asks for Emergency Support in case of any critical circumstances.
Admin: Provides Assistance to the user.
18
4.2 Use Case Description
The user has a valid phone number. The user is on the homepage of
Preconditions:
the application.
address.
19
4.2.2 User Login
Table 3 : User Login Use Case Description
Preconditions: The user is registered and is on the login page of the application.
20
4.2.3 Book Ride
21
4.2.4 Payment System
Preconditions: The customer has booked a ride and the ride is completed.
22
4.2.5 Edit Profile
Description: 1. User views the profile and makes necessary changes to his/her
profile.
2. The system updates the changed details into the system
database.
23
4.2.6 Rider Review and Ratings
24
4.2.7 Emergency Support
25
PROJECT SCHEDULE
3. Design (4 weeks)
3.1 UI/UX Design (2 weeks)
Design the user interface (UI) of the application, including home page, registration
forms, login screens, ride booking interface and other interactive elements.
Plan user flows and navigation paths to ensure users can easily achieve their goals
within the app and get smooth experience while using the application.
27
4. Review and Update (2 weeks)
Evaluate the feasibility of incorporating user feedback during DriveLink application
development and making iterative improvements.
Gather user feedback and implement changes based on user needs to create a new
prototype that aligns better with the users’ requirements.
5. Programming (4 weeks)
5.1 Frontend Development (1 week)
Implement interactive frontend elements such as buttons, menus, sliders, and forms.
Implement animations for loading screens, page transitions, and interactive elements.
Implement responsive design to ensure compatibility across devices and screen sizes.
7. Implementation (2 weeks)
Deploy the tested and validated version of the DriveLink application to the production
environment.
Conduct immediate testing in the production environment to ensure the deployed
DriveLink application is functioning correctly.
28