|
| Titre : |
CarConnectDZ :Development of a car rental platform between individuals in Algeria |
| Type de document : |
document électronique |
| Auteurs : |
Mohamed Amine Osmani ; Hachem Bouzahzah, Auteur ; Samir Balbal, Directeur de thèse |
| Editeur : |
Setif:UFA |
| Année de publication : |
2025 |
| Importance : |
1 vol (63 f .) |
| Format : |
29 cm |
| Langues : |
Anglais (eng) |
| Catégories : |
Thèses & Mémoires:Informatique
|
| Mots-clés : |
Peer-to-peer
Car rental
Secure payment
Identity verification
React
Node.js
Digital economy. |
| Index. décimale : |
004 Informatique |
| Résumé : |
In Algeria, the peer-to-peer car rental sector remains underdeveloped, facing several major
obstacles such as user mistrust, the absence of rigorous identity verification, insecure financial
transactions, and an underdeveloped digital ecosystem. International platforms do not
sufficiently address local specificities economic, cultural, and regulatory thereby limiting their
effectiveness in the Algerian market.
This thesis proposes CarConnectDZ, an intuitive local platform specifically designed for the
Algerian market. The solution integrates advanced user verification based on driver’s licenses,
a secure payment system tailored to local financial infrastructure, and a user and vehicle rating
mechanism to enhance trust and transparency. Additionally, digital, automated, and paperless
rental agreements compliant with local laws are offered to simplify the rental process.
The technical architecture of CarConnectDZ is based on an API developed with Node.js and a
web application built using React. This technological approach is intended to effectively meet
the expectations of the Algerian market while promoting digital transformation in the car rental
sector. |
| Note de contenu : |
Sommaire
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
General Introduction 1
1 Analysis of the Existing Situation 2
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Defenition of Peer-toPerr Car Rental . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Emergence and Growth of Peer-to-Peer Car Rental . . . . . . . . . . . . . . . . . 2
1.3.1 Economic Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.2 Environmental Considerations . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.3 Technological Enablers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.4 Market Trajectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Trust and Security Issues in P2P Rentals . . . . . . . . . . . . . . . . . . . . . . 3
1.4.1 Identity Verification as a Foundation for Trust . . . . . . . . . . . . . . . 4
1.4.2 Securing the Physical Asset: The Vehicle . . . . . . . . . . . . . . . . . . 4
1.4.3 Ensuring Financial Security and Transactional Integrity . . . . . . . . . . 4
1.4.4 Frameworks for Insurance and Liability . . . . . . . . . . . . . . . . . . . 4
1.5 Exisiting Situations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5.1 International Case Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5.1.1 Turo (USA/Canada/UK) . . . . . . . . . . . . . . . . . . . . . . 5
1.5.1.2 Communauto (Canada) . . . . . . . . . . . . . . . . . . . . . . . 6
1.5.1.3 Getaround (International) . . . . . . . . . . . . . . . . . . . . . 7
1.5.1.4 SnappCar (Netherlands and Germany) . . . . . . . . . . . . . . 8
1.5.1.5 EjarCar (UAE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.2 Algeria Case Studty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5.2.1 Siyaratic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6 Challenges in the Algerian Market . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6.1 Economic Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6.1.1 Dominance of the Cash Economy . . . . . . . . . . . . . . . . . 11
1.6.1.2 Foreign Currency Restrictions . . . . . . . . . . . . . . . . . . . 12
1.6.2 Technological Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6.2.1 Uneven Internet and Smartphone Access . . . . . . . . . . . . . 12
1.6.2.2 Low Digital Literacy Among Certain Groups . . . . . . . . . . . 12
1.6.3 Cultural and Social Factors . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6.3.1 Resistance to Sharing Economy Models . . . . . . . . . . . . . . 12
1.6.3.2 Privacy and Safety Concerns . . . . . . . . . . . . . . . . . . . . 12
1.6.3.3 Ensuring Safety for Users . . . . . . . . . . . . . . . . . . . . . . 12
1.6.4 Regulatory Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6.4.1 Lack of Regulatory Clarity . . . . . . . . . . . . . . . . . . . . . 12
1.6.4.2 Undefined Legal Framework for P2P Rentals . . . . . . . . . . . 13
1.7 Development of Web Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.7.1 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.7.1.1 The Early Days of the Web . . . . . . . . . . . . . . . . . . . . . 13
1.7.1.2 Server-Side Advancements . . . . . . . . . . . . . . . . . . . . . 13
1.7.1.3 Limitations and Challenges . . . . . . . . . . . . . . . . . . . . . 13
1.7.2 Emergence of Modern Frameworks: The MERN Stack . . . . . . . . . . . 14
1.7.2.1 The Rise of JavaScript Frameworks . . . . . . . . . . . . . . . . 14
1.7.2.2 Introduction to the MERN Stack . . . . . . . . . . . . . . . . . . 14
1.7.2.3 Example: Real-World MERN Applications . . . . . . . . . . . . 15
1.7.3 Advantages of the MERN Stack Over Classical Methods . . . . . . . . . . 15
1.7.3.1 Case Study: E-Commerce Platform . . . . . . . . . . . . . . . . 16
1.7.3.2 Counterpoint: When Classical Methods May Suffice . . . . . . . 16
1.7.4 AI Integration in Web Platforms . . . . . . . . . . . . . . . . . . . . . . . 17
1.7.4.1 Personalization and Recommendation Systems . . . . . . . . . . 17
1.7.4.2 Natural Language Processing (NLP) for Interaction . . . . . . . 18
1.7.4.3 User Behavior Prediction and Security . . . . . . . . . . . . . . . 18
1.7.4.4 Automation and Decision-Making . . . . . . . . . . . . . . . . . 18
1.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2 Analysis and conception 19
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Conception Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.1 Unified Modeling Language (UML) . . . . . . . . . . . . . . . . . . . . . . 19
2.2.2 Diagram Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Requirements Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.1 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.1.1 Registration and Verification Process . . . . . . . . . . . . . . . 20
2.3.1.2 Vehicle Listing Requirements . . . . . . . . . . . . . . . . . . . . 20
2.3.1.3 Booking and Reservation Requirements . . . . . . . . . . . . . . 21
2.3.1.4 Payment Processing Requirements . . . . . . . . . . . . . . . . . 21
2.3.1.5 Rating and Review System Requirements . . . . . . . . . . . . . 21
2.3.2 Non-Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3.2.1 Performance Requirements . . . . . . . . . . . . . . . . . . . . . 21
2.3.2.2 Security Requirements . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3.2.3 Usability Requirements . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.2.4 Reliability Requirements . . . . . . . . . . . . . . . . . . . . . . 22
2.4 Identification of Actors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.1 Primary Actors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.1.1 Car Owner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.1.2 Renter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.1.3 Admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.2 Secondary Actors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.2.1 Guest/Visitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.2.2 Payment Processor . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.3 External Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.3.1 Email Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.3.2 Map Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5 Use Case Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5.1 Use cases Diagram (Admin,Renter,Owner,Guest) . . . . . . . . . . . . . . 25
2.5.2 Admin Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5.2.1 Description of Admin Use Cases . . . . . . . . . . . . . . . . . . 26
2.5.3 Renter Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5.3.1 Description of Renter Use Cases . . . . . . . . . . . . . . . . . . 26
2.5.4 Renter Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.4.1 Description of Renter Use Cases . . . . . . . . . . . . . . . . . . 27
2.5.5 Owner Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.5.1 Description of Owner Use Cases . . . . . . . . . . . . . . . . . . 28
2.5.6 Guest Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.6.1 Description of Guest Use Cases . . . . . . . . . . . . . . . . . . . 29
2.6 Sequence Diagrams: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6.1 Definition : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6.1.1 Key Components: . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6.1.2 Purpose: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6.2 Sequence Diagram ”Sign up”: . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.6.3 Sequence Diagram ”Post car”: . . . . . . . . . . . . . . . . . . . . . . . . 31
2.6.4 Sequence Diagram ”Booking”: . . . . . . . . . . . . . . . . . . . . . . . . 32
2.7 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.7.1 Class Diagram ”General” . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.7.2 Passage Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3 Implementation and realization 37
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2 Development tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.1 Hardware Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.2 Software Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2.3 Database Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.3.1 MongoDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.4 Backend Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.4.1 Node.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.4.2 Express.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.5 Frontend Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.5.1 React.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.6 JavaScript (ES6+) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.7 Development Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.7.1 Visual Studio Code . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.7.2 GitHub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.8 Additional Development Tools . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.8.1 Cloudinary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.8.2 Postman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2.8.3 MongoDB Compass . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2.8.4 SMTP (Simple Mail Transfer Protocol) and Nodemailer . . . . . 43
3.3 Deployment Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3.1 Vercel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3.2 Render . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4 Platform Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.1 Home interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4.2 Offers Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4.3 Authentification interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.3.1 Sign in interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.3.2 Sign-up interface . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.3.3 Email verification interface . . . . . . . . . . . . . . . . . . . . . 48
3.4.3.4 user pending state interface . . . . . . . . . . . . . . . . . . . . 48
3.4.3.5 User approved state interface . . . . . . . . . . . . . . . . . . . 48
3.4.3.6 User rejected state interface . . . . . . . . . . . . . . . . . . . . 49
3.4.4 Post car interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.4.5 Admin Dashboard interface . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4.6 Admin car posting approval interface . . . . . . . . . . . . . . . . . . . . 52
3.4.7 User Dashboard interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.8 Booking interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.4.9 Car details interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
General Conclusion 59
References 60 |
| Côte titre : |
MAI/1000 |
CarConnectDZ :Development of a car rental platform between individuals in Algeria [document électronique] / Mohamed Amine Osmani ; Hachem Bouzahzah, Auteur ; Samir Balbal, Directeur de thèse . - [S.l.] : Setif:UFA, 2025 . - 1 vol (63 f .) ; 29 cm. Langues : Anglais ( eng)
| Catégories : |
Thèses & Mémoires:Informatique
|
| Mots-clés : |
Peer-to-peer
Car rental
Secure payment
Identity verification
React
Node.js
Digital economy. |
| Index. décimale : |
004 Informatique |
| Résumé : |
In Algeria, the peer-to-peer car rental sector remains underdeveloped, facing several major
obstacles such as user mistrust, the absence of rigorous identity verification, insecure financial
transactions, and an underdeveloped digital ecosystem. International platforms do not
sufficiently address local specificities economic, cultural, and regulatory thereby limiting their
effectiveness in the Algerian market.
This thesis proposes CarConnectDZ, an intuitive local platform specifically designed for the
Algerian market. The solution integrates advanced user verification based on driver’s licenses,
a secure payment system tailored to local financial infrastructure, and a user and vehicle rating
mechanism to enhance trust and transparency. Additionally, digital, automated, and paperless
rental agreements compliant with local laws are offered to simplify the rental process.
The technical architecture of CarConnectDZ is based on an API developed with Node.js and a
web application built using React. This technological approach is intended to effectively meet
the expectations of the Algerian market while promoting digital transformation in the car rental
sector. |
| Note de contenu : |
Sommaire
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
General Introduction 1
1 Analysis of the Existing Situation 2
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Defenition of Peer-toPerr Car Rental . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Emergence and Growth of Peer-to-Peer Car Rental . . . . . . . . . . . . . . . . . 2
1.3.1 Economic Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.2 Environmental Considerations . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.3 Technological Enablers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.4 Market Trajectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Trust and Security Issues in P2P Rentals . . . . . . . . . . . . . . . . . . . . . . 3
1.4.1 Identity Verification as a Foundation for Trust . . . . . . . . . . . . . . . 4
1.4.2 Securing the Physical Asset: The Vehicle . . . . . . . . . . . . . . . . . . 4
1.4.3 Ensuring Financial Security and Transactional Integrity . . . . . . . . . . 4
1.4.4 Frameworks for Insurance and Liability . . . . . . . . . . . . . . . . . . . 4
1.5 Exisiting Situations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5.1 International Case Studies . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5.1.1 Turo (USA/Canada/UK) . . . . . . . . . . . . . . . . . . . . . . 5
1.5.1.2 Communauto (Canada) . . . . . . . . . . . . . . . . . . . . . . . 6
1.5.1.3 Getaround (International) . . . . . . . . . . . . . . . . . . . . . 7
1.5.1.4 SnappCar (Netherlands and Germany) . . . . . . . . . . . . . . 8
1.5.1.5 EjarCar (UAE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.2 Algeria Case Studty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5.2.1 Siyaratic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6 Challenges in the Algerian Market . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6.1 Economic Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6.1.1 Dominance of the Cash Economy . . . . . . . . . . . . . . . . . 11
1.6.1.2 Foreign Currency Restrictions . . . . . . . . . . . . . . . . . . . 12
1.6.2 Technological Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6.2.1 Uneven Internet and Smartphone Access . . . . . . . . . . . . . 12
1.6.2.2 Low Digital Literacy Among Certain Groups . . . . . . . . . . . 12
1.6.3 Cultural and Social Factors . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6.3.1 Resistance to Sharing Economy Models . . . . . . . . . . . . . . 12
1.6.3.2 Privacy and Safety Concerns . . . . . . . . . . . . . . . . . . . . 12
1.6.3.3 Ensuring Safety for Users . . . . . . . . . . . . . . . . . . . . . . 12
1.6.4 Regulatory Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6.4.1 Lack of Regulatory Clarity . . . . . . . . . . . . . . . . . . . . . 12
1.6.4.2 Undefined Legal Framework for P2P Rentals . . . . . . . . . . . 13
1.7 Development of Web Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.7.1 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.7.1.1 The Early Days of the Web . . . . . . . . . . . . . . . . . . . . . 13
1.7.1.2 Server-Side Advancements . . . . . . . . . . . . . . . . . . . . . 13
1.7.1.3 Limitations and Challenges . . . . . . . . . . . . . . . . . . . . . 13
1.7.2 Emergence of Modern Frameworks: The MERN Stack . . . . . . . . . . . 14
1.7.2.1 The Rise of JavaScript Frameworks . . . . . . . . . . . . . . . . 14
1.7.2.2 Introduction to the MERN Stack . . . . . . . . . . . . . . . . . . 14
1.7.2.3 Example: Real-World MERN Applications . . . . . . . . . . . . 15
1.7.3 Advantages of the MERN Stack Over Classical Methods . . . . . . . . . . 15
1.7.3.1 Case Study: E-Commerce Platform . . . . . . . . . . . . . . . . 16
1.7.3.2 Counterpoint: When Classical Methods May Suffice . . . . . . . 16
1.7.4 AI Integration in Web Platforms . . . . . . . . . . . . . . . . . . . . . . . 17
1.7.4.1 Personalization and Recommendation Systems . . . . . . . . . . 17
1.7.4.2 Natural Language Processing (NLP) for Interaction . . . . . . . 18
1.7.4.3 User Behavior Prediction and Security . . . . . . . . . . . . . . . 18
1.7.4.4 Automation and Decision-Making . . . . . . . . . . . . . . . . . 18
1.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2 Analysis and conception 19
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Conception Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.1 Unified Modeling Language (UML) . . . . . . . . . . . . . . . . . . . . . . 19
2.2.2 Diagram Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Requirements Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.1 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.1.1 Registration and Verification Process . . . . . . . . . . . . . . . 20
2.3.1.2 Vehicle Listing Requirements . . . . . . . . . . . . . . . . . . . . 20
2.3.1.3 Booking and Reservation Requirements . . . . . . . . . . . . . . 21
2.3.1.4 Payment Processing Requirements . . . . . . . . . . . . . . . . . 21
2.3.1.5 Rating and Review System Requirements . . . . . . . . . . . . . 21
2.3.2 Non-Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3.2.1 Performance Requirements . . . . . . . . . . . . . . . . . . . . . 21
2.3.2.2 Security Requirements . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3.2.3 Usability Requirements . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.2.4 Reliability Requirements . . . . . . . . . . . . . . . . . . . . . . 22
2.4 Identification of Actors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.1 Primary Actors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.1.1 Car Owner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.1.2 Renter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.1.3 Admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.2 Secondary Actors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.2.1 Guest/Visitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.2.2 Payment Processor . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.3 External Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.3.1 Email Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.3.2 Map Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5 Use Case Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5.1 Use cases Diagram (Admin,Renter,Owner,Guest) . . . . . . . . . . . . . . 25
2.5.2 Admin Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5.2.1 Description of Admin Use Cases . . . . . . . . . . . . . . . . . . 26
2.5.3 Renter Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5.3.1 Description of Renter Use Cases . . . . . . . . . . . . . . . . . . 26
2.5.4 Renter Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.4.1 Description of Renter Use Cases . . . . . . . . . . . . . . . . . . 27
2.5.5 Owner Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.5.1 Description of Owner Use Cases . . . . . . . . . . . . . . . . . . 28
2.5.6 Guest Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.6.1 Description of Guest Use Cases . . . . . . . . . . . . . . . . . . . 29
2.6 Sequence Diagrams: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6.1 Definition : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6.1.1 Key Components: . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6.1.2 Purpose: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6.2 Sequence Diagram ”Sign up”: . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.6.3 Sequence Diagram ”Post car”: . . . . . . . . . . . . . . . . . . . . . . . . 31
2.6.4 Sequence Diagram ”Booking”: . . . . . . . . . . . . . . . . . . . . . . . . 32
2.7 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.7.1 Class Diagram ”General” . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.7.2 Passage Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3 Implementation and realization 37
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2 Development tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.1 Hardware Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.2 Software Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2.3 Database Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.3.1 MongoDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.4 Backend Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.4.1 Node.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.4.2 Express.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.5 Frontend Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.5.1 React.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.6 JavaScript (ES6+) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.7 Development Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.7.1 Visual Studio Code . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.7.2 GitHub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.8 Additional Development Tools . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.8.1 Cloudinary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.8.2 Postman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2.8.3 MongoDB Compass . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2.8.4 SMTP (Simple Mail Transfer Protocol) and Nodemailer . . . . . 43
3.3 Deployment Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3.1 Vercel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3.2 Render . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4 Platform Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.1 Home interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4.2 Offers Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4.3 Authentification interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.3.1 Sign in interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.3.2 Sign-up interface . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.3.3 Email verification interface . . . . . . . . . . . . . . . . . . . . . 48
3.4.3.4 user pending state interface . . . . . . . . . . . . . . . . . . . . 48
3.4.3.5 User approved state interface . . . . . . . . . . . . . . . . . . . 48
3.4.3.6 User rejected state interface . . . . . . . . . . . . . . . . . . . . 49
3.4.4 Post car interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.4.5 Admin Dashboard interface . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4.6 Admin car posting approval interface . . . . . . . . . . . . . . . . . . . . 52
3.4.7 User Dashboard interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.8 Booking interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.4.9 Car details interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
General Conclusion 59
References 60 |
| Côte titre : |
MAI/1000 |
|