SlideShare a Scribd company logo
1 of 134
Download to read offline
Software engineering
Design and development of a P2P car
Rental Platform
2020 - 2021
By: Raed Hamaoui
Academic supervisor: Mrs. Rawia Bdiwi
Corporate Internship Supervisor: Mr. Travor Akwenye
I authorize The student Raed Hamaoui to submit his
final internship report.
Mrs. Rawi Bdiwi, Academic Supervisor
Signature
DEDICATIONS
I dedicate this work to my loving parents, the crown jewel of my life. They never left my side
and always supported me no matter what. Thank you for giving me the warmth of love and
believing in me, caring about me and giving me the iron will to break my limits and advance
onto new heights.
My Sister and my brother to whom I owe all my love, with all my heart I wish to see them
succeed in their lives.
And my friends, the ones who encouraged and challenged me, thank you for being besides All
this time.
Raed Hamaoui
APPRECIATIONS
We’d like to start by expressing our appreciation and gratitude towards Madame
Rawia Bdiwi who was an amazing academic advisor. We'd like to thank her for all the
support that she provided through those times.
We’d also like to thank Mr. Travor Akwenye for his dedication towards the project
and Mr. Kheireddine Akrmi for Helping and pushing us beyond our limits.
The whole academic family of Esprit for being such great mentors and for the effort
that they’ve put into teaching and training us students throughout the past years. We sincerely
and deeply thank the members of the jury for their time and expertise to evaluate our work. It
is an honor for us to have our work reviewed by you.
Table of Contents
General introduction .......................................................................................................... 18
Project Context .................................................................................................................. 20
Introduction .......................................................................................................................... 20
1. Presentation of the host organization ............................................................................ 20
1.1 Organization Chart................................................................................................. 20
1.2 Organization Services ............................................................................................ 21
1.2.1 Website and Software Development .............................................................. 21
1.2.2 Mobile App Development .............................................................................. 21
1.2.3 Logo and Branding ......................................................................................... 21
1.2.4 Search Engine Optimization........................................................................... 21
1.2.5 Social Media Marketing ................................................................................. 22
2. Context and objectives .................................................................................................. 22
2.1 The problem statement........................................................................................... 22
2.2 Existing state analysis............................................................................................ 22
1.2.1 Location context and area of interest.............................................................. 23
1.2.2 Delay of response ........................................................................................... 23
1.2.3 User Experience.............................................................................................. 23
2.3 Proposed Solution .................................................................................................. 23
3. Development methodology ........................................................................................... 24
3.1 Agile methodology................................................................................................. 24
3.2 Scrum Methodology............................................................................................... 25
3.3 Modeling languages............................................................................................... 26
4. Actual and Provisional planning ................................................................................... 26
4.1 Provisional planning .............................................................................................. 26
4.2 Actual planning...................................................................................................... 27
5. Conclusion..................................................................................................................... 28
State of art.......................................................................................................................... 29
Introduction .......................................................................................................................... 29
1. Sharing and P2P Economy............................................................................................ 29
1.1 Sharing Economy................................................................................................... 29
1.2 P2P Economy......................................................................................................... 29
2 P2P Vehicle Sharing Concept ....................................................................................... 29
3 Solutions for Car Rental Platform RentedWheels......................................................... 30
3.1 Module for Client................................................................................................... 31
3.2 Module for Host..................................................................................................... 31
3.3 Administrative Core............................................................................................... 31
3.4 APIs from third parties........................................................................................... 31
3.5 High-tech and high-performance ........................................................................... 31
3.6 Increased Productivity ........................................................................................... 31
3.7 Car Rental Software Program Features.................................................................. 32
3.7.1 System for booking Management :................................................................. 32
3.7.2 Integration of a Payment Gateway : ............................................................... 32
3.7.3 Manage Reservations :.................................................................................... 32
3.7.4 Reports :.......................................................................................................... 32
3.7.5 Identity verification ........................................................................................ 32
3.7.6 Smart search Filter:......................................................................................... 33
3.7.7 Blogging ......................................................................................................... 33
1 Conclusion..................................................................................................................... 33
Requirements Analysis and Design................................................................................... 34
Introduction .......................................................................................................................... 34
1. Functional and non-functional requirements................................................................. 34
1.1 Functional requirements......................................................................................... 34
1.1.1 Car Renters Booking Website. ....................................................................... 34
1.1.2 Car Owners Dashboard panel......................................................................... 36
1.1.3 Car Owners Dashboard panel......................................................................... 36
1.2 Non-functional requirements ................................................................................. 37
2. Project management using Scrum................................................................................. 38
2.1 Scrum Team........................................................................................................... 38
2.2 Product Backlog..................................................................................................... 38
2.3 Specification of global functional requirements .................................................... 39
2.3.1 Identifying the actors...................................................................................... 39
2.3.2 Global use case diagram................................................................................. 40
3. Release planning ........................................................................................................... 41
4. Development environment ............................................................................................ 42
4.1 Hardware environment........................................................................................... 42
4.2 Software environment............................................................................................ 42
5. Architectural View of the system.................................................................................. 45
5.1 MVVM Design Model........................................................................................... 45
5.2 Logical architecture of the system ......................................................................... 46
6. Conclusion..................................................................................................................... 47
Sprint 1: Account Management......................................................................................... 48
Introduction .......................................................................................................................... 48
1. Sprint Backlog............................................................................................................... 48
2. Functional requirement ................................................................................................. 49
2.1 Use case diagram of sprint 1.................................................................................. 49
2.2 Text description of the use cases: .......................................................................... 50
Use case Register .......................................................................................................... 50
Use case Authentication................................................................................................ 51
Use case Edit Profile ..................................................................................................... 52
Use case Update password ............................................................................................ 53
3. Conceptual modeling..................................................................................................... 54
3.1 Class diagram......................................................................................................... 54
3.2 Sequence diagrams................................................................................................. 54
3.2.1 Sequence diagram for “Authenticate” use case.............................................. 55
3.2.2 Sequence diagram for “Edite profile” use case .............................................. 55
4. Activity diagram............................................................................................................ 56
1.1 Activity diagram “Edit profile”............................................................................. 56
5. Implementation.............................................................................................................. 57
5.1 Login...................................................................................................................... 57
5.2 Register .................................................................................................................. 57
5.3 Edit Profile............................................................................................................. 58
5.4 Change Password................................................................................................... 58
6. Conclusion..................................................................................................................... 59
Sprint 2: Booking Management......................................................................................... 60
Introduction .......................................................................................................................... 60
1. Sprint Backlog............................................................................................................... 60
2. Functional requirement ................................................................................................. 61
2.1 Use case diagram of sprint 2.................................................................................. 61
2.2 Text description of the use cases: .......................................................................... 61
2.2.1 Use case Search car: ....................................................................................... 61
2.2.2 Use case Filter ................................................................................................ 63
2.2.3 Use case View cars......................................................................................... 64
2.2.4 Use case Select car ......................................................................................... 65
2.2.5 Use case Validate Identity .............................................................................. 66
2.2.6 Use case Payment ........................................................................................... 67
2.2.7 Use case Review car....................................................................................... 68
3. Conceptual modeling..................................................................................................... 69
3.1 Class diagram......................................................................................................... 69
3.2 Sequence diagrams for car booking....................................................................... 70
4. Activity diagram............................................................................................................ 71
4.1 Activity diagram “Booking”................................................................................. 71
5. Implementation.............................................................................................................. 72
5.1 Register Cars.......................................................................................................... 72
5.1.1 Add Car Info.................................................................................................. 72
5.1.2 Add Basic Info details .................................................................................... 72
5.1.3 Add Mile age cap............................................................................................ 73
5.1.4 Add Car feature and specifications................................................................. 73
5.1.5 Add Car rules and precautions........................................................................ 74
5.1.6 Display Cars in host Panel.............................................................................. 74
5.2 Search car............................................................................................................... 75
5.2.1 Search box and input ...................................................................................... 75
5.2.2 Select Car Make.............................................................................................. 75
5.3 Select Car by Latest cars, Popular destination or experience ........................... 76
5.4 Advanced Filter...................................................................................................... 77
5.5 Display cars............................................................................................................ 78
5.5.1 Display cars .................................................................................................... 78
5.5.2 ToggleMap...................................................................................................... 79
5.5.3 Toggle Map and filer ...................................................................................... 79
5.6 Display car and select booking options.................................................................. 80
5.7 Payment.................................................................................................................. 81
5.8 Current and Booking history.................................................................................. 82
5.8.1 Display Current booking ................................................................................ 82
5.8.2 Display Booking history................................................................................. 82
5.9 Identity verification................................................................................................ 83
5.9.1 Add license ..................................................................................................... 83
5.9.2 Take a capture................................................................................................. 83
5.9.3 List Users........................................................................................................ 84
5.9.4 Verify User ..................................................................................................... 85
5.10 Check Rating and reviews ..................................................................................... 85
6. Conclusion..................................................................................................................... 86
Sprint 3 : Communication Modules................................................................................... 87
Introduction .......................................................................................................................... 87
1. Sprint Backlog............................................................................................................... 87
2. Functional requirement ................................................................................................. 88
2.1 Global use case diagram of sprint 3....................................................................... 88
2.2 Text description of the use cases............................................................................ 89
2.2.1 Use case Check Privacy policy....................................................................... 89
2.2.2 Use case Check Cancellation Policy .............................................................. 89
2.2.3 Use case Check Help Page ............................................................................. 90
2.2.4 Use case diagram Chat ................................................................................... 91
2.2.5 Use case diagram Mange blog........................................................................ 92
3. Conceptual modeling..................................................................................................... 93
3.1 Class diagram......................................................................................................... 93
3.2. Sequence diagrams................................................................................................. 93
3.2.1 Sequence diagram for “Check Help Message” use case ................................ 94
3.2.2 Sequence diagram for “Check Help Message” use case ................................ 94
3.2.3 Sequence diagram for “manage blogs” use case ............................................ 95
4. Implementation.............................................................................................................. 96
4.2 Notification ............................................................................................................ 96
4.2.1 Check for Notification.................................................................................... 96
4.3 Cancellation Policy ................................................................................................ 97
4.3.1 Edit cancellation policy .................................................................................. 97
4.3.2 Cancellation policy Page ................................................................................ 97
4.4 Help........................................................................................................................ 98
4.4.1 FAQs............................................................................................................... 98
4.4.2 Help Message ................................................................................................. 98
4.5 Chat........................................................................................................................ 99
4.6 Blog...................................................................................................................... 100
4.6.1 Preview Blog ................................................................................................ 100
4.6.2 Create Blog................................................................................................... 100
4.6.3 Blogs............................................................................................................. 101
4.6.4 Blog details................................................................................................... 102
4.6.5 Blog comments and responses...................................................................... 102
5. Conclusion................................................................................................................... 103
Sprint 4: Rental Stats and Coupons Management ........................................................... 104
Introduction ........................................................................................................................ 104
1. Sprint Backlog............................................................................................................. 104
2. Functional requirement ............................................................................................... 104
2.1 Text description of the use cases: ........................................................................ 105
2.1.1 Global use case diagaram of Sprint 4 ........................................................... 105
2.1.2 Use case Preview statistics ........................................................................... 106
2.1.3 Use case Preview and Manage Coupons ..................................................... 107
2.1.4 Use case Withdraw history and payment ..................................................... 108
3. Conceptual modeling................................................................................................... 109
3.1 Class diagram....................................................................................................... 109
3.2 Sequence diagrams............................................................................................... 109
Sequence diagram for “Preview and add coupons” use case ...................................... 110
4. Implementation............................................................................................................ 110
1.1 Preview stats ........................................................................................................ 110
Total revenue and commission graph.......................................................................... 111
Total revenue............................................................................................................... 111
Sales report.................................................................................................................. 112
1.2 Coupons ............................................................................................................... 112
Display coupons .......................................................................................................... 112
Add Coupon ................................................................................................................ 113
1.3 Payment withdrawal............................................................................................. 114
Payment cards ............................................................................................................. 114
Add Withdraw............................................................................................................. 115
5. Conclusion................................................................................................................... 115
Conclusion and Perspectives ........................................................................................... 116
Annex............................................................................................................................... 117
List Of figures
Figure 1:logo of InspiredWorkX.............................................................................................. 20
Figure 2: Organization chart..................................................................................................... 20
Figure 3: Agile Scrim process.................................................................................................. 24
Figure 4:Scrum process............................................................................................................ 25
Figure 5: UML modeling Language......................................................................................... 26
Figure 6:Gantt chart of the actual project schedule.................................................................. 27
Figure 7: Global Use Case Diagram ........................................................................................ 40
Figure 8:Sprint Planning .......................................................................................................... 41
Figure 9:Angular MVVM Pattern............................................................................................ 45
Figure 10: Physical architecture............................................................................................... 46
Figure 11:Use case diagram Sprint1 ........................................................................................ 49
Figure 12: class diagram sprint #1 ........................................................................................... 54
Figure 13:Sequence diagram for “Authenticate” use case....................................................... 55
Figure 14:sequence diagram "edit profile ................................................................................ 55
Figure 15:Activity diagram Edit profile................................................................................... 56
Figure 16::Login desktop interface .......................................................................................... 57
Figure 17:Figure 38::Sign up Desktop interface..................................................................... 57
Figure 18:Edit desktop interface ............................................................................................. 58
Figure 19:Use case diagram of sprint 2.................................................................................... 61
Figure 20:Class diagram Sprint #2........................................................................................... 69
Figure 21:Sequence diagram for “Car Booking process” ........................................................ 70
Figure 22:Activity diagram booking........................................................................................ 71
Figure 23:Add car info interface .............................................................................................. 72
Figure 24: car basic info details ............................................................................................... 72
Figure 25: Mile age cap interface............................................................................................. 73
Figure 26: Car features interface.............................................................................................. 73
Figure 27:Car rules and precautions interface......................................................................... 74
Figure 28:My cars list interface ............................................................................................... 74
Figure 29:Header card interface............................................................................................... 75
Figure 30: Select car make interface........................................................................................ 75
Figure 31; Interfaces for select car by latest cars, destination and experience ........................ 76
Figure 32:Advanced filter dialog HMI..................................................................................... 77
Figure 33: display cars interface .............................................................................................. 78
Figure 34:Display cars and filter card ...................................................................................... 79
Figure 35:display cars and Map card ....................................................................................... 79
Figure 36:Figure 36:Car details................................................................................................ 80
Figure 37: Payment interface ................................................................................................... 81
Figure 38:Current booking interface........................................................................................ 82
Figure 39:Booking history interface ........................................................................................ 82
Figure 40: Add driver's license interface.................................................................................. 83
Figure 41:Take capture interface.............................................................................................. 83
Figure 42:Capture with license id ............................................................................................ 84
Figure 43: Display user interface ............................................................................................. 84
Figure 44: Verify user interface ............................................................................................... 85
Figure 45:My rating and reviews interface .............................................................................. 85
Figure 46: use case diagram of sprint #3.................................................................................. 88
Figure 47:class diagram of sprint #3........................................................................................ 93
Figure 48:Sequence diagram “send suggestion”...................................................................... 94
Figure 49:Sequence Diagram of chat....................................................................................... 94
Figure 50:Sequence diagram “manage blogs” ......................................................................... 95
Figure 51:Create and send notification interface ..................................................................... 96
Figure 52:Notifications interface ............................................................................................. 96
Figure 53:edit cancellation Policy interface............................................................................. 97
Figure 54:cancellation Policy interface.................................................................................... 97
Figure 55:FAQs interface......................................................................................................... 98
Figure 56:Help Message interface............................................................................................ 98
Figure 57:Chat interface HMI.................................................................................................. 99
Figure 58:Preview blogs by admin interface.......................................................................... 100
Figure 59:Create blog interface.............................................................................................. 100
Figure 60:Blogs interface....................................................................................................... 101
Figure 61::Blog details interface............................................................................................ 102
Figure 62::Blog comments and responses interface............................................................... 102
Figure 63: use case diagram of sprint #4................................................................................ 105
Figure 64:class diagram of sprint #4...................................................................................... 109
Figure 65:Sequence diagram “add coupon”........................................................................... 110
Figure 66:Dashboard and stats graph..................................................................................... 111
Figure 67:Total revenue interface .......................................................................................... 111
Figure 68:dialog of sales report calendar ............................................................................... 112
Figure 69:Coupons interface .................................................................................................. 112
Figure 70:Add coupon interface............................................................................................ 113
Figure 71:Payment card interface .......................................................................................... 114
Figure 72:Wihdraw interface.................................................................................................. 115
List Of Tables
Table 1:Scrum Team ................................................................................................................ 38
Table 2:Main Actors................................................................................................................. 39
Table 3:hardware environment................................................................................................. 42
Table 4:Text description of the use case “Register” ................................................................ 50
Table 5:Text description of the use case “Authenticate” ......................................................... 51
Table 6:Text description of the use case “Edit Profile”........................................................... 52
Table 7:Text description of the use case “Update Password”.................................................. 53
Table 8:Text description of the use case “search car”.............................................................. 62
Table 9:Description of use case “filter” ................................................................................... 63
Table 10:Text description of use case “View cars” ................................................................. 64
Table 11:Text description of the use case “Select Car”........................................................... 65
Table 12:Text description of use case “Validate identity”....................................................... 66
Table 13:Text Description of use case “Payment”................................................................... 67
Table 14:Text description of sprint4 ........................................................................................ 68
Table 15:Text description of “consult privacy policies” use case............................................ 89
Table 16:Text description of “consult cancellation policies” use case .................................... 89
Table 17:Text description of “consult faqs and send suggestion” use case............................. 90
Table 18:Text description of use case chat .............................................................................. 91
Table 19:text description of the use case “Manage blogs” ...................................................... 92
Table 20:Text description of “Preview stats” use case .......................................................... 106
Table 21:Text description of “Preview and manage coupons” use case............................... 107
Table 22:Text description of “Withdraw history and payment” use case.............................. 108
Table 23:Product Backlog...................................................................................................... 117
Table 24:Sprint Backlog #1.................................................................................................... 121
Table 25:Backlog of sprint #3................................................................................................ 126
Table 26:Backlog of sprint 4.................................................................................................. 129
List of abbreviations
• P2P=Peer to Peer
• CSS = Cascading Style Sheets
• HTML = Hypertext Markup Language
• SQL = Structured Query Language
• UML = Unified Modeling Language
• HMI = Human Machine Interface
• MVVM = Model Vew Vew Model
General Introduction
P a g e 18 | 134
General introduction
Technology has infiltrated every aspect of our lives, and it has also had an impact on
travel and transportation. Car rental platforms have recently shown that the need is much bigger
than we might have thought. This is all due to the advent of online car rental software and
booking apps and the integration of new concepts and models like the sharing economy,
spatially the peer to peer model economy, which have allowed new entrepreneurs to provide a
seamless and organized service to their consumers.
Peer to Peer car rental management can seem like a broad and all-encompassing term.
P2P car rental management is the process that business uses to manage all rentals and asset
information, from acquisition through to disposal. This enables businesses to reduce costs,
increase revenue for car owners, improve efficiency and ensure compliance across an entire
fleet operation.
In order to manage a fleet, a P2P car sharing service provider may rely on a rental
management platform; this software is aiming to hold all the records of vehicles, clients, car
owners and manage its information through a large and complex suite of options.
The peer-to-peer car sharing market size (1) was valued at $1,015.7 million globally in
2020, and it is expected to grow at a CAGR of 21.7% during 2020–2030.
In this context fits our end-of-study project realized in InspiredWorkX for the client
RentedWheels which is a startup that plans to launch a peer-to-peer (P2P) car-sharing
marketplace, and is aiming to become the world's largest peer-to-peer car-sharing platform.
The desired result is to have a robust, reliable structure that alleviates the complexities and
flaws in the existing solution. This report describes the different stages of our work, and is
structured around 7 chapters and lastly, we will close this report and illustrate our conclusion
and the project perspectives.
General Introduction
P a g e 19 | 134
1. The first chapter will cover the general context of our project.
2. In the second chapter, we will present the state of art of the platform.
3. The third chapter will cover the project planning, the global requirement’s analysis
design, illustrate our product backlog, and finally present the logical architecture of
the project and our development environment
4. The fourth chapter will cover the development of the first sprints where we will
explain the sprint backlogs, the description of use cases, it will include the
conceptual phase and we will finish with the implementation and the result achieved.
5. The fifth chapter will cover the development of the Cooking Management sprint
where we will explain the sprint backlogs of the booking process, the description of
use cases, it will include the conceptual phase and we will finish with the
implementation and the result achieved.
6. The sixth chapter will cover the development of the communication modules where
we will explain the sprint backlogs, the description of use cases, it will include the
conceptual phase and we will finish with the implementation and the result achieved.
7. The seventh chapter will cover the development of the last sprint where we will
explain the sprint backlogs, the description of use cases for the rental stats and
coupons management, it will include the conceptual phase and we will finish with
the implementation and the result achieved.
Chapter 1 : Project Context
P a g e 20 | 134
Project Context
Introduction
This first chapter presents the host organization as well as the motivations and the
context of the project to be carried out. Thereafter, we will explain the problem and the
objectives of the work to achieve.
1. Presentation of the host organization
InspiredWokX was founded in 2020, It is a professional experienced and forward
thinking full-service digital agency, its greatest strength is transforming the client needs into
effective solutions that drive client trust, loyalty and revenue growth.
Figure 1:logo of InspiredWorkX
We present in the following the host organization in which our internship took place and
its services.
1.1 Organization Chart
Figure 2: Organization chart
Chapter 1 : Project Context
P a g e 21 | 134
1.2 Organization Services
InspiredWokX offers various services in the technology sector:
1.2.1 Website and Software Development
• MyAjarn: A cloud-based unified e-learning solution that combines a learning
management system (LMS), a classroom management system (CMS) and a virtual
classroom.
• Happy Grocers: This is the leading online platform in Southeast Asia , currently
operating in various cities in Indonesia, Malaysia, and Thailand and aims to create
a sustainable food system.
• Website Design : InspiredWorkX will provide a unique, responsive, eye catching
and user-friendly design that will attract visitors.
✓ A design for your desktop, tab and mobile.
✓ A beautiful, modern design that makes a difference.
✓ sales with a strategically built user experience.
1.2.2 Mobile App Development
InspiredWorkX is offering IOS and Android mobile app development services to reach
customers on their preferred devices.
• IOS app development
• Android app development
1.2.3 Logo and Branding
As Branding is a critical component of the company, InspiredWorkX can help clients to create:
• One design for desktop, tab and mobile.
• Beautiful and modern design that adds business value.
• Branding that creates an emotional connection with customers.
1.2.4 Search Engine Optimization
InspiredWorkX will help the client to develop his unique SEO Strategy and continually
train him on SEO principles so that it becomes a natural part of his development process.
Chapter 1 : Project Context
P a g e 22 | 134
• Local SEO Services.
• Content Driven, White Hat SEO.
• Increase your online visibility with custom SEO Strategy.
1.2.5 Social Media Marketing
InspiredWokX makes a result-oriented approach where everything from social profile
listing to the execution of social media campaigns have a specific goal of meeting your brand’s
objectives. They include:
• Organic Social Media Strategy.
• Creating and managing campaigns.
• Creating & managing campaign assets: pages, accounts etc.
2. Context and objectives
We cannot start this project without having a clear and precise idea of the problematic
and a full understanding of the requirements and needs of the Client
2.1 The problem statement
In order to be successful, RentedWheels must intervene in the transportation sector to
meet the needs of any user to have momentary use of a desired vehicle through its own platform
which must guarantee the communication between three main actors, the customer, the renter
and the service provider.
RentedWheels must ensure the reliability of the data gathering and all the information
of the customers, the cars and the car owner, the challenge is to automate more tasks, reduce
the response time, increase the performance and certainly provide identity verification and
make emergent improvements compared to the existing solutions.
➢ Solving the underused vehicle issue, while making renting easier and more
affordable.
2.2 Existing state analysis
In recent years, various companies have invested in the carsharing marketplace but they
differ greatly in terms of perspectives. In this section, we will discuss some of the existing
distributed solutions, and present common shared critics.
Chapter 1 : Project Context
P a g e 23 | 134
1.2.1 Location context and area of interest
Most of the service promoters focus on local customers like Turo, Getaround.
Moreover, we can see that the Middle East, Africa and Latin America are still absent, but they
remain a potential future market due to the revolution and the development of infrastructure,
technology and civilization in these countries.
Some players focus on a context of proximity, rather rural. This is the case for example
of Buzzcar, Drivy, and Ouicar in France whose main area of interest is around airports.
1.2.2 Delay of response
Once registered with a company as carshare, the customer must wait for a membership
card to arrive in the mailing box before being able to rent a vehicle. The card is used to unlock
the car so the client may not make an instant location.
1.2.3 User Experience
It is clear that the providers of p2p car sharing service are focusing on the customer side
but regarding the host, the experience might be stressful which is reasonable because of security
reasons. Indeed the stack of a smoother user experience and less tasks is highly recommended.
2.3 Proposed Solution
After further examination of the already existing solutions and with the aim of
overcoming the limitations, we were able to identify several anomalies that we have detailed in
the previous section.
To make use of these anomalies, RentedWheels seeks to propose to design and
implement a platform that will enhance the user experience, represent in a coherent and high
frequency manner three models:
• Car Renters Booking Website.
• Car Owners Dashboard panel And Master Admin Dashboard Panel.
In this project we are aiming to solve two major problems, the ease of searching the
desired car, the booking and the identity verification process, in addition of the key
functionalities of the renter and the admin panels, reduce response time and increase
performance.
Chapter 1 : Project Context
P a g e 24 | 134
The system will be written in AngularInvalid source specified. (frontend) and
NodJS[4] (Backend Rest API) using MySQL Database.
3. Development methodology
A development methodology is a set of principles and values that help guide a team to
achieve their desired goal by defining steps to follow and documents to prepare in order to
finalize a project. It is crucially important to choose the right methodology based on the size
and type of the project.
3.1 Agile methodology
The Agile methodology was born out of frustration with the long (and often tedious)
development cycle associated with traditional product development. The time required to
complete each step of the process, from writing requirements to the end product delivery was
too long and did not meet the needs of a constantly changing business.
Organizations that use agile methods not only enjoy benefits such as faster software
delivery schedules, but also manage to better align customer and business needs and deliver the
software in the best delays. In addition, teams use metrics to track progress and evaluate their
performance after each iteration.
Indeed, as the diagram in the figure shows, agility must affect all stages of the project,
not just the development teams.
Figure 3: Agile Scrim process
Chapter 1 : Project Context
P a g e 25 | 134
3.2 Scrum Methodology
For the design and implementation of our project and in order to ensure the good
progress among the various phases, we opted for the Scrum agile method for several reasons.
indeed the Scrum process adapts perfectly to the decomposition of our system, it is based on
the following advantages:
• More flexibility and reactivity,
• Great capacity to adapt to change thanks to short iterations,
• Satisfy the client's needs as much as possible.
Scrum: Is an agile methodology that consists of having a cooperative team guiding the
project’s progress. This approach is both dynamic and productive, resulting in the realization
of functionalities by iteration including the participation of the client. Each iteration can last
from two to four weeks and at the end of each sprint a functional product must be delivered.
Indeed, Scrum defines three roles:
• The Product Owner: is the official representative of the customer within a SCRUM
project. He defines and prioritizes the product requirements. This role is presented in
our project by Mr. Travor Akwenye.
• The SCRUM Master: this is the person who facilitates the application of the method
and ensures that its objectives are met. He is responsible for the communication. He
does not play the role of a project manager, but he is in charge of overcoming any
obstacles that would prevent the team and the project from progressing during the
different Sprints. He is the key player in the conflict management.
• The project team (SCRUM Team Members): These are the people responsible for the
execution of the Sprints and deliverables. The members must collaborate together and
be autonomous in order to meet the customer's requirements and commitments.
Figure 4:Scrum process
Chapter 1 : Project Context
P a g e 26 | 134
3.3 Modeling languages
To help visualize and conceptualize our project, we opted to use the unified modeling
language UML. The UML was developed in 1994-1996 by Grady Booch, Ivar Jacobson and
James Rumbaugh at Rational Software in order to specify, visualize and construct documents
that describe the development process of the project.
We consider the language best suited to provide RentedWheels with an understandable
presentation. The various UML diagrams provide a good exposition of our solution.
Figure 5: UML modeling Language
4. Actual and Provisional planning
4.1 Provisional planning
In January, about a month after the beginning of the development, a provisional sheet
was made on the planning. It appeared that the realization of certain tasks was very laborious
because of the lack of resources and information, or sometimes the feasibility of the task.
Adding to that I’m simply an intern who is aiming to learn more tools, gain more
knowledge and practice my development and soft skills in a professional environment with
direct clients and superiors. I was required to develop the entire platform; client side and 2
dashboards for both desktop and mobile apps with Ionic.
In order to unblock the development of the project, it was decided for the internship
period To focus on the client side development which must be responsive and prepare the two
dashboards panels for the super admin and host.
Chapter 1 : Project Context
P a g e 27 | 134
4.2 Actual planning
The following Gantt chart reconstitutes and describe the progress of the tasks carried
out since the launch of the project.
Figure 6:Gantt chart of the actual project schedule
Chapter 1 : Project Context
P a g e 28 | 134
5. Conclusion
In this chapter, we gave a brief description of the host organization, the main problem
and the required work to solve it, while also providing the development methodology and
modeling language used to achieve our goal. Finally, this will lead us to the next chapter in
which we will discuss the requirements specification.
Chapter 2: State of Art
P a g e 29 | 134
State of art
Introduction
This first chapter presents the state of arts of our project, there for we will go throw
some relative definitions and present the advantages, the innovative and advances modules that
our platform is seeking to achieve.
1. Sharing and P2P Economy
1.1 Sharing Economy
The sharing economy (2) is a new consumption model linked to the development of the
Internet and communication technologies. It is based on the exchange, sharing and collaboration
between individuals of goods, services, resources, time or knowledge via dedicated platforms.
1.2 P2P Economy
A peer-to-peer economy (3) is a model of the sharing economy in which two individual
parties (buyer and seller) interact directly to provide goods and services. There is no need for a
third-party intermediary. The sharing economy model and applications such as Uber and Airbnb
allow the peer-to-peer economy to thrive because they remove the role of third parties.
2 P2P Vehicle Sharing Concept
Peer-to-Peer Vehicle Sharing Platform means any software, application, website, or
online system offered or used for the purpose of renting cars and providing various services for
the rental of vehicles. “Definition based on TNC legislation”
In recent centuries, metropolitan cities have been welcoming more people from the
working class, especially young people, who contribute greatly to the middle level income of
the population. This set of people want to enjoy the various luxuries of life, but this luxury is
not always their top priority like possessing a car.
Chapter 2: State of Art
P a g e 30 | 134
Cars: The initial investment is heavy, in the long run it is practical but it remains an
essential vector of the development of our personal mobility for prosperity. On the other hand,
in this paradigm of personal mobility, we mark every day a real paradox creating a disparity
between the ownership and the use of a vehicle (cars are driven only 8% of the time on average)
presenting many negative consequences while marking our footprint on the environment.
The peer-to-peer model is gaining popularity. Young adults are generally the main target
of collaborative consumption sites. They often have low incomes, but thanks to this concept,
they can enjoy convenient and inexpensive services.
Studies show that peer-to-peer (P2P) carsharing has increased, reduced vehicle miles
traveled, and reduced fuel consumption and greenhouse gas emissions, “For service members
and their families, P2P carsharing has the potential to provide on-demand, short-term access to
a fleet of personally owned motor vehicles while allowing service members to share their
vehicles and earn additional income during temporary absences, such as temporary duty
assignments and deployments.” added Susan Shaheen, professor in civil and environmental
engineering, and co-director of the Transportation Sustainability Research Center, at the
University of California, Berkeley.
It is a renowned car rental software firm that creates unique car booking systems for
clients all over the world. With a vehicle rental website, booking engine, end user, host, super
admin web apps, the automobile reservations system is a full solution. This cloud-based
automobile booking system can be incorporated into your existing website, giving your
customers access to real-time car availability, pricing, and quick booking confirmation.
Using our booking software, which includes reservation, scheduling, dispatch, and
payment processing, you can streamline your car rental business. Connect with digital
customers using passenger mobile apps that are custom-branded for your company. With our
driver mobile app, you can communicate with drivers and track their progress.
3 Solutions for Car Rental Platform RentedWheels
With advanced fleet management, online bookings, billing, smart search, instant chat
and identity verification, we provide a comprehensive car rental software platform. Rented
Wheels platform is composed of three related web apps that can be complemented by native
Android and IOS mobile apps as Ionic combines Ionics’s core UI components, gestures and
animations with tools and APIs tailored for Angular which may be deployed afterwards.
Chapter 2: State of Art
P a g e 31 | 134
3.1 Module for Client
A user-friendly UI interface with a comprehensive booking process for end users. Users
can see cars listed for booking and click on smart search filter that return results of cars based
in the filter and display the results on the google maps as markers.
Users can also get a fare calculator for budgeting and coupons in addition to the main
features of the booked car. They can also send an instant chat to the car owners, rate a car and
comment the blogs. The Billing and Invoicing System generates an invoice based on the
vehicle’s trip distance and duration.
3.2 Module for Host
A one of kind interfaces enabling car owners to examine all information related to
booking requests and can access and change desired inventory and pricing information. Admins
can establish profiles for various hosts in order to connect their cars.
3.3 Administrative Core
Inventory management, clients and hosts management, payments modules are among
the modules that make up the core admin. The Admin can view statics of the fleet and download
reports based on calendar.
3.4 APIs from third parties
Smouth and well organized API solutions and a variety of third-party APIs, such as
SMS gateways and online payment gateways, may all be smoothly integrated with the core
vehicle rental platform.. Our next-generation car rental software (with API integration) includes
best-in-class modules to keep RentedWheels ahead of the competition.
3.5 High-tech and high-performance
RentedWheels development deliverables are based on top technology stacks in various
technological platforms. Infrastructure, operational, and resource costs, are taken into account.
3.6 Increased Productivity
While delivering the RentedWheels platform, we use agile development process and
daily communication to stay on track.
Chapter 2: State of Art
P a g e 32 | 134
3.7 Car Rental Software Program Features
3.7.1 System for booking Management :
The Host and the admin of RentedWheels have the ability to manage the car that has
been added to the system. cars can be added based on the hosts and include all necessary
information. This system includes a panel for detailed bookings stats and reporting. There is
also a tracking system for the active bookings.
3.7.2 Integration of a Payment Gateway :
Customers can pay for their rental car using a variety of methods. Users will be able to
use credit cards, debit cards to make payments. Users can also keep track of their payments and
booking status in their account.
3.7.3 Manage Reservations :
Admin are in charge of all reservations. Depending on the protocol, booking approval
might be done automatically or manually. Cancellations are completely relative to cancellation
policies.
3.7.4 Reports :
The admin / super admin of the P2P car rental platform can generate a variety of reports.
These reports can provide a detailed image of the system’s bookings, earnings, and fleet
reporting.
3.7.5 Identity verification
The system suggest that you get approved to drive before booking. Doing so, it ensures
a smooth approval process, go to your profile page, upload a current photo that clearly shows
your entire face (no sunglasses or hats). Hosts will use this photo and the photo on your driver’s
license to verify your identity when you pick up the vehicle at the start of the trip. Next, upload
close-up photo in which all four corners and sides of the license are visible. Finally take a Selfie
of you holding your driver's license next to your face. The super Admin has the privilege to
approve or refuse the user based in his uploads and capture.
Chapter 2: State of Art
P a g e 33 | 134
3.7.6 Smart search Filter:
The system will provide a smart search feature so that the user will be promoted to
search his desired card based in as smooth and multiple filter options
3.7.7 Blogging
Rented wheels platform encapsules a successful blogging interfaces where user is able
to react to a blog, enter comments and interact with other comments by responding to other
comments or responses.
1 Conclusion
In this chapter, we gave a brief description and definitions about the concept of P2P car
sharing, the main advantages and features that our platform is offering while we presented the
stack of technologies and advanced tools that are deployed to ensure the ease of usability of
RentedWheels. Finally, this will lead us to the next chapter in which we will discuss the
requirements specifications, the sprints’ analyses and developments process.
Chapter 3: Requirements Analysis and Design
P a g e 34 | 134
Requirements Analysis and Design
Introduction
In the previous chapter, we chose to adopt the scrum methodology for the design of our
future system. Indeed, our Scrum will be organized in three phases starting by the planning and
architecture phase (also called sprint0). This phase is the most important in the scrum
development cycle since it directly influences the success of the sprints.
During this chapter we will walk through the analytical phase and specify the
requirements of our project, which is a critical phase throughout the whole development
process. We will determine the functional and non-functional requirements for our application.
Next we will adopt the scrum methodology for the design of our future system and present the
global modeling, preparing our release plan and finally we will illustrate the main system
architecture and development environment.
1. Functional and non-functional requirements
1.1 Functional requirements
Our mission is to create and design a combination of a peer to peer rented system and
in order to meet the requirements of the client.
1.1.1 Car Renters Booking Website.
Ability to view listed cars
• Car’s per hour, per day & per week renting cost.
• How much renting the car will cost for the selected trip.
• Option to share car page with friends on social media or via email.
• Car owner details.
• Car features & specifications.
• Precautions renters need to take while using the car.
Chapter 3: Requirements Analysis and Design
P a g e 35 | 134
• Location & availability chart with the pick-up location information.
• Mileage cap.
Ability to search for cars the car search toolbox has the following search
fields:
• Location (or address).
• Pick-up date & time.
• Return date & time.
Ability to view search results using map-view, this helps renters to know
right away how far the car’s location is. Plus, the vertical panel, next to the
map view, can feature the basic rental details such as year, rent, etc.
Following filters should also be present on the search page:
• Price and No. of passengers..
• Pickup/delivery.
• No. of passengers..
• Vehicle type and Make..
• Users should be able to hover over the list results and the corresponding
map results should get highlighted.
Ability to book a rental: Only registered users should be able to book a rental.
The checkout process should be short and simple. It should have the
following important text fields and options:
• Detailed personal information (name, age, contact).
• Driver’s license details.
• Payment options (credit card/ debit card/ PayPal etc.) Checkout with
available payment methods. Users can rent cars and pay..
Ability to register, login and manage profiles. Users can create a personal
account that records rental history and banking details. User must meet the
General requirements of RentedWheels Car Rental App.
The legislation of RentedWheels requires all drivers to be over the age of 18
years. The company encourages clients to ensure they upload verification
document and possess each of the following when renting a car:
• An Identity card or passport.
• A driver’s license or an international permit
Chapter 3: Requirements Analysis and Design
P a g e 36 | 134
• Recording of bookings..
Adding cars to favorites
Viewing favorites ..
Removing cars from favorites
Help Section - Registered users should be able to search for an answer as
well as ask questions if they cannot find the answer they were looking for.
Blog Posts..
Ability to rate and review car rentals, and owners.
1.1.2 Car Owners Dashboard panel
Ability to list cars: There should be a distinct ‘List Car’ option on the top
navigation bar. Since listing a car would require the car owner to input a lot
of detail, the process should be divided into steps.
In the first step, car owners should be asked the basic details such as:
• location (zip code),
• Car make, year, license plate, trim, style
• photographs of car
• Car’s per hour, per day & per week renting cost
• How much renting the car will cost for the selected trip
Next, the car owner should be asked various car features & specifications
(preferably through checkbox selection).
• Car features & specifications
• Location & availability chart with the pick-up location information
• Mileage cap
Ability to approve or cancel client’s request…
1.1.3 Car Owners Dashboard panel
Development of administrative panel for super user with following features:
Chapter 3: Requirements Analysis and Design
P a g e 37 | 134
• Ability to view overall statistics, visible in bar and line chart form.
Statistics should include performance tracking: Revenue, total rentals,
total users, commission paid.
• Ability to view rentals made and listed
• Ability to create rental notifications
• Ability to create coupons…
1.2 Non-functional requirements
Non-functional requirements are a set of rules that we must follow in order to provide a
better user experience while using the application, they help separate the bad from the good
applications on the market. That’s why we worked hard to meet the user’s expectations to
provide the most suitable experience. In order to do so we had to follow those requirements :
a. Security: Ensuring the security and confidentiality of the user’s data and applying the
best security practices.
b. Scalability and performance: Making sure that the system can scale to meet higher
traffic at a normal rate and peak times.
c. Accessibility: Ensuring that the application meets basic accessibility standards.
d. Extensibility: Ensuring that the application can be extended or updated in the future
without causing any issues and allow the addition of other modules at any time.
e. Portability: The application must be functional in different environments.
f. Usability: The system provides a help and support menu in all interfaces for the user
to interact with the system. The user can use the system by reading help and support
g. User Friendly: The application must be impressive, well designed and intuitive.
Considered the level of knowledge possessed by the users of this system, a simple but
quality user interface should be developed to make it easy to understand and required
less training.
Chapter 3: Requirements Analysis and Design
P a g e 38 | 134
2. Project management using Scrum
2.1 Scrum Team
For our application the roles are distributed as the following:
Table 1:Scrum Team
2.2 Product Backlog
The product backlog is the most important artifact of Scrum. Indeed, it is the set of
functional requirements that are called user stories. Each user story is characterized by a priority
defined by the Product Owner.
Our Product Backlog includes the following fields:
• ID: This is the identifier of the sprint containing an ordered list of tasks.
• User Story ID: This is the user story identifier.
• Feature: Represents the sprint to which this user story belongs.
• User Story: It is the user story representing a functional need desired by the
customer.
• Priority: Illustrates one of the most important notions of Scrum which is the
prioritization of tasks by applying the “MoSCoW” method. Each user story is
prioritized as follows:
→ High: The functionality must be done.
→ Medium: The functionality is important but not urgent.
→ Low: The functionality is not important
➢ Table 2 in thee annex describes the product backlog of our application.
Scrum® Roles People concerned
Product Owner Travor Akwenye: Business
Development Director
Scrum Master Daniel Goncalves: Project manager
Team Raéd Hamaoui: Full stack
developer
Chapter 3: Requirements Analysis and Design
P a g e 39 | 134
2.3 Specification of global functional requirements
RentedWheels platform offers various functionalities. The global use case diagram
represented by the next figure, models the functionalities of each actor. We will detail in the
following chapters the realized use cases.
2.3.1 Identifying the actors
An actor is an entity that interacts with the application, and in response to the actor’s
actions, The RentedWheels platform involves four main players as shown in the table below.
Table 2:Main Actors
Role Functions
Client • The client will be able to Authenticate and log into his account.
• The client will be able to manage Profile.
• The client will be able to search a car: the RentedWheels customer must
be able to search for a suitable vehicle and apply a filter according to the
proposed platform filtering system.
• The client will be able to select a vehicle and make payments.
• The client will be able to send and receive messages via chat and
evaluate a car.
• The client will be able to browse the list of blogs, comment on a blog or
reply to a comment.
• The client will be able to consult the privacy and cancellation policies
and manage and Validate Identity by uploading a license document and
take a snapshot in order to be able to book a car.
• The client will be able to consult booking history and be able to rebook
a car or cancel a booking., consult Notifications and manage favored
cars.
Host • The host will be able to authenticate and log into his account.
• The host will be able manage his profile.
• The host will be able manage booking requests.
• The host will be able to list bookings for different booking’s status…
• The host will be able to manage his fleet.
Super Admin • The super admin will be able to approve users, send notifications,
manage his profile and visualize data.
Chapter 3: Requirements Analysis and Design
P a g e 40 | 134
2.3.2 Global use case diagram
Figure 7: Global Use Case Diagram
Chapter 3: Requirements Analysis and Design
P a g e 41 | 134
3. Release planning
The sprint is the heart of scrum. As we already defined in the second chapter the sprint
is a block of time during which an increment of the product will be realized. This sprint will be
sliced into tasks that can be completed in a reasonable amount of time to see how the work is
progressing.
In order to prepare a release plan, the following elements must be available:
• A prioritized and estimated Scrum product backlog.
• The velocity of the Scrum team.
• Conditions of satisfaction (goals for the schedule, scope, resources).
For RentedWeels, we did split our project into 4 Releases as shown in table below.
Indeed, each release, which is the set of iterations (sprint) illustrates a distributed vision over
time of the production of the deliverable code. The development of each sprint goes through
the stages of analysis, design and implementation.
Figure 8:Sprint Planning
Chapter 3: Requirements Analysis and Design
P a g e 42 | 134
4. Development environment
4.1 Hardware environment
This section is reserved to present the hardware that was used during the development of this
project.
Table 3:hardware environment
4.2 Software environment
Programming language
Type Script : It is a free and open source programming language
that aims to improve and secure the production of JavaScript code. It
is a superset of JavaScript (i.e. any correct JavaScript code can be used
with Type Script).
JavaScript : Is an object-oriented scripting language mainly used
in HTML pages. In fact in our project working with Java Script tool in
Backend
Sass: It is a preprocessor scripting language that will be compiled
or interpreted into CSS. Sass Script is itself a scripting language while
Laptop US X556U
RAM 8 Go
Microprocessor Intel(R) Core(TM) i5-4210U CPU @
1.70GHz 2.40 GHz
Disque dur 1 To
OS Windows 10
Chapter 3: Requirements Analysis and Design
P a g e 43 | 134
SCSS is the main syntax of SASS which builds on the existing CSS
syntax.
HTML5: Is a Markup Language used for the creation of web
pages
Libraries
KNEX.js[7] : It is a JavaScript query generator for relational
databases, including PostgreSQL, MySQL, SQLite3 and Oracle. It
supports transactions and connection pooling.
Software
Visual code studio : For the development of our frontend and
backend application, we used a Visual code studio editor. It's an open
source editor that facilitates development with TypeScript[6].
StarUML : It is an Open Source UML modeling software,
developed in Delphi. It is modular and offers several code generators
and it also offers several project templates
Tailwind CSS[4] : Tailwind CSS is essentially a CSS utility
framework for quickly creating custom user interfaces. This means
that we can use utility classes to create custom designs without writing
CSS like in the traditional approach.
Angular V13 [5]: Angular is an open-source JavaScript
framework written in TypeScript. It allows you to create more
responsive and “one page” interfaces, i.e. without reloading the page.
It is one of the best technical solutions that offers a real gain in
productivity for the development of ergonomic web applications.
Indeed, it allows users to create large applications in a maintainable
way.
Chapter 3: Requirements Analysis and Design
P a g e 44 | 134
NodeJS +Express: Express is a minimal and flexible Node.js web
application framework that provides a robust set of features for
developing web and mobile applications. It facilitates the rapid
development of Node-based web applications.
WAMPSERVER : WampServer is a web development
environment that allows to create web applications with Apache2, PHP
and a MySQL database
Postman : Postman is an API platform for building and using
APIs. Postman simplifies every step of the API lifecycle and
streamlines collaboration so you can build better APIs faster.
Project and version management
Trello : A powerful project management system helps companies
track projects and ensure that everyone is working to their full
potential.
Git : This is the most commonly used version control
System.
GitHub : GitHub is a code hosting platform for version control
and collaboration. This tutorial teaches you the essentials of GitHub
such as repositories, branches, commits and pull requests.
Chapter 3: Requirements Analysis and Design
P a g e 45 | 134
5. Architectural View of the system
5.1 MVVM Design Model
MVVM stands for Model, View, View Model. It is a software design pattern that aims
to increase the readability and maintainability of source code, by dividing the code into the 3
sections
Figure 9:Angular MVVM Pattern
a. Model
A Model is a container defining the structure of an entity and it is implemented as an
Angular service.
b. View
The view is implemented using an Angular “model” (HTML with data binding). The
view is bound to the View Model so that when a property is changed in the View Model, it is
instantly reflected in the view. Data binding can work both ways in special cases like HTML
forms, where the user can manipulate a property directly.
c. View Model
The View Model is implemented as an Angular controller. The “ngController” directive
is used to specify a controller for a view. It can expose properties and methods to the view. It
can also be attached to the DOM by declaring it in a route definition via the “$route” service.
Chapter 3: Requirements Analysis and Design
P a g e 46 | 134
5.2 Logical architecture of the system
The logical architecture identifies the software components required to implement a
solution and describes the relationships between these components.
a. Clients: The client's web browser is responsible for the dialogue with the user
and the application server.
b. Application server (NodeJS): The application server is responsible for the
functional part of the application and data processing.
c. Database server: This server will allow to save and restore the data of the
application.
Figure 10: Physical architecture
Chapter 3: Requirements Analysis and Design
P a g e 47 | 134
6. Conclusion
In this chapter, we have gone through the functional and non-functional requirements
of our application. This helped us to have a clearer and deeper vision of our project so that we
can plan our sprints. We have also identified our main actors and presented the global use case
diagram. Then, we presented the planning of releases. This will lead us to our next chapters
where we will discuss how we turned the requirements of RentedWheels into an implementable
form of programming language based in each sprint release.
Chapter 5: Sprint 2 - Booking Management
P a g e 48 | 134
Sprint 1: Account Management
Introduction
After we finished talking about the global use case, the requirements of the project and
the implementation of scrum in the last chapter. We will be diving into the phase where we will
make the most of the requirements and design presented in the first release and turn it into an
implementable form of programming language. In this chapter, we will detail the work done
during the first sprint “Account Management”.
1. Sprint Backlog
The goal of this sprint is to answer the fundamental question: “why do we do this
sprint?”. Following a conversation between the product owner and the scrum team, we decided
the following goal: “finish the part that cover the customer registration, authentication and
profile management”.
Once we have defined our sprint goal, it is time to decide which user stories to include
in the sprint, specifically, which user stories from our product backlog will be included in the
backlog of the first sprint.
Table 5 in the annex shows the backlog for our first sprint. Next, we will identify the
functional specification and design, of this sprint, we will respect these two activities in each
sprint during our first release.
Chapter 5: Sprint 2 - Booking Management
P a g e 49 | 134
2. Functional requirement
The functional specification in our case is translated by the UML use case diagram and
it’s textual description.
To better understand the functionalities of our application and the interactions with the
different the different actors, we detail in this part the main use cases identified previously.
2.1 Use case diagram of sprint 1
Figure 11:Use case diagram Sprint1
Chapter 5: Sprint 2 - Booking Management
P a g e 50 | 134
2.2 Text description of the use cases:
Use case Register
Starting with the Register car functionality that allows the user of the application to be able to
Register a new account
In the following table, we will illustrate the preconditions, post-conditions and the main
scenario for the use case ”Register”.
Table 4:Text description of the use case “Register”
Action Value
Use case Register
Actors Web User
Purpose Create an account to access the application.
Precondition Account email and phone number aren’t used before.
Post-condition Account created and user redirected to login page.
Main Scenario
1. Web user clicks the register button.
2. The system displays registration form.
3. The user types the necessary information.
4. The user clicks the register button.
5. The system verifies the information inserted.
6. The system send a validation code to the user email.
7. The system validates the user credentials and saves his account
Alternative scenario 5.1 The user enters wrong information or an already in use phone or
email.
5.2 The system displays the same interface indicating the error.
Chapter 5: Sprint 2 - Booking Management
P a g e 51 | 134
Use case Authentication
In this section we will describe the Authentication functionality that allows user of the
application to be able to Login to his profile.
In the following table, we will illustrate the preconditions, post-conditions and the main
scenario for the use case ”Authentication”.
Table 5:Text description of the use case “Authenticate”
Action Value
Use case Authentication
Actors Client
Purpose Get access to the application.
Precondition The user must have an account.
Post-condition The user logged in and redirected to the appropriate interface.
Main Scenario
1. The system displays the authentication interface.
2. The user types his credentials.
3. The user clicks the login button.
4. The system verifies the information inserted.
5. The system validates the user credentials and redirect the user
to the appropriate interface.
Alternative scenario 5.1 The user enters wrong credentials or an already in use phone
or email.
5.2 The system displays the same interface indicating the error.
Chapter 5: Sprint 2 - Booking Management
P a g e 52 | 134
Use case Edit Profile
In the following table, we will illustrate the preconditions, post-conditions and the main
scenario for the use case ”Edit Profile”.
Table 6:Text description of the use case “Edit Profile”
Action Value
Use case Edit Profile
Actors Client
Purpose Editing the profile.
Precondition Users logged in.
Post-condition Profile edited.
Main Scenario
1. The User clicks on Profile
2. The System displays menu and the profile with user’s details.
3. The User clicks on Edit profile button.
4. The System displays a form with the information that can be edited.
5. The User can update his user name or last name and save.
6. The user can edit his email or phone number.
7. The system displays a validation code dialog and sends a validation
code to the user email.
8. The user must enter the validation code and save.
9. The User upload an new profile button and save.
10. The System saves and redirect user to the appropriate interface.
Alternative scenario 3.1 The system displays the same interface indicating the error.
Chapter 5: Sprint 2 - Booking Management
P a g e 53 | 134
Use case Update password
In the following table, we will illustrate the preconditions, post-conditions and the main
scenario for the use case ”Update Password”.
Table 7:Text description of the use case “Update Password”
Action Value
Use case Update Password
Actors Client
Purpose Change Password
Precondition Users logged in.
Post-condition Password changed
Main Scenario
1. The User clicks on change password in menu.
2. The System displays a form to update password.
3. The user enters his old password.
4. The user enters his new password.
5. The user confirms his new password and click on save button.
6. The user clicks on save button.
Alternative
scenario
5.1 The system displays the same interface indicating the error
of password mismatch.
6.1 The system displays the same interface indicating that the
password is not valid
Chapter 5: Sprint 2 - Booking Management
P a g e 54 | 134
3. Conceptual modeling
3.1 Class diagram
The class is the main building block of object-oriented modeling. It is used for general
conceptual modeling of the structure of the application, and for detailed modeling. Therefore,
we present in the figure below the class diagram of this sprint.
Figure 12: class diagram sprint #1
3.2 Sequence diagrams
A sequence diagram represents the interaction between different entities in a timespan.
It helps us visualize the flow of our application and validates different scenarios which could
lead to predicting how the system behaves and help us prevent undesirable scenarios.
In this section we will present different scenarios in our platform through these sequence
diagrams.
Chapter 5: Sprint 2 - Booking Management
P a g e 55 | 134
3.2.1 Sequence diagram for “Authenticate” use case
3.2.2 Sequence diagram for “Edite profile” use case
Figure 13:Sequence diagram for “Authenticate” use case
Figure 14:sequence diagram "edit profile
Chapter 5: Sprint 2 - Booking Management
P a g e 56 | 134
4. Activity diagram
The activity diagram is a UML behavioral diagram used to describe a workflow and
represent the triggering of events according to the system states and to model parallelizable
behaviors. It is composed of activities, decisions, and paths (flows).
1.1 Activity diagram “Edit profile”
The next diagram figures out the activities that happen when a user logs in to a system.
This example illustration shows the activities and scenarios done in the edit profile. Thus, the
actions and decisions included were all emphasized here.
Figure 15:Activity diagram Edit profile
Chapter 5: Sprint 2 - Booking Management
P a g e 57 | 134
5. Implementation
We will expose in this section the HMI of our application realized during this sprint.
This section is reserved for all of the user where they will be prompted to fill the form to either
login in order to access the platform or register a new account and lastly edit his personal profile.
5.1 Login
Figure 16::Login desktop interface
This page represents the HMI where users will be able to fill the login form and respect
the form validation to be able to login to his profile.
5.2 Register
Figure 17:Figure 38::Sign up Desktop interface
This page represents the HMI where users will be able to fill the registration form and
respect the form validation to be able to register his account into the platform.
Chapter 5: Sprint 2 - Booking Management
P a g e 58 | 134
5.3 Edit Profile
Figure 18:Edit desktop interface
This dialog represents the HMI where users will be able to fill the edit form, respect the
form validation and upload new image profile.
5.4 Change Password
This dialog represents the HMI where users will be able to update his password.
Chapter 5: Sprint 2 - Booking Management
P a g e 59 | 134
6. Conclusion
In this chapter, we have shown the backlog of the "Account Management" sprint, which
describes the processed tasks. Then, we illustrated the different UML diagrams, to model our
platform. Finally, we have presented the interfaces of the different tasks handled during this
sprint. The next chapter is dedicated to the analysis of the "Booking Management" sprint.
Chapter 5: Sprint 2 - Booking Management
P a g e 60 | 134
Sprint 2: Booking Management
Introduction
The goal of this sprint is to answer the fundamental question: “why do we do this
sprint?”. Following a conversation between the product owner and the scrum team, we decided
the following goal: “finish the part that covers the fleet management by the host and the booking
modules.
Once we have defined our sprint goal, it is time to decide which user stories to include
in the sprint, specifically, which user stories from our product backlog will be included in the
backlog of the first sprint. Table 5 shows the backlog for our sprint:
1. Sprint Backlog
Table 6 in thee annex shows the backlog for our sprint: Next, we will identify the
functional specification and design, of this sprint, we will respect these two activities in each
sprint during our first release.
Chapter 5: Sprint 2 - Booking Management
P a g e 61 | 134
2. Functional requirement
2.1 Use case diagram of sprint 2
Figure 19:Use case diagram of sprint 2
2.2 Text description of the use cases:
In this section, we will detail the main use cases previously identified
Starting with the Register car functionality that allows the user of the application to be
able to Register a new account
2.2.1 Use case Search car:
To better understand the functionalities of our application and the interactions with the
different the different actors, we detail in this part the main use cases identified previously.
previously.
In the following table, we will illustrate the preconditions, post-conditions and the main
scenario for the use case ”Search car”.
Chapter 5: Sprint 2 - Booking Management
P a g e 62 | 134
Table 8:Text description of the use case “search car”
Action Value
Use case Search car
Actors Client /web user
Purpose Search car based in keys words or location and start and return time
or car’s make, or latest cars, or pets friendly or popular locations
Precondition The user goes to the landing page
Post-condition The system returns and displays cars based in the search option
Main Scenario
1. The User goes to the home page.
2. The system displays the landing page
3. The user fills the search bar by entering the desired address and
select the start and return dates and time then clicks on the search
button.
4. The user selects one of the displayed car makes.
5. The user selects one of the displayed latest added cars.
6. The user selects one of the popular locations displayed.
7. The user selects one of the cars displayed as pets friendly.
8. The user enters a key word and press Enter.
9. The user Clicks on filter button to make filters.
10. The system verifies the data and display the cars page within the
cars returned based in the search option.
Alternative scenario 3.1 the user clicks in the search button with an empty address.
3.2 The user selects a return time which is less than 60 minutes
add to the start time
3.3 the system displays an error message in the same interface
Chapter 5: Sprint 2 - Booking Management
P a g e 63 | 134
2.2.2 Use case Filter
In the following table, we will illustrate the preconditions, post-conditions and the main
scenario for the use case “filter”.
Table 9:Description of use case “filter”
Action Value
Use case Filter
Actors Client / Web user
Purpose Return cars based in Filter .
Precondition The user goes to the landing page
Post-condition The system returns and displays cars based in the filter.
Main Scenario
1. The user goes to the home page.
2. The system displays the landing page
3. The user clicks on the filter button.
4. The system displays the filter dialog form.
5. The user enters his desired location
6. The user selects start date and time.
7. The user selects return date and time.
8. The user selects car’s type.
9. The user selects price range.
10. The user selects car make.
11. The users selects fuel option.
12. The user selects delivery option.
13. The user selects seats number.
14. The user selects mile age..
15. The user clicks on search button.
16. The system verifies the data and display the cars page within the cars
returned based in the users ‘filter.
Alternative scenario 5.1 The user clicks in the search button with an empty address.
5.2 The system displays an error message in the same interface
Chapter 5: Sprint 2 - Booking Management
P a g e 64 | 134
2.2.3 Use case View cars
In the following table, we will illustrate the preconditions, post-conditions and the main
scenario for the use case “View cars”.
Table 10:Text description of use case “View cars”
Action Value
Use case View cars
Actors Client / Web user
Purpose Consult available cars to make a choice.
Precondition Search cars
Post-condition List of cars.
Main Scenario
1. The system displays the cars page based in the user filter or search.
2. The user clicks on the filter toggle button
3. The system displays the filter card
4. The user selects car’s type.
5. The user selects price range.
6. The user selects car make.
7. The users selects fuel option.
8. The user selects delivery option.
9. The user selects seats number.
10. The user selects mile age.
11. The user clicks on filter button
12. The system displays cars based in the result of filter.
13. The user clicks again on the filter toggle button.
14. The system hides the filter card.
15. The user clicks on the map toggle button
16. The system displays the map card.
17. The user search cars cards in google maps
18. The system displays cars card in google maps
19. The user enter new address in the location input.
20. The system displays cars based in the new location.
21. The user clicks again on the maps toggle button.
22. The system hides the map card.
Chapter 5: Sprint 2 - Booking Management
P a g e 65 | 134
2.2.4 Use case Select car
In the following table, we will illustrate the preconditions, post-conditions and the main
scenario for the use case “Select Car”.
Table 11:Text description of the use case “Select Car”
Action Value
Use case Select Car
Actors Client / Web user
Purpose Select car to book, view car details and the ability to select booking
options
Precondition View list cars
Post-condition Display selected car details.
Main Scenario
1. The user clicks on Book button in car card.
2. The system displays the page related to the Id of the selected car
and shows the selected car details.
3. The user is able to select booking option like Price, fuel option and
delivery options.
4. The user clicks on “Continue Button” in order to proceed to the
payment page.
Alternative scenario 2.1 If the user is authenticated, the System save the user selections
and check the user status and .
2.2 If the account status is “Uncompleted” the system redirects to
the Identity page. 2.3 If the account status is “Pending “ the system
inform the user that is account is in hold to be verified.
4.1 If the status is “Verified” the system redirects to the payment
page.
4.2 If the user is not authenticated the system redirects to
Login page if not
Chapter 5: Sprint 2 - Booking Management
P a g e 66 | 134
2.2.5 Use case Validate Identity
In the following table, we will illustrate the preconditions, post-conditions and the main
scenario for the use case “Validate Identity”.
Table 12:Text description of use case “Validate identity”
Action Value
Use case Validate Identity
Actors Client
Purpose Validate the client identity.
Precondition Consult the validation Identity guide.
Post-condition Validation steps completed.
Main Scenario
1. The User clicks on Identity in the profile menu.
2. The System displays the page that cover the identity validation guide
3. The user clicks on “Get Approved” button..
4. The system displays the validation steps.
5. The User uploads his driver’s license.
6. The user takes a screenshot holding his driver’s license.
7. The system shows a message to inform that the steps and change the
account status to “pending”
Alternative
scenario
3.1 The system displays an error message to inform the user that a
step is not completed selections and check the user status and .
Chapter 5: Sprint 2 - Booking Management
P a g e 67 | 134
2.2.6 Use case Payment
In the following table, we will illustrate the preconditions, post-conditions and the main
scenario for the use case “Payment”.
Table 13:Text Description of use case “Payment”
Action Value
Use case Payment
Actors Client
Purpose Pay the car booking bill.
Precondition Account approved and car selected
Post-condition Payment success.
Main Scenario
1. The system generates and displays the price or the billing details of
he selected car.
2. The user select his payment method.
3. The user fills the form with his payment account details.
4. The system displays a success message if payment will success.
Alternative
scenario
3.1 The system displays an error message in the same interface
related to the payment process.
Chapter 5: Sprint 2 - Booking Management
P a g e 68 | 134
2.2.7 Use case Review car
In the following table, we will illustrate the preconditions, post-conditions and the main
scenario for the use case “Evaluate Cars”.
Table 14:Text description of sprint4
Action Value
Use case Evaluate Cars
Actors Client
Purpose Evaluate a trip or a booked car.
Precondition Completed booking.
Post-condition Rating or Review displayed.
Main Scenario 1. The system displays an evaluation card.
2. The user Select his Rating
3. The system save the rating and displayed by the car card and
the client “Rating and Reviews Page”.
4. The user add a review.
5. The system save the review and displayed in the car details
page and the reviewer “Rating and Reviews Page”.
6. The user click on My Ratings and Reviews Item in the profile
menu.
7. The system displays the client’s ratings and reviews details.
Alternative scenario The evaluation card is displayed for 10 days after the user finish his
booking.
Chapter 5: Sprint 2 - Booking Management
P a g e 69 | 134
3. Conceptual modeling
3.1 Class diagram
The class is the main building block of object-oriented modeling. It is used for general
conceptual modeling of the structure of the application, and for detailed modeling. Therefore,
we present in the figure below the class diagram of this sprint.
Figure 20:Class diagram Sprint #2
Chapter 5: Sprint 2 - Booking Management
P a g e 70 | 134
3.2 Sequence diagrams for car booking
In this section we will present different scenarios in our sprint through these sequence diagram.
Figure 21:Sequence diagram for “Car Booking process”
Chapter 5: Sprint 2 - Booking Management
P a g e 71 | 134
4. Activity diagram
4.1 Activity diagram “Booking”
The next diagram figures out the activities that happen when a user aims to book a car.
This example illustration shows the activities and scenarios done for this process Thus, the
actions and decisions included were all emphasized here.
Figure 22:Activity diagram booking
Chapter 5: Sprint 2 - Booking Management
P a g e 72 | 134
5. Implementation
We will expose in this section the HMI of our application realized during this sprint. This
section is reserved for all of the user where they will cover the booking process.
5.1 Register Cars
5.1.1 Add Car Info
Figure 23:Add car info interface
This section is reserved for car owners, who will be invited to add a new car by uploading
a photo of the car and filling in the car information form while respecting the validation of the
form.
5.1.2 Add Basic Info details
Figure 24: car basic info details
This section is reserved for car owners. They will be invited to add the details of their car
by entering the required price information and selecting the fuel type while respecting the
validation of the form.
Chapter 5: Sprint 2 - Booking Management
P a g e 73 | 134
5.1.3 Add Mile age cap
Figure 25: Mile age cap interface
This section is reserved for car owners. They will be invited to add the mile age details
and additional price while respecting the validation of the form.
5.1.4 Add Car feature and specifications
This section is reserved for car owners. They will be invited to select car features and
add some specifications .
Figure 26: Car features interface
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf
P2P car Rental platform.pdf

More Related Content

Similar to P2P car Rental platform.pdf

General Tyres FInancial Analysis Report
General Tyres FInancial Analysis ReportGeneral Tyres FInancial Analysis Report
General Tyres FInancial Analysis ReportHira Saeed
 
Online Community Start-up Guide
Online Community Start-up GuideOnline Community Start-up Guide
Online Community Start-up GuideMilt Haynes
 
LafargeHolcim good application tips
LafargeHolcim good application tipsLafargeHolcim good application tips
LafargeHolcim good application tipsClaudia Balan
 
DMA (Direct Marketing Association) Email Tracker Study 2017
DMA (Direct Marketing Association) Email Tracker Study 2017DMA (Direct Marketing Association) Email Tracker Study 2017
DMA (Direct Marketing Association) Email Tracker Study 2017Christopher Hughes
 
DMA Insight: Marketer email tracker 2017
DMA Insight: Marketer email tracker 2017DMA Insight: Marketer email tracker 2017
DMA Insight: Marketer email tracker 2017Filipp Paster
 
Andover Public Schools: Bright Spot Profile 2019
Andover Public Schools: Bright Spot Profile 2019Andover Public Schools: Bright Spot Profile 2019
Andover Public Schools: Bright Spot Profile 2019Sheldon Berman
 
Social media. Introduction to the tools and processes of participatory economy
Social media. Introduction to the tools and processes of participatory economySocial media. Introduction to the tools and processes of participatory economy
Social media. Introduction to the tools and processes of participatory economyGemilo ltd
 
Placement Portfolio
Placement PortfolioPlacement Portfolio
Placement PortfolioJPC Hanson
 
Mentor school managers and manage mentoring programmes in schools: ACE School...
Mentor school managers and manage mentoring programmes in schools: ACE School...Mentor school managers and manage mentoring programmes in schools: ACE School...
Mentor school managers and manage mentoring programmes in schools: ACE School...Saide OER Africa
 
Advanced Certificate: Education - Mentor school managers & manage mentoring p...
Advanced Certificate: Education - Mentor school managers & manage mentoring p...Advanced Certificate: Education - Mentor school managers & manage mentoring p...
Advanced Certificate: Education - Mentor school managers & manage mentoring p...Saide OER Africa
 
Getting started with blended learning guide
Getting started with blended learning guideGetting started with blended learning guide
Getting started with blended learning guideHafidzah Aziz
 
eab.com Student Affairs Forum Supporting International.docx
eab.com Student Affairs Forum Supporting International.docxeab.com Student Affairs Forum Supporting International.docx
eab.com Student Affairs Forum Supporting International.docxsagarlesley
 
2012 challenge gov - using competitions and awards to spur innovation
2012   challenge gov - using competitions and awards to spur innovation2012   challenge gov - using competitions and awards to spur innovation
2012 challenge gov - using competitions and awards to spur innovationCentro de Sistemas Públicos
 
SMEs TRAINING MANUAL.pdf
SMEs TRAINING MANUAL.pdfSMEs TRAINING MANUAL.pdf
SMEs TRAINING MANUAL.pdfanaclet
 

Similar to P2P car Rental platform.pdf (20)

Ecommerce
EcommerceEcommerce
Ecommerce
 
General Tyres FInancial Analysis Report
General Tyres FInancial Analysis ReportGeneral Tyres FInancial Analysis Report
General Tyres FInancial Analysis Report
 
Project on Bkash
Project on BkashProject on Bkash
Project on Bkash
 
Online Community Start-up Guide
Online Community Start-up GuideOnline Community Start-up Guide
Online Community Start-up Guide
 
LafargeHolcim good application tips
LafargeHolcim good application tipsLafargeHolcim good application tips
LafargeHolcim good application tips
 
DMA (Direct Marketing Association) Email Tracker Study 2017
DMA (Direct Marketing Association) Email Tracker Study 2017DMA (Direct Marketing Association) Email Tracker Study 2017
DMA (Direct Marketing Association) Email Tracker Study 2017
 
DMA Insight: Marketer email tracker 2017
DMA Insight: Marketer email tracker 2017DMA Insight: Marketer email tracker 2017
DMA Insight: Marketer email tracker 2017
 
Andover Public Schools: Bright Spot Profile 2019
Andover Public Schools: Bright Spot Profile 2019Andover Public Schools: Bright Spot Profile 2019
Andover Public Schools: Bright Spot Profile 2019
 
Internship report on flutter lawyer app
Internship report  on flutter lawyer appInternship report  on flutter lawyer app
Internship report on flutter lawyer app
 
Final RWU Career Guide
Final RWU Career GuideFinal RWU Career Guide
Final RWU Career Guide
 
Social media. Introduction to the tools and processes of participatory economy
Social media. Introduction to the tools and processes of participatory economySocial media. Introduction to the tools and processes of participatory economy
Social media. Introduction to the tools and processes of participatory economy
 
Placement Portfolio
Placement PortfolioPlacement Portfolio
Placement Portfolio
 
Mentor school managers and manage mentoring programmes in schools: ACE School...
Mentor school managers and manage mentoring programmes in schools: ACE School...Mentor school managers and manage mentoring programmes in schools: ACE School...
Mentor school managers and manage mentoring programmes in schools: ACE School...
 
Advanced Certificate: Education - Mentor school managers & manage mentoring p...
Advanced Certificate: Education - Mentor school managers & manage mentoring p...Advanced Certificate: Education - Mentor school managers & manage mentoring p...
Advanced Certificate: Education - Mentor school managers & manage mentoring p...
 
Getting started with blended learning guide
Getting started with blended learning guideGetting started with blended learning guide
Getting started with blended learning guide
 
ABSTRACT
ABSTRACTABSTRACT
ABSTRACT
 
eab.com Student Affairs Forum Supporting International.docx
eab.com Student Affairs Forum Supporting International.docxeab.com Student Affairs Forum Supporting International.docx
eab.com Student Affairs Forum Supporting International.docx
 
2012 challenge gov - using competitions and awards to spur innovation
2012   challenge gov - using competitions and awards to spur innovation2012   challenge gov - using competitions and awards to spur innovation
2012 challenge gov - using competitions and awards to spur innovation
 
Prueba Nico
Prueba NicoPrueba Nico
Prueba Nico
 
SMEs TRAINING MANUAL.pdf
SMEs TRAINING MANUAL.pdfSMEs TRAINING MANUAL.pdf
SMEs TRAINING MANUAL.pdf
 

Recently uploaded

MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 

Recently uploaded (20)

MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 

P2P car Rental platform.pdf

  • 1. Software engineering Design and development of a P2P car Rental Platform 2020 - 2021 By: Raed Hamaoui Academic supervisor: Mrs. Rawia Bdiwi Corporate Internship Supervisor: Mr. Travor Akwenye
  • 2. I authorize The student Raed Hamaoui to submit his final internship report. Mrs. Rawi Bdiwi, Academic Supervisor Signature
  • 3. DEDICATIONS I dedicate this work to my loving parents, the crown jewel of my life. They never left my side and always supported me no matter what. Thank you for giving me the warmth of love and believing in me, caring about me and giving me the iron will to break my limits and advance onto new heights. My Sister and my brother to whom I owe all my love, with all my heart I wish to see them succeed in their lives. And my friends, the ones who encouraged and challenged me, thank you for being besides All this time. Raed Hamaoui
  • 4. APPRECIATIONS We’d like to start by expressing our appreciation and gratitude towards Madame Rawia Bdiwi who was an amazing academic advisor. We'd like to thank her for all the support that she provided through those times. We’d also like to thank Mr. Travor Akwenye for his dedication towards the project and Mr. Kheireddine Akrmi for Helping and pushing us beyond our limits. The whole academic family of Esprit for being such great mentors and for the effort that they’ve put into teaching and training us students throughout the past years. We sincerely and deeply thank the members of the jury for their time and expertise to evaluate our work. It is an honor for us to have our work reviewed by you.
  • 5. Table of Contents General introduction .......................................................................................................... 18 Project Context .................................................................................................................. 20 Introduction .......................................................................................................................... 20 1. Presentation of the host organization ............................................................................ 20 1.1 Organization Chart................................................................................................. 20 1.2 Organization Services ............................................................................................ 21 1.2.1 Website and Software Development .............................................................. 21 1.2.2 Mobile App Development .............................................................................. 21 1.2.3 Logo and Branding ......................................................................................... 21 1.2.4 Search Engine Optimization........................................................................... 21 1.2.5 Social Media Marketing ................................................................................. 22 2. Context and objectives .................................................................................................. 22 2.1 The problem statement........................................................................................... 22 2.2 Existing state analysis............................................................................................ 22 1.2.1 Location context and area of interest.............................................................. 23 1.2.2 Delay of response ........................................................................................... 23 1.2.3 User Experience.............................................................................................. 23 2.3 Proposed Solution .................................................................................................. 23 3. Development methodology ........................................................................................... 24 3.1 Agile methodology................................................................................................. 24 3.2 Scrum Methodology............................................................................................... 25 3.3 Modeling languages............................................................................................... 26 4. Actual and Provisional planning ................................................................................... 26
  • 6. 4.1 Provisional planning .............................................................................................. 26 4.2 Actual planning...................................................................................................... 27 5. Conclusion..................................................................................................................... 28 State of art.......................................................................................................................... 29 Introduction .......................................................................................................................... 29 1. Sharing and P2P Economy............................................................................................ 29 1.1 Sharing Economy................................................................................................... 29 1.2 P2P Economy......................................................................................................... 29 2 P2P Vehicle Sharing Concept ....................................................................................... 29 3 Solutions for Car Rental Platform RentedWheels......................................................... 30 3.1 Module for Client................................................................................................... 31 3.2 Module for Host..................................................................................................... 31 3.3 Administrative Core............................................................................................... 31 3.4 APIs from third parties........................................................................................... 31 3.5 High-tech and high-performance ........................................................................... 31 3.6 Increased Productivity ........................................................................................... 31 3.7 Car Rental Software Program Features.................................................................. 32 3.7.1 System for booking Management :................................................................. 32 3.7.2 Integration of a Payment Gateway : ............................................................... 32 3.7.3 Manage Reservations :.................................................................................... 32 3.7.4 Reports :.......................................................................................................... 32 3.7.5 Identity verification ........................................................................................ 32 3.7.6 Smart search Filter:......................................................................................... 33 3.7.7 Blogging ......................................................................................................... 33 1 Conclusion..................................................................................................................... 33 Requirements Analysis and Design................................................................................... 34
  • 7. Introduction .......................................................................................................................... 34 1. Functional and non-functional requirements................................................................. 34 1.1 Functional requirements......................................................................................... 34 1.1.1 Car Renters Booking Website. ....................................................................... 34 1.1.2 Car Owners Dashboard panel......................................................................... 36 1.1.3 Car Owners Dashboard panel......................................................................... 36 1.2 Non-functional requirements ................................................................................. 37 2. Project management using Scrum................................................................................. 38 2.1 Scrum Team........................................................................................................... 38 2.2 Product Backlog..................................................................................................... 38 2.3 Specification of global functional requirements .................................................... 39 2.3.1 Identifying the actors...................................................................................... 39 2.3.2 Global use case diagram................................................................................. 40 3. Release planning ........................................................................................................... 41 4. Development environment ............................................................................................ 42 4.1 Hardware environment........................................................................................... 42 4.2 Software environment............................................................................................ 42 5. Architectural View of the system.................................................................................. 45 5.1 MVVM Design Model........................................................................................... 45 5.2 Logical architecture of the system ......................................................................... 46 6. Conclusion..................................................................................................................... 47 Sprint 1: Account Management......................................................................................... 48 Introduction .......................................................................................................................... 48 1. Sprint Backlog............................................................................................................... 48 2. Functional requirement ................................................................................................. 49 2.1 Use case diagram of sprint 1.................................................................................. 49
  • 8. 2.2 Text description of the use cases: .......................................................................... 50 Use case Register .......................................................................................................... 50 Use case Authentication................................................................................................ 51 Use case Edit Profile ..................................................................................................... 52 Use case Update password ............................................................................................ 53 3. Conceptual modeling..................................................................................................... 54 3.1 Class diagram......................................................................................................... 54 3.2 Sequence diagrams................................................................................................. 54 3.2.1 Sequence diagram for “Authenticate” use case.............................................. 55 3.2.2 Sequence diagram for “Edite profile” use case .............................................. 55 4. Activity diagram............................................................................................................ 56 1.1 Activity diagram “Edit profile”............................................................................. 56 5. Implementation.............................................................................................................. 57 5.1 Login...................................................................................................................... 57 5.2 Register .................................................................................................................. 57 5.3 Edit Profile............................................................................................................. 58 5.4 Change Password................................................................................................... 58 6. Conclusion..................................................................................................................... 59 Sprint 2: Booking Management......................................................................................... 60 Introduction .......................................................................................................................... 60 1. Sprint Backlog............................................................................................................... 60 2. Functional requirement ................................................................................................. 61 2.1 Use case diagram of sprint 2.................................................................................. 61 2.2 Text description of the use cases: .......................................................................... 61 2.2.1 Use case Search car: ....................................................................................... 61 2.2.2 Use case Filter ................................................................................................ 63
  • 9. 2.2.3 Use case View cars......................................................................................... 64 2.2.4 Use case Select car ......................................................................................... 65 2.2.5 Use case Validate Identity .............................................................................. 66 2.2.6 Use case Payment ........................................................................................... 67 2.2.7 Use case Review car....................................................................................... 68 3. Conceptual modeling..................................................................................................... 69 3.1 Class diagram......................................................................................................... 69 3.2 Sequence diagrams for car booking....................................................................... 70 4. Activity diagram............................................................................................................ 71 4.1 Activity diagram “Booking”................................................................................. 71 5. Implementation.............................................................................................................. 72 5.1 Register Cars.......................................................................................................... 72 5.1.1 Add Car Info.................................................................................................. 72 5.1.2 Add Basic Info details .................................................................................... 72 5.1.3 Add Mile age cap............................................................................................ 73 5.1.4 Add Car feature and specifications................................................................. 73 5.1.5 Add Car rules and precautions........................................................................ 74 5.1.6 Display Cars in host Panel.............................................................................. 74 5.2 Search car............................................................................................................... 75 5.2.1 Search box and input ...................................................................................... 75 5.2.2 Select Car Make.............................................................................................. 75 5.3 Select Car by Latest cars, Popular destination or experience ........................... 76 5.4 Advanced Filter...................................................................................................... 77 5.5 Display cars............................................................................................................ 78 5.5.1 Display cars .................................................................................................... 78 5.5.2 ToggleMap...................................................................................................... 79
  • 10. 5.5.3 Toggle Map and filer ...................................................................................... 79 5.6 Display car and select booking options.................................................................. 80 5.7 Payment.................................................................................................................. 81 5.8 Current and Booking history.................................................................................. 82 5.8.1 Display Current booking ................................................................................ 82 5.8.2 Display Booking history................................................................................. 82 5.9 Identity verification................................................................................................ 83 5.9.1 Add license ..................................................................................................... 83 5.9.2 Take a capture................................................................................................. 83 5.9.3 List Users........................................................................................................ 84 5.9.4 Verify User ..................................................................................................... 85 5.10 Check Rating and reviews ..................................................................................... 85 6. Conclusion..................................................................................................................... 86 Sprint 3 : Communication Modules................................................................................... 87 Introduction .......................................................................................................................... 87 1. Sprint Backlog............................................................................................................... 87 2. Functional requirement ................................................................................................. 88 2.1 Global use case diagram of sprint 3....................................................................... 88 2.2 Text description of the use cases............................................................................ 89 2.2.1 Use case Check Privacy policy....................................................................... 89 2.2.2 Use case Check Cancellation Policy .............................................................. 89 2.2.3 Use case Check Help Page ............................................................................. 90 2.2.4 Use case diagram Chat ................................................................................... 91 2.2.5 Use case diagram Mange blog........................................................................ 92 3. Conceptual modeling..................................................................................................... 93 3.1 Class diagram......................................................................................................... 93
  • 11. 3.2. Sequence diagrams................................................................................................. 93 3.2.1 Sequence diagram for “Check Help Message” use case ................................ 94 3.2.2 Sequence diagram for “Check Help Message” use case ................................ 94 3.2.3 Sequence diagram for “manage blogs” use case ............................................ 95 4. Implementation.............................................................................................................. 96 4.2 Notification ............................................................................................................ 96 4.2.1 Check for Notification.................................................................................... 96 4.3 Cancellation Policy ................................................................................................ 97 4.3.1 Edit cancellation policy .................................................................................. 97 4.3.2 Cancellation policy Page ................................................................................ 97 4.4 Help........................................................................................................................ 98 4.4.1 FAQs............................................................................................................... 98 4.4.2 Help Message ................................................................................................. 98 4.5 Chat........................................................................................................................ 99 4.6 Blog...................................................................................................................... 100 4.6.1 Preview Blog ................................................................................................ 100 4.6.2 Create Blog................................................................................................... 100 4.6.3 Blogs............................................................................................................. 101 4.6.4 Blog details................................................................................................... 102 4.6.5 Blog comments and responses...................................................................... 102 5. Conclusion................................................................................................................... 103 Sprint 4: Rental Stats and Coupons Management ........................................................... 104 Introduction ........................................................................................................................ 104 1. Sprint Backlog............................................................................................................. 104 2. Functional requirement ............................................................................................... 104 2.1 Text description of the use cases: ........................................................................ 105
  • 12. 2.1.1 Global use case diagaram of Sprint 4 ........................................................... 105 2.1.2 Use case Preview statistics ........................................................................... 106 2.1.3 Use case Preview and Manage Coupons ..................................................... 107 2.1.4 Use case Withdraw history and payment ..................................................... 108 3. Conceptual modeling................................................................................................... 109 3.1 Class diagram....................................................................................................... 109 3.2 Sequence diagrams............................................................................................... 109 Sequence diagram for “Preview and add coupons” use case ...................................... 110 4. Implementation............................................................................................................ 110 1.1 Preview stats ........................................................................................................ 110 Total revenue and commission graph.......................................................................... 111 Total revenue............................................................................................................... 111 Sales report.................................................................................................................. 112 1.2 Coupons ............................................................................................................... 112 Display coupons .......................................................................................................... 112 Add Coupon ................................................................................................................ 113 1.3 Payment withdrawal............................................................................................. 114 Payment cards ............................................................................................................. 114 Add Withdraw............................................................................................................. 115 5. Conclusion................................................................................................................... 115 Conclusion and Perspectives ........................................................................................... 116 Annex............................................................................................................................... 117
  • 13. List Of figures Figure 1:logo of InspiredWorkX.............................................................................................. 20 Figure 2: Organization chart..................................................................................................... 20 Figure 3: Agile Scrim process.................................................................................................. 24 Figure 4:Scrum process............................................................................................................ 25 Figure 5: UML modeling Language......................................................................................... 26 Figure 6:Gantt chart of the actual project schedule.................................................................. 27 Figure 7: Global Use Case Diagram ........................................................................................ 40 Figure 8:Sprint Planning .......................................................................................................... 41 Figure 9:Angular MVVM Pattern............................................................................................ 45 Figure 10: Physical architecture............................................................................................... 46 Figure 11:Use case diagram Sprint1 ........................................................................................ 49 Figure 12: class diagram sprint #1 ........................................................................................... 54 Figure 13:Sequence diagram for “Authenticate” use case....................................................... 55 Figure 14:sequence diagram "edit profile ................................................................................ 55 Figure 15:Activity diagram Edit profile................................................................................... 56 Figure 16::Login desktop interface .......................................................................................... 57 Figure 17:Figure 38::Sign up Desktop interface..................................................................... 57 Figure 18:Edit desktop interface ............................................................................................. 58 Figure 19:Use case diagram of sprint 2.................................................................................... 61 Figure 20:Class diagram Sprint #2........................................................................................... 69 Figure 21:Sequence diagram for “Car Booking process” ........................................................ 70 Figure 22:Activity diagram booking........................................................................................ 71 Figure 23:Add car info interface .............................................................................................. 72
  • 14. Figure 24: car basic info details ............................................................................................... 72 Figure 25: Mile age cap interface............................................................................................. 73 Figure 26: Car features interface.............................................................................................. 73 Figure 27:Car rules and precautions interface......................................................................... 74 Figure 28:My cars list interface ............................................................................................... 74 Figure 29:Header card interface............................................................................................... 75 Figure 30: Select car make interface........................................................................................ 75 Figure 31; Interfaces for select car by latest cars, destination and experience ........................ 76 Figure 32:Advanced filter dialog HMI..................................................................................... 77 Figure 33: display cars interface .............................................................................................. 78 Figure 34:Display cars and filter card ...................................................................................... 79 Figure 35:display cars and Map card ....................................................................................... 79 Figure 36:Figure 36:Car details................................................................................................ 80 Figure 37: Payment interface ................................................................................................... 81 Figure 38:Current booking interface........................................................................................ 82 Figure 39:Booking history interface ........................................................................................ 82 Figure 40: Add driver's license interface.................................................................................. 83 Figure 41:Take capture interface.............................................................................................. 83 Figure 42:Capture with license id ............................................................................................ 84 Figure 43: Display user interface ............................................................................................. 84 Figure 44: Verify user interface ............................................................................................... 85 Figure 45:My rating and reviews interface .............................................................................. 85 Figure 46: use case diagram of sprint #3.................................................................................. 88 Figure 47:class diagram of sprint #3........................................................................................ 93 Figure 48:Sequence diagram “send suggestion”...................................................................... 94 Figure 49:Sequence Diagram of chat....................................................................................... 94
  • 15. Figure 50:Sequence diagram “manage blogs” ......................................................................... 95 Figure 51:Create and send notification interface ..................................................................... 96 Figure 52:Notifications interface ............................................................................................. 96 Figure 53:edit cancellation Policy interface............................................................................. 97 Figure 54:cancellation Policy interface.................................................................................... 97 Figure 55:FAQs interface......................................................................................................... 98 Figure 56:Help Message interface............................................................................................ 98 Figure 57:Chat interface HMI.................................................................................................. 99 Figure 58:Preview blogs by admin interface.......................................................................... 100 Figure 59:Create blog interface.............................................................................................. 100 Figure 60:Blogs interface....................................................................................................... 101 Figure 61::Blog details interface............................................................................................ 102 Figure 62::Blog comments and responses interface............................................................... 102 Figure 63: use case diagram of sprint #4................................................................................ 105 Figure 64:class diagram of sprint #4...................................................................................... 109 Figure 65:Sequence diagram “add coupon”........................................................................... 110 Figure 66:Dashboard and stats graph..................................................................................... 111 Figure 67:Total revenue interface .......................................................................................... 111 Figure 68:dialog of sales report calendar ............................................................................... 112 Figure 69:Coupons interface .................................................................................................. 112 Figure 70:Add coupon interface............................................................................................ 113 Figure 71:Payment card interface .......................................................................................... 114 Figure 72:Wihdraw interface.................................................................................................. 115
  • 16. List Of Tables Table 1:Scrum Team ................................................................................................................ 38 Table 2:Main Actors................................................................................................................. 39 Table 3:hardware environment................................................................................................. 42 Table 4:Text description of the use case “Register” ................................................................ 50 Table 5:Text description of the use case “Authenticate” ......................................................... 51 Table 6:Text description of the use case “Edit Profile”........................................................... 52 Table 7:Text description of the use case “Update Password”.................................................. 53 Table 8:Text description of the use case “search car”.............................................................. 62 Table 9:Description of use case “filter” ................................................................................... 63 Table 10:Text description of use case “View cars” ................................................................. 64 Table 11:Text description of the use case “Select Car”........................................................... 65 Table 12:Text description of use case “Validate identity”....................................................... 66 Table 13:Text Description of use case “Payment”................................................................... 67 Table 14:Text description of sprint4 ........................................................................................ 68 Table 15:Text description of “consult privacy policies” use case............................................ 89 Table 16:Text description of “consult cancellation policies” use case .................................... 89 Table 17:Text description of “consult faqs and send suggestion” use case............................. 90 Table 18:Text description of use case chat .............................................................................. 91 Table 19:text description of the use case “Manage blogs” ...................................................... 92 Table 20:Text description of “Preview stats” use case .......................................................... 106 Table 21:Text description of “Preview and manage coupons” use case............................... 107 Table 22:Text description of “Withdraw history and payment” use case.............................. 108 Table 23:Product Backlog...................................................................................................... 117
  • 17. Table 24:Sprint Backlog #1.................................................................................................... 121 Table 25:Backlog of sprint #3................................................................................................ 126 Table 26:Backlog of sprint 4.................................................................................................. 129
  • 18. List of abbreviations • P2P=Peer to Peer • CSS = Cascading Style Sheets • HTML = Hypertext Markup Language • SQL = Structured Query Language • UML = Unified Modeling Language • HMI = Human Machine Interface • MVVM = Model Vew Vew Model
  • 19. General Introduction P a g e 18 | 134 General introduction Technology has infiltrated every aspect of our lives, and it has also had an impact on travel and transportation. Car rental platforms have recently shown that the need is much bigger than we might have thought. This is all due to the advent of online car rental software and booking apps and the integration of new concepts and models like the sharing economy, spatially the peer to peer model economy, which have allowed new entrepreneurs to provide a seamless and organized service to their consumers. Peer to Peer car rental management can seem like a broad and all-encompassing term. P2P car rental management is the process that business uses to manage all rentals and asset information, from acquisition through to disposal. This enables businesses to reduce costs, increase revenue for car owners, improve efficiency and ensure compliance across an entire fleet operation. In order to manage a fleet, a P2P car sharing service provider may rely on a rental management platform; this software is aiming to hold all the records of vehicles, clients, car owners and manage its information through a large and complex suite of options. The peer-to-peer car sharing market size (1) was valued at $1,015.7 million globally in 2020, and it is expected to grow at a CAGR of 21.7% during 2020–2030. In this context fits our end-of-study project realized in InspiredWorkX for the client RentedWheels which is a startup that plans to launch a peer-to-peer (P2P) car-sharing marketplace, and is aiming to become the world's largest peer-to-peer car-sharing platform. The desired result is to have a robust, reliable structure that alleviates the complexities and flaws in the existing solution. This report describes the different stages of our work, and is structured around 7 chapters and lastly, we will close this report and illustrate our conclusion and the project perspectives.
  • 20. General Introduction P a g e 19 | 134 1. The first chapter will cover the general context of our project. 2. In the second chapter, we will present the state of art of the platform. 3. The third chapter will cover the project planning, the global requirement’s analysis design, illustrate our product backlog, and finally present the logical architecture of the project and our development environment 4. The fourth chapter will cover the development of the first sprints where we will explain the sprint backlogs, the description of use cases, it will include the conceptual phase and we will finish with the implementation and the result achieved. 5. The fifth chapter will cover the development of the Cooking Management sprint where we will explain the sprint backlogs of the booking process, the description of use cases, it will include the conceptual phase and we will finish with the implementation and the result achieved. 6. The sixth chapter will cover the development of the communication modules where we will explain the sprint backlogs, the description of use cases, it will include the conceptual phase and we will finish with the implementation and the result achieved. 7. The seventh chapter will cover the development of the last sprint where we will explain the sprint backlogs, the description of use cases for the rental stats and coupons management, it will include the conceptual phase and we will finish with the implementation and the result achieved.
  • 21. Chapter 1 : Project Context P a g e 20 | 134 Project Context Introduction This first chapter presents the host organization as well as the motivations and the context of the project to be carried out. Thereafter, we will explain the problem and the objectives of the work to achieve. 1. Presentation of the host organization InspiredWokX was founded in 2020, It is a professional experienced and forward thinking full-service digital agency, its greatest strength is transforming the client needs into effective solutions that drive client trust, loyalty and revenue growth. Figure 1:logo of InspiredWorkX We present in the following the host organization in which our internship took place and its services. 1.1 Organization Chart Figure 2: Organization chart
  • 22. Chapter 1 : Project Context P a g e 21 | 134 1.2 Organization Services InspiredWokX offers various services in the technology sector: 1.2.1 Website and Software Development • MyAjarn: A cloud-based unified e-learning solution that combines a learning management system (LMS), a classroom management system (CMS) and a virtual classroom. • Happy Grocers: This is the leading online platform in Southeast Asia , currently operating in various cities in Indonesia, Malaysia, and Thailand and aims to create a sustainable food system. • Website Design : InspiredWorkX will provide a unique, responsive, eye catching and user-friendly design that will attract visitors. ✓ A design for your desktop, tab and mobile. ✓ A beautiful, modern design that makes a difference. ✓ sales with a strategically built user experience. 1.2.2 Mobile App Development InspiredWorkX is offering IOS and Android mobile app development services to reach customers on their preferred devices. • IOS app development • Android app development 1.2.3 Logo and Branding As Branding is a critical component of the company, InspiredWorkX can help clients to create: • One design for desktop, tab and mobile. • Beautiful and modern design that adds business value. • Branding that creates an emotional connection with customers. 1.2.4 Search Engine Optimization InspiredWorkX will help the client to develop his unique SEO Strategy and continually train him on SEO principles so that it becomes a natural part of his development process.
  • 23. Chapter 1 : Project Context P a g e 22 | 134 • Local SEO Services. • Content Driven, White Hat SEO. • Increase your online visibility with custom SEO Strategy. 1.2.5 Social Media Marketing InspiredWokX makes a result-oriented approach where everything from social profile listing to the execution of social media campaigns have a specific goal of meeting your brand’s objectives. They include: • Organic Social Media Strategy. • Creating and managing campaigns. • Creating & managing campaign assets: pages, accounts etc. 2. Context and objectives We cannot start this project without having a clear and precise idea of the problematic and a full understanding of the requirements and needs of the Client 2.1 The problem statement In order to be successful, RentedWheels must intervene in the transportation sector to meet the needs of any user to have momentary use of a desired vehicle through its own platform which must guarantee the communication between three main actors, the customer, the renter and the service provider. RentedWheels must ensure the reliability of the data gathering and all the information of the customers, the cars and the car owner, the challenge is to automate more tasks, reduce the response time, increase the performance and certainly provide identity verification and make emergent improvements compared to the existing solutions. ➢ Solving the underused vehicle issue, while making renting easier and more affordable. 2.2 Existing state analysis In recent years, various companies have invested in the carsharing marketplace but they differ greatly in terms of perspectives. In this section, we will discuss some of the existing distributed solutions, and present common shared critics.
  • 24. Chapter 1 : Project Context P a g e 23 | 134 1.2.1 Location context and area of interest Most of the service promoters focus on local customers like Turo, Getaround. Moreover, we can see that the Middle East, Africa and Latin America are still absent, but they remain a potential future market due to the revolution and the development of infrastructure, technology and civilization in these countries. Some players focus on a context of proximity, rather rural. This is the case for example of Buzzcar, Drivy, and Ouicar in France whose main area of interest is around airports. 1.2.2 Delay of response Once registered with a company as carshare, the customer must wait for a membership card to arrive in the mailing box before being able to rent a vehicle. The card is used to unlock the car so the client may not make an instant location. 1.2.3 User Experience It is clear that the providers of p2p car sharing service are focusing on the customer side but regarding the host, the experience might be stressful which is reasonable because of security reasons. Indeed the stack of a smoother user experience and less tasks is highly recommended. 2.3 Proposed Solution After further examination of the already existing solutions and with the aim of overcoming the limitations, we were able to identify several anomalies that we have detailed in the previous section. To make use of these anomalies, RentedWheels seeks to propose to design and implement a platform that will enhance the user experience, represent in a coherent and high frequency manner three models: • Car Renters Booking Website. • Car Owners Dashboard panel And Master Admin Dashboard Panel. In this project we are aiming to solve two major problems, the ease of searching the desired car, the booking and the identity verification process, in addition of the key functionalities of the renter and the admin panels, reduce response time and increase performance.
  • 25. Chapter 1 : Project Context P a g e 24 | 134 The system will be written in AngularInvalid source specified. (frontend) and NodJS[4] (Backend Rest API) using MySQL Database. 3. Development methodology A development methodology is a set of principles and values that help guide a team to achieve their desired goal by defining steps to follow and documents to prepare in order to finalize a project. It is crucially important to choose the right methodology based on the size and type of the project. 3.1 Agile methodology The Agile methodology was born out of frustration with the long (and often tedious) development cycle associated with traditional product development. The time required to complete each step of the process, from writing requirements to the end product delivery was too long and did not meet the needs of a constantly changing business. Organizations that use agile methods not only enjoy benefits such as faster software delivery schedules, but also manage to better align customer and business needs and deliver the software in the best delays. In addition, teams use metrics to track progress and evaluate their performance after each iteration. Indeed, as the diagram in the figure shows, agility must affect all stages of the project, not just the development teams. Figure 3: Agile Scrim process
  • 26. Chapter 1 : Project Context P a g e 25 | 134 3.2 Scrum Methodology For the design and implementation of our project and in order to ensure the good progress among the various phases, we opted for the Scrum agile method for several reasons. indeed the Scrum process adapts perfectly to the decomposition of our system, it is based on the following advantages: • More flexibility and reactivity, • Great capacity to adapt to change thanks to short iterations, • Satisfy the client's needs as much as possible. Scrum: Is an agile methodology that consists of having a cooperative team guiding the project’s progress. This approach is both dynamic and productive, resulting in the realization of functionalities by iteration including the participation of the client. Each iteration can last from two to four weeks and at the end of each sprint a functional product must be delivered. Indeed, Scrum defines three roles: • The Product Owner: is the official representative of the customer within a SCRUM project. He defines and prioritizes the product requirements. This role is presented in our project by Mr. Travor Akwenye. • The SCRUM Master: this is the person who facilitates the application of the method and ensures that its objectives are met. He is responsible for the communication. He does not play the role of a project manager, but he is in charge of overcoming any obstacles that would prevent the team and the project from progressing during the different Sprints. He is the key player in the conflict management. • The project team (SCRUM Team Members): These are the people responsible for the execution of the Sprints and deliverables. The members must collaborate together and be autonomous in order to meet the customer's requirements and commitments. Figure 4:Scrum process
  • 27. Chapter 1 : Project Context P a g e 26 | 134 3.3 Modeling languages To help visualize and conceptualize our project, we opted to use the unified modeling language UML. The UML was developed in 1994-1996 by Grady Booch, Ivar Jacobson and James Rumbaugh at Rational Software in order to specify, visualize and construct documents that describe the development process of the project. We consider the language best suited to provide RentedWheels with an understandable presentation. The various UML diagrams provide a good exposition of our solution. Figure 5: UML modeling Language 4. Actual and Provisional planning 4.1 Provisional planning In January, about a month after the beginning of the development, a provisional sheet was made on the planning. It appeared that the realization of certain tasks was very laborious because of the lack of resources and information, or sometimes the feasibility of the task. Adding to that I’m simply an intern who is aiming to learn more tools, gain more knowledge and practice my development and soft skills in a professional environment with direct clients and superiors. I was required to develop the entire platform; client side and 2 dashboards for both desktop and mobile apps with Ionic. In order to unblock the development of the project, it was decided for the internship period To focus on the client side development which must be responsive and prepare the two dashboards panels for the super admin and host.
  • 28. Chapter 1 : Project Context P a g e 27 | 134 4.2 Actual planning The following Gantt chart reconstitutes and describe the progress of the tasks carried out since the launch of the project. Figure 6:Gantt chart of the actual project schedule
  • 29. Chapter 1 : Project Context P a g e 28 | 134 5. Conclusion In this chapter, we gave a brief description of the host organization, the main problem and the required work to solve it, while also providing the development methodology and modeling language used to achieve our goal. Finally, this will lead us to the next chapter in which we will discuss the requirements specification.
  • 30. Chapter 2: State of Art P a g e 29 | 134 State of art Introduction This first chapter presents the state of arts of our project, there for we will go throw some relative definitions and present the advantages, the innovative and advances modules that our platform is seeking to achieve. 1. Sharing and P2P Economy 1.1 Sharing Economy The sharing economy (2) is a new consumption model linked to the development of the Internet and communication technologies. It is based on the exchange, sharing and collaboration between individuals of goods, services, resources, time or knowledge via dedicated platforms. 1.2 P2P Economy A peer-to-peer economy (3) is a model of the sharing economy in which two individual parties (buyer and seller) interact directly to provide goods and services. There is no need for a third-party intermediary. The sharing economy model and applications such as Uber and Airbnb allow the peer-to-peer economy to thrive because they remove the role of third parties. 2 P2P Vehicle Sharing Concept Peer-to-Peer Vehicle Sharing Platform means any software, application, website, or online system offered or used for the purpose of renting cars and providing various services for the rental of vehicles. “Definition based on TNC legislation” In recent centuries, metropolitan cities have been welcoming more people from the working class, especially young people, who contribute greatly to the middle level income of the population. This set of people want to enjoy the various luxuries of life, but this luxury is not always their top priority like possessing a car.
  • 31. Chapter 2: State of Art P a g e 30 | 134 Cars: The initial investment is heavy, in the long run it is practical but it remains an essential vector of the development of our personal mobility for prosperity. On the other hand, in this paradigm of personal mobility, we mark every day a real paradox creating a disparity between the ownership and the use of a vehicle (cars are driven only 8% of the time on average) presenting many negative consequences while marking our footprint on the environment. The peer-to-peer model is gaining popularity. Young adults are generally the main target of collaborative consumption sites. They often have low incomes, but thanks to this concept, they can enjoy convenient and inexpensive services. Studies show that peer-to-peer (P2P) carsharing has increased, reduced vehicle miles traveled, and reduced fuel consumption and greenhouse gas emissions, “For service members and their families, P2P carsharing has the potential to provide on-demand, short-term access to a fleet of personally owned motor vehicles while allowing service members to share their vehicles and earn additional income during temporary absences, such as temporary duty assignments and deployments.” added Susan Shaheen, professor in civil and environmental engineering, and co-director of the Transportation Sustainability Research Center, at the University of California, Berkeley. It is a renowned car rental software firm that creates unique car booking systems for clients all over the world. With a vehicle rental website, booking engine, end user, host, super admin web apps, the automobile reservations system is a full solution. This cloud-based automobile booking system can be incorporated into your existing website, giving your customers access to real-time car availability, pricing, and quick booking confirmation. Using our booking software, which includes reservation, scheduling, dispatch, and payment processing, you can streamline your car rental business. Connect with digital customers using passenger mobile apps that are custom-branded for your company. With our driver mobile app, you can communicate with drivers and track their progress. 3 Solutions for Car Rental Platform RentedWheels With advanced fleet management, online bookings, billing, smart search, instant chat and identity verification, we provide a comprehensive car rental software platform. Rented Wheels platform is composed of three related web apps that can be complemented by native Android and IOS mobile apps as Ionic combines Ionics’s core UI components, gestures and animations with tools and APIs tailored for Angular which may be deployed afterwards.
  • 32. Chapter 2: State of Art P a g e 31 | 134 3.1 Module for Client A user-friendly UI interface with a comprehensive booking process for end users. Users can see cars listed for booking and click on smart search filter that return results of cars based in the filter and display the results on the google maps as markers. Users can also get a fare calculator for budgeting and coupons in addition to the main features of the booked car. They can also send an instant chat to the car owners, rate a car and comment the blogs. The Billing and Invoicing System generates an invoice based on the vehicle’s trip distance and duration. 3.2 Module for Host A one of kind interfaces enabling car owners to examine all information related to booking requests and can access and change desired inventory and pricing information. Admins can establish profiles for various hosts in order to connect their cars. 3.3 Administrative Core Inventory management, clients and hosts management, payments modules are among the modules that make up the core admin. The Admin can view statics of the fleet and download reports based on calendar. 3.4 APIs from third parties Smouth and well organized API solutions and a variety of third-party APIs, such as SMS gateways and online payment gateways, may all be smoothly integrated with the core vehicle rental platform.. Our next-generation car rental software (with API integration) includes best-in-class modules to keep RentedWheels ahead of the competition. 3.5 High-tech and high-performance RentedWheels development deliverables are based on top technology stacks in various technological platforms. Infrastructure, operational, and resource costs, are taken into account. 3.6 Increased Productivity While delivering the RentedWheels platform, we use agile development process and daily communication to stay on track.
  • 33. Chapter 2: State of Art P a g e 32 | 134 3.7 Car Rental Software Program Features 3.7.1 System for booking Management : The Host and the admin of RentedWheels have the ability to manage the car that has been added to the system. cars can be added based on the hosts and include all necessary information. This system includes a panel for detailed bookings stats and reporting. There is also a tracking system for the active bookings. 3.7.2 Integration of a Payment Gateway : Customers can pay for their rental car using a variety of methods. Users will be able to use credit cards, debit cards to make payments. Users can also keep track of their payments and booking status in their account. 3.7.3 Manage Reservations : Admin are in charge of all reservations. Depending on the protocol, booking approval might be done automatically or manually. Cancellations are completely relative to cancellation policies. 3.7.4 Reports : The admin / super admin of the P2P car rental platform can generate a variety of reports. These reports can provide a detailed image of the system’s bookings, earnings, and fleet reporting. 3.7.5 Identity verification The system suggest that you get approved to drive before booking. Doing so, it ensures a smooth approval process, go to your profile page, upload a current photo that clearly shows your entire face (no sunglasses or hats). Hosts will use this photo and the photo on your driver’s license to verify your identity when you pick up the vehicle at the start of the trip. Next, upload close-up photo in which all four corners and sides of the license are visible. Finally take a Selfie of you holding your driver's license next to your face. The super Admin has the privilege to approve or refuse the user based in his uploads and capture.
  • 34. Chapter 2: State of Art P a g e 33 | 134 3.7.6 Smart search Filter: The system will provide a smart search feature so that the user will be promoted to search his desired card based in as smooth and multiple filter options 3.7.7 Blogging Rented wheels platform encapsules a successful blogging interfaces where user is able to react to a blog, enter comments and interact with other comments by responding to other comments or responses. 1 Conclusion In this chapter, we gave a brief description and definitions about the concept of P2P car sharing, the main advantages and features that our platform is offering while we presented the stack of technologies and advanced tools that are deployed to ensure the ease of usability of RentedWheels. Finally, this will lead us to the next chapter in which we will discuss the requirements specifications, the sprints’ analyses and developments process.
  • 35. Chapter 3: Requirements Analysis and Design P a g e 34 | 134 Requirements Analysis and Design Introduction In the previous chapter, we chose to adopt the scrum methodology for the design of our future system. Indeed, our Scrum will be organized in three phases starting by the planning and architecture phase (also called sprint0). This phase is the most important in the scrum development cycle since it directly influences the success of the sprints. During this chapter we will walk through the analytical phase and specify the requirements of our project, which is a critical phase throughout the whole development process. We will determine the functional and non-functional requirements for our application. Next we will adopt the scrum methodology for the design of our future system and present the global modeling, preparing our release plan and finally we will illustrate the main system architecture and development environment. 1. Functional and non-functional requirements 1.1 Functional requirements Our mission is to create and design a combination of a peer to peer rented system and in order to meet the requirements of the client. 1.1.1 Car Renters Booking Website. Ability to view listed cars • Car’s per hour, per day & per week renting cost. • How much renting the car will cost for the selected trip. • Option to share car page with friends on social media or via email. • Car owner details. • Car features & specifications. • Precautions renters need to take while using the car.
  • 36. Chapter 3: Requirements Analysis and Design P a g e 35 | 134 • Location & availability chart with the pick-up location information. • Mileage cap. Ability to search for cars the car search toolbox has the following search fields: • Location (or address). • Pick-up date & time. • Return date & time. Ability to view search results using map-view, this helps renters to know right away how far the car’s location is. Plus, the vertical panel, next to the map view, can feature the basic rental details such as year, rent, etc. Following filters should also be present on the search page: • Price and No. of passengers.. • Pickup/delivery. • No. of passengers.. • Vehicle type and Make.. • Users should be able to hover over the list results and the corresponding map results should get highlighted. Ability to book a rental: Only registered users should be able to book a rental. The checkout process should be short and simple. It should have the following important text fields and options: • Detailed personal information (name, age, contact). • Driver’s license details. • Payment options (credit card/ debit card/ PayPal etc.) Checkout with available payment methods. Users can rent cars and pay.. Ability to register, login and manage profiles. Users can create a personal account that records rental history and banking details. User must meet the General requirements of RentedWheels Car Rental App. The legislation of RentedWheels requires all drivers to be over the age of 18 years. The company encourages clients to ensure they upload verification document and possess each of the following when renting a car: • An Identity card or passport. • A driver’s license or an international permit
  • 37. Chapter 3: Requirements Analysis and Design P a g e 36 | 134 • Recording of bookings.. Adding cars to favorites Viewing favorites .. Removing cars from favorites Help Section - Registered users should be able to search for an answer as well as ask questions if they cannot find the answer they were looking for. Blog Posts.. Ability to rate and review car rentals, and owners. 1.1.2 Car Owners Dashboard panel Ability to list cars: There should be a distinct ‘List Car’ option on the top navigation bar. Since listing a car would require the car owner to input a lot of detail, the process should be divided into steps. In the first step, car owners should be asked the basic details such as: • location (zip code), • Car make, year, license plate, trim, style • photographs of car • Car’s per hour, per day & per week renting cost • How much renting the car will cost for the selected trip Next, the car owner should be asked various car features & specifications (preferably through checkbox selection). • Car features & specifications • Location & availability chart with the pick-up location information • Mileage cap Ability to approve or cancel client’s request… 1.1.3 Car Owners Dashboard panel Development of administrative panel for super user with following features:
  • 38. Chapter 3: Requirements Analysis and Design P a g e 37 | 134 • Ability to view overall statistics, visible in bar and line chart form. Statistics should include performance tracking: Revenue, total rentals, total users, commission paid. • Ability to view rentals made and listed • Ability to create rental notifications • Ability to create coupons… 1.2 Non-functional requirements Non-functional requirements are a set of rules that we must follow in order to provide a better user experience while using the application, they help separate the bad from the good applications on the market. That’s why we worked hard to meet the user’s expectations to provide the most suitable experience. In order to do so we had to follow those requirements : a. Security: Ensuring the security and confidentiality of the user’s data and applying the best security practices. b. Scalability and performance: Making sure that the system can scale to meet higher traffic at a normal rate and peak times. c. Accessibility: Ensuring that the application meets basic accessibility standards. d. Extensibility: Ensuring that the application can be extended or updated in the future without causing any issues and allow the addition of other modules at any time. e. Portability: The application must be functional in different environments. f. Usability: The system provides a help and support menu in all interfaces for the user to interact with the system. The user can use the system by reading help and support g. User Friendly: The application must be impressive, well designed and intuitive. Considered the level of knowledge possessed by the users of this system, a simple but quality user interface should be developed to make it easy to understand and required less training.
  • 39. Chapter 3: Requirements Analysis and Design P a g e 38 | 134 2. Project management using Scrum 2.1 Scrum Team For our application the roles are distributed as the following: Table 1:Scrum Team 2.2 Product Backlog The product backlog is the most important artifact of Scrum. Indeed, it is the set of functional requirements that are called user stories. Each user story is characterized by a priority defined by the Product Owner. Our Product Backlog includes the following fields: • ID: This is the identifier of the sprint containing an ordered list of tasks. • User Story ID: This is the user story identifier. • Feature: Represents the sprint to which this user story belongs. • User Story: It is the user story representing a functional need desired by the customer. • Priority: Illustrates one of the most important notions of Scrum which is the prioritization of tasks by applying the “MoSCoW” method. Each user story is prioritized as follows: → High: The functionality must be done. → Medium: The functionality is important but not urgent. → Low: The functionality is not important ➢ Table 2 in thee annex describes the product backlog of our application. Scrum® Roles People concerned Product Owner Travor Akwenye: Business Development Director Scrum Master Daniel Goncalves: Project manager Team Raéd Hamaoui: Full stack developer
  • 40. Chapter 3: Requirements Analysis and Design P a g e 39 | 134 2.3 Specification of global functional requirements RentedWheels platform offers various functionalities. The global use case diagram represented by the next figure, models the functionalities of each actor. We will detail in the following chapters the realized use cases. 2.3.1 Identifying the actors An actor is an entity that interacts with the application, and in response to the actor’s actions, The RentedWheels platform involves four main players as shown in the table below. Table 2:Main Actors Role Functions Client • The client will be able to Authenticate and log into his account. • The client will be able to manage Profile. • The client will be able to search a car: the RentedWheels customer must be able to search for a suitable vehicle and apply a filter according to the proposed platform filtering system. • The client will be able to select a vehicle and make payments. • The client will be able to send and receive messages via chat and evaluate a car. • The client will be able to browse the list of blogs, comment on a blog or reply to a comment. • The client will be able to consult the privacy and cancellation policies and manage and Validate Identity by uploading a license document and take a snapshot in order to be able to book a car. • The client will be able to consult booking history and be able to rebook a car or cancel a booking., consult Notifications and manage favored cars. Host • The host will be able to authenticate and log into his account. • The host will be able manage his profile. • The host will be able manage booking requests. • The host will be able to list bookings for different booking’s status… • The host will be able to manage his fleet. Super Admin • The super admin will be able to approve users, send notifications, manage his profile and visualize data.
  • 41. Chapter 3: Requirements Analysis and Design P a g e 40 | 134 2.3.2 Global use case diagram Figure 7: Global Use Case Diagram
  • 42. Chapter 3: Requirements Analysis and Design P a g e 41 | 134 3. Release planning The sprint is the heart of scrum. As we already defined in the second chapter the sprint is a block of time during which an increment of the product will be realized. This sprint will be sliced into tasks that can be completed in a reasonable amount of time to see how the work is progressing. In order to prepare a release plan, the following elements must be available: • A prioritized and estimated Scrum product backlog. • The velocity of the Scrum team. • Conditions of satisfaction (goals for the schedule, scope, resources). For RentedWeels, we did split our project into 4 Releases as shown in table below. Indeed, each release, which is the set of iterations (sprint) illustrates a distributed vision over time of the production of the deliverable code. The development of each sprint goes through the stages of analysis, design and implementation. Figure 8:Sprint Planning
  • 43. Chapter 3: Requirements Analysis and Design P a g e 42 | 134 4. Development environment 4.1 Hardware environment This section is reserved to present the hardware that was used during the development of this project. Table 3:hardware environment 4.2 Software environment Programming language Type Script : It is a free and open source programming language that aims to improve and secure the production of JavaScript code. It is a superset of JavaScript (i.e. any correct JavaScript code can be used with Type Script). JavaScript : Is an object-oriented scripting language mainly used in HTML pages. In fact in our project working with Java Script tool in Backend Sass: It is a preprocessor scripting language that will be compiled or interpreted into CSS. Sass Script is itself a scripting language while Laptop US X556U RAM 8 Go Microprocessor Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz 2.40 GHz Disque dur 1 To OS Windows 10
  • 44. Chapter 3: Requirements Analysis and Design P a g e 43 | 134 SCSS is the main syntax of SASS which builds on the existing CSS syntax. HTML5: Is a Markup Language used for the creation of web pages Libraries KNEX.js[7] : It is a JavaScript query generator for relational databases, including PostgreSQL, MySQL, SQLite3 and Oracle. It supports transactions and connection pooling. Software Visual code studio : For the development of our frontend and backend application, we used a Visual code studio editor. It's an open source editor that facilitates development with TypeScript[6]. StarUML : It is an Open Source UML modeling software, developed in Delphi. It is modular and offers several code generators and it also offers several project templates Tailwind CSS[4] : Tailwind CSS is essentially a CSS utility framework for quickly creating custom user interfaces. This means that we can use utility classes to create custom designs without writing CSS like in the traditional approach. Angular V13 [5]: Angular is an open-source JavaScript framework written in TypeScript. It allows you to create more responsive and “one page” interfaces, i.e. without reloading the page. It is one of the best technical solutions that offers a real gain in productivity for the development of ergonomic web applications. Indeed, it allows users to create large applications in a maintainable way.
  • 45. Chapter 3: Requirements Analysis and Design P a g e 44 | 134 NodeJS +Express: Express is a minimal and flexible Node.js web application framework that provides a robust set of features for developing web and mobile applications. It facilitates the rapid development of Node-based web applications. WAMPSERVER : WampServer is a web development environment that allows to create web applications with Apache2, PHP and a MySQL database Postman : Postman is an API platform for building and using APIs. Postman simplifies every step of the API lifecycle and streamlines collaboration so you can build better APIs faster. Project and version management Trello : A powerful project management system helps companies track projects and ensure that everyone is working to their full potential. Git : This is the most commonly used version control System. GitHub : GitHub is a code hosting platform for version control and collaboration. This tutorial teaches you the essentials of GitHub such as repositories, branches, commits and pull requests.
  • 46. Chapter 3: Requirements Analysis and Design P a g e 45 | 134 5. Architectural View of the system 5.1 MVVM Design Model MVVM stands for Model, View, View Model. It is a software design pattern that aims to increase the readability and maintainability of source code, by dividing the code into the 3 sections Figure 9:Angular MVVM Pattern a. Model A Model is a container defining the structure of an entity and it is implemented as an Angular service. b. View The view is implemented using an Angular “model” (HTML with data binding). The view is bound to the View Model so that when a property is changed in the View Model, it is instantly reflected in the view. Data binding can work both ways in special cases like HTML forms, where the user can manipulate a property directly. c. View Model The View Model is implemented as an Angular controller. The “ngController” directive is used to specify a controller for a view. It can expose properties and methods to the view. It can also be attached to the DOM by declaring it in a route definition via the “$route” service.
  • 47. Chapter 3: Requirements Analysis and Design P a g e 46 | 134 5.2 Logical architecture of the system The logical architecture identifies the software components required to implement a solution and describes the relationships between these components. a. Clients: The client's web browser is responsible for the dialogue with the user and the application server. b. Application server (NodeJS): The application server is responsible for the functional part of the application and data processing. c. Database server: This server will allow to save and restore the data of the application. Figure 10: Physical architecture
  • 48. Chapter 3: Requirements Analysis and Design P a g e 47 | 134 6. Conclusion In this chapter, we have gone through the functional and non-functional requirements of our application. This helped us to have a clearer and deeper vision of our project so that we can plan our sprints. We have also identified our main actors and presented the global use case diagram. Then, we presented the planning of releases. This will lead us to our next chapters where we will discuss how we turned the requirements of RentedWheels into an implementable form of programming language based in each sprint release.
  • 49. Chapter 5: Sprint 2 - Booking Management P a g e 48 | 134 Sprint 1: Account Management Introduction After we finished talking about the global use case, the requirements of the project and the implementation of scrum in the last chapter. We will be diving into the phase where we will make the most of the requirements and design presented in the first release and turn it into an implementable form of programming language. In this chapter, we will detail the work done during the first sprint “Account Management”. 1. Sprint Backlog The goal of this sprint is to answer the fundamental question: “why do we do this sprint?”. Following a conversation between the product owner and the scrum team, we decided the following goal: “finish the part that cover the customer registration, authentication and profile management”. Once we have defined our sprint goal, it is time to decide which user stories to include in the sprint, specifically, which user stories from our product backlog will be included in the backlog of the first sprint. Table 5 in the annex shows the backlog for our first sprint. Next, we will identify the functional specification and design, of this sprint, we will respect these two activities in each sprint during our first release.
  • 50. Chapter 5: Sprint 2 - Booking Management P a g e 49 | 134 2. Functional requirement The functional specification in our case is translated by the UML use case diagram and it’s textual description. To better understand the functionalities of our application and the interactions with the different the different actors, we detail in this part the main use cases identified previously. 2.1 Use case diagram of sprint 1 Figure 11:Use case diagram Sprint1
  • 51. Chapter 5: Sprint 2 - Booking Management P a g e 50 | 134 2.2 Text description of the use cases: Use case Register Starting with the Register car functionality that allows the user of the application to be able to Register a new account In the following table, we will illustrate the preconditions, post-conditions and the main scenario for the use case ”Register”. Table 4:Text description of the use case “Register” Action Value Use case Register Actors Web User Purpose Create an account to access the application. Precondition Account email and phone number aren’t used before. Post-condition Account created and user redirected to login page. Main Scenario 1. Web user clicks the register button. 2. The system displays registration form. 3. The user types the necessary information. 4. The user clicks the register button. 5. The system verifies the information inserted. 6. The system send a validation code to the user email. 7. The system validates the user credentials and saves his account Alternative scenario 5.1 The user enters wrong information or an already in use phone or email. 5.2 The system displays the same interface indicating the error.
  • 52. Chapter 5: Sprint 2 - Booking Management P a g e 51 | 134 Use case Authentication In this section we will describe the Authentication functionality that allows user of the application to be able to Login to his profile. In the following table, we will illustrate the preconditions, post-conditions and the main scenario for the use case ”Authentication”. Table 5:Text description of the use case “Authenticate” Action Value Use case Authentication Actors Client Purpose Get access to the application. Precondition The user must have an account. Post-condition The user logged in and redirected to the appropriate interface. Main Scenario 1. The system displays the authentication interface. 2. The user types his credentials. 3. The user clicks the login button. 4. The system verifies the information inserted. 5. The system validates the user credentials and redirect the user to the appropriate interface. Alternative scenario 5.1 The user enters wrong credentials or an already in use phone or email. 5.2 The system displays the same interface indicating the error.
  • 53. Chapter 5: Sprint 2 - Booking Management P a g e 52 | 134 Use case Edit Profile In the following table, we will illustrate the preconditions, post-conditions and the main scenario for the use case ”Edit Profile”. Table 6:Text description of the use case “Edit Profile” Action Value Use case Edit Profile Actors Client Purpose Editing the profile. Precondition Users logged in. Post-condition Profile edited. Main Scenario 1. The User clicks on Profile 2. The System displays menu and the profile with user’s details. 3. The User clicks on Edit profile button. 4. The System displays a form with the information that can be edited. 5. The User can update his user name or last name and save. 6. The user can edit his email or phone number. 7. The system displays a validation code dialog and sends a validation code to the user email. 8. The user must enter the validation code and save. 9. The User upload an new profile button and save. 10. The System saves and redirect user to the appropriate interface. Alternative scenario 3.1 The system displays the same interface indicating the error.
  • 54. Chapter 5: Sprint 2 - Booking Management P a g e 53 | 134 Use case Update password In the following table, we will illustrate the preconditions, post-conditions and the main scenario for the use case ”Update Password”. Table 7:Text description of the use case “Update Password” Action Value Use case Update Password Actors Client Purpose Change Password Precondition Users logged in. Post-condition Password changed Main Scenario 1. The User clicks on change password in menu. 2. The System displays a form to update password. 3. The user enters his old password. 4. The user enters his new password. 5. The user confirms his new password and click on save button. 6. The user clicks on save button. Alternative scenario 5.1 The system displays the same interface indicating the error of password mismatch. 6.1 The system displays the same interface indicating that the password is not valid
  • 55. Chapter 5: Sprint 2 - Booking Management P a g e 54 | 134 3. Conceptual modeling 3.1 Class diagram The class is the main building block of object-oriented modeling. It is used for general conceptual modeling of the structure of the application, and for detailed modeling. Therefore, we present in the figure below the class diagram of this sprint. Figure 12: class diagram sprint #1 3.2 Sequence diagrams A sequence diagram represents the interaction between different entities in a timespan. It helps us visualize the flow of our application and validates different scenarios which could lead to predicting how the system behaves and help us prevent undesirable scenarios. In this section we will present different scenarios in our platform through these sequence diagrams.
  • 56. Chapter 5: Sprint 2 - Booking Management P a g e 55 | 134 3.2.1 Sequence diagram for “Authenticate” use case 3.2.2 Sequence diagram for “Edite profile” use case Figure 13:Sequence diagram for “Authenticate” use case Figure 14:sequence diagram "edit profile
  • 57. Chapter 5: Sprint 2 - Booking Management P a g e 56 | 134 4. Activity diagram The activity diagram is a UML behavioral diagram used to describe a workflow and represent the triggering of events according to the system states and to model parallelizable behaviors. It is composed of activities, decisions, and paths (flows). 1.1 Activity diagram “Edit profile” The next diagram figures out the activities that happen when a user logs in to a system. This example illustration shows the activities and scenarios done in the edit profile. Thus, the actions and decisions included were all emphasized here. Figure 15:Activity diagram Edit profile
  • 58. Chapter 5: Sprint 2 - Booking Management P a g e 57 | 134 5. Implementation We will expose in this section the HMI of our application realized during this sprint. This section is reserved for all of the user where they will be prompted to fill the form to either login in order to access the platform or register a new account and lastly edit his personal profile. 5.1 Login Figure 16::Login desktop interface This page represents the HMI where users will be able to fill the login form and respect the form validation to be able to login to his profile. 5.2 Register Figure 17:Figure 38::Sign up Desktop interface This page represents the HMI where users will be able to fill the registration form and respect the form validation to be able to register his account into the platform.
  • 59. Chapter 5: Sprint 2 - Booking Management P a g e 58 | 134 5.3 Edit Profile Figure 18:Edit desktop interface This dialog represents the HMI where users will be able to fill the edit form, respect the form validation and upload new image profile. 5.4 Change Password This dialog represents the HMI where users will be able to update his password.
  • 60. Chapter 5: Sprint 2 - Booking Management P a g e 59 | 134 6. Conclusion In this chapter, we have shown the backlog of the "Account Management" sprint, which describes the processed tasks. Then, we illustrated the different UML diagrams, to model our platform. Finally, we have presented the interfaces of the different tasks handled during this sprint. The next chapter is dedicated to the analysis of the "Booking Management" sprint.
  • 61. Chapter 5: Sprint 2 - Booking Management P a g e 60 | 134 Sprint 2: Booking Management Introduction The goal of this sprint is to answer the fundamental question: “why do we do this sprint?”. Following a conversation between the product owner and the scrum team, we decided the following goal: “finish the part that covers the fleet management by the host and the booking modules. Once we have defined our sprint goal, it is time to decide which user stories to include in the sprint, specifically, which user stories from our product backlog will be included in the backlog of the first sprint. Table 5 shows the backlog for our sprint: 1. Sprint Backlog Table 6 in thee annex shows the backlog for our sprint: Next, we will identify the functional specification and design, of this sprint, we will respect these two activities in each sprint during our first release.
  • 62. Chapter 5: Sprint 2 - Booking Management P a g e 61 | 134 2. Functional requirement 2.1 Use case diagram of sprint 2 Figure 19:Use case diagram of sprint 2 2.2 Text description of the use cases: In this section, we will detail the main use cases previously identified Starting with the Register car functionality that allows the user of the application to be able to Register a new account 2.2.1 Use case Search car: To better understand the functionalities of our application and the interactions with the different the different actors, we detail in this part the main use cases identified previously. previously. In the following table, we will illustrate the preconditions, post-conditions and the main scenario for the use case ”Search car”.
  • 63. Chapter 5: Sprint 2 - Booking Management P a g e 62 | 134 Table 8:Text description of the use case “search car” Action Value Use case Search car Actors Client /web user Purpose Search car based in keys words or location and start and return time or car’s make, or latest cars, or pets friendly or popular locations Precondition The user goes to the landing page Post-condition The system returns and displays cars based in the search option Main Scenario 1. The User goes to the home page. 2. The system displays the landing page 3. The user fills the search bar by entering the desired address and select the start and return dates and time then clicks on the search button. 4. The user selects one of the displayed car makes. 5. The user selects one of the displayed latest added cars. 6. The user selects one of the popular locations displayed. 7. The user selects one of the cars displayed as pets friendly. 8. The user enters a key word and press Enter. 9. The user Clicks on filter button to make filters. 10. The system verifies the data and display the cars page within the cars returned based in the search option. Alternative scenario 3.1 the user clicks in the search button with an empty address. 3.2 The user selects a return time which is less than 60 minutes add to the start time 3.3 the system displays an error message in the same interface
  • 64. Chapter 5: Sprint 2 - Booking Management P a g e 63 | 134 2.2.2 Use case Filter In the following table, we will illustrate the preconditions, post-conditions and the main scenario for the use case “filter”. Table 9:Description of use case “filter” Action Value Use case Filter Actors Client / Web user Purpose Return cars based in Filter . Precondition The user goes to the landing page Post-condition The system returns and displays cars based in the filter. Main Scenario 1. The user goes to the home page. 2. The system displays the landing page 3. The user clicks on the filter button. 4. The system displays the filter dialog form. 5. The user enters his desired location 6. The user selects start date and time. 7. The user selects return date and time. 8. The user selects car’s type. 9. The user selects price range. 10. The user selects car make. 11. The users selects fuel option. 12. The user selects delivery option. 13. The user selects seats number. 14. The user selects mile age.. 15. The user clicks on search button. 16. The system verifies the data and display the cars page within the cars returned based in the users ‘filter. Alternative scenario 5.1 The user clicks in the search button with an empty address. 5.2 The system displays an error message in the same interface
  • 65. Chapter 5: Sprint 2 - Booking Management P a g e 64 | 134 2.2.3 Use case View cars In the following table, we will illustrate the preconditions, post-conditions and the main scenario for the use case “View cars”. Table 10:Text description of use case “View cars” Action Value Use case View cars Actors Client / Web user Purpose Consult available cars to make a choice. Precondition Search cars Post-condition List of cars. Main Scenario 1. The system displays the cars page based in the user filter or search. 2. The user clicks on the filter toggle button 3. The system displays the filter card 4. The user selects car’s type. 5. The user selects price range. 6. The user selects car make. 7. The users selects fuel option. 8. The user selects delivery option. 9. The user selects seats number. 10. The user selects mile age. 11. The user clicks on filter button 12. The system displays cars based in the result of filter. 13. The user clicks again on the filter toggle button. 14. The system hides the filter card. 15. The user clicks on the map toggle button 16. The system displays the map card. 17. The user search cars cards in google maps 18. The system displays cars card in google maps 19. The user enter new address in the location input. 20. The system displays cars based in the new location. 21. The user clicks again on the maps toggle button. 22. The system hides the map card.
  • 66. Chapter 5: Sprint 2 - Booking Management P a g e 65 | 134 2.2.4 Use case Select car In the following table, we will illustrate the preconditions, post-conditions and the main scenario for the use case “Select Car”. Table 11:Text description of the use case “Select Car” Action Value Use case Select Car Actors Client / Web user Purpose Select car to book, view car details and the ability to select booking options Precondition View list cars Post-condition Display selected car details. Main Scenario 1. The user clicks on Book button in car card. 2. The system displays the page related to the Id of the selected car and shows the selected car details. 3. The user is able to select booking option like Price, fuel option and delivery options. 4. The user clicks on “Continue Button” in order to proceed to the payment page. Alternative scenario 2.1 If the user is authenticated, the System save the user selections and check the user status and . 2.2 If the account status is “Uncompleted” the system redirects to the Identity page. 2.3 If the account status is “Pending “ the system inform the user that is account is in hold to be verified. 4.1 If the status is “Verified” the system redirects to the payment page. 4.2 If the user is not authenticated the system redirects to Login page if not
  • 67. Chapter 5: Sprint 2 - Booking Management P a g e 66 | 134 2.2.5 Use case Validate Identity In the following table, we will illustrate the preconditions, post-conditions and the main scenario for the use case “Validate Identity”. Table 12:Text description of use case “Validate identity” Action Value Use case Validate Identity Actors Client Purpose Validate the client identity. Precondition Consult the validation Identity guide. Post-condition Validation steps completed. Main Scenario 1. The User clicks on Identity in the profile menu. 2. The System displays the page that cover the identity validation guide 3. The user clicks on “Get Approved” button.. 4. The system displays the validation steps. 5. The User uploads his driver’s license. 6. The user takes a screenshot holding his driver’s license. 7. The system shows a message to inform that the steps and change the account status to “pending” Alternative scenario 3.1 The system displays an error message to inform the user that a step is not completed selections and check the user status and .
  • 68. Chapter 5: Sprint 2 - Booking Management P a g e 67 | 134 2.2.6 Use case Payment In the following table, we will illustrate the preconditions, post-conditions and the main scenario for the use case “Payment”. Table 13:Text Description of use case “Payment” Action Value Use case Payment Actors Client Purpose Pay the car booking bill. Precondition Account approved and car selected Post-condition Payment success. Main Scenario 1. The system generates and displays the price or the billing details of he selected car. 2. The user select his payment method. 3. The user fills the form with his payment account details. 4. The system displays a success message if payment will success. Alternative scenario 3.1 The system displays an error message in the same interface related to the payment process.
  • 69. Chapter 5: Sprint 2 - Booking Management P a g e 68 | 134 2.2.7 Use case Review car In the following table, we will illustrate the preconditions, post-conditions and the main scenario for the use case “Evaluate Cars”. Table 14:Text description of sprint4 Action Value Use case Evaluate Cars Actors Client Purpose Evaluate a trip or a booked car. Precondition Completed booking. Post-condition Rating or Review displayed. Main Scenario 1. The system displays an evaluation card. 2. The user Select his Rating 3. The system save the rating and displayed by the car card and the client “Rating and Reviews Page”. 4. The user add a review. 5. The system save the review and displayed in the car details page and the reviewer “Rating and Reviews Page”. 6. The user click on My Ratings and Reviews Item in the profile menu. 7. The system displays the client’s ratings and reviews details. Alternative scenario The evaluation card is displayed for 10 days after the user finish his booking.
  • 70. Chapter 5: Sprint 2 - Booking Management P a g e 69 | 134 3. Conceptual modeling 3.1 Class diagram The class is the main building block of object-oriented modeling. It is used for general conceptual modeling of the structure of the application, and for detailed modeling. Therefore, we present in the figure below the class diagram of this sprint. Figure 20:Class diagram Sprint #2
  • 71. Chapter 5: Sprint 2 - Booking Management P a g e 70 | 134 3.2 Sequence diagrams for car booking In this section we will present different scenarios in our sprint through these sequence diagram. Figure 21:Sequence diagram for “Car Booking process”
  • 72. Chapter 5: Sprint 2 - Booking Management P a g e 71 | 134 4. Activity diagram 4.1 Activity diagram “Booking” The next diagram figures out the activities that happen when a user aims to book a car. This example illustration shows the activities and scenarios done for this process Thus, the actions and decisions included were all emphasized here. Figure 22:Activity diagram booking
  • 73. Chapter 5: Sprint 2 - Booking Management P a g e 72 | 134 5. Implementation We will expose in this section the HMI of our application realized during this sprint. This section is reserved for all of the user where they will cover the booking process. 5.1 Register Cars 5.1.1 Add Car Info Figure 23:Add car info interface This section is reserved for car owners, who will be invited to add a new car by uploading a photo of the car and filling in the car information form while respecting the validation of the form. 5.1.2 Add Basic Info details Figure 24: car basic info details This section is reserved for car owners. They will be invited to add the details of their car by entering the required price information and selecting the fuel type while respecting the validation of the form.
  • 74. Chapter 5: Sprint 2 - Booking Management P a g e 73 | 134 5.1.3 Add Mile age cap Figure 25: Mile age cap interface This section is reserved for car owners. They will be invited to add the mile age details and additional price while respecting the validation of the form. 5.1.4 Add Car feature and specifications This section is reserved for car owners. They will be invited to select car features and add some specifications . Figure 26: Car features interface