| 
			 
					| Titre : | DEVELOPMENT OF A MOBILE APPLICATION IN THE CONTEXT OF UBERIZATION: ARCHITECTURE AND USER EXPERIENCE |  
					| Type de document : | texte imprimé |  
					| Auteurs : | Lydia Nakivumbi, Auteur ; Andrew Ocan ; Sadik Bessou, Directeur de thèse |  
					| Editeur : | Setif:UFA |  
					| Année de publication : | 2024 |  
					| Importance : | 1 vol (62 f .) |  
					| Format : | 29 cm |  
					| Langues : | Anglais (eng) |  
					| Catégories : | Thèses & Mémoires:Informatique 
 |  
					| Mots-clés : | Uberization Mobile application development
 Flutter application
 Firebase application
 Stacked
 |  
					| Index. décimale : | 004 - Informatique |  
					| Résumé : | The advent of the Uberization model has transformed various industries by leveraging
 mobile technology to create seamless, on-demand services. This thesis explores the development
 of "SnapSend," a mobile application within the context of Uberization connecting
 senders with travelers to facilitate the delivery of items.
 By implementing advanced technologies such as Flutter with stacked CLI for frontend
 development and Firebase for backend infrastructure, SnapSend aims to enhance the
 three critical dimensions: architecture, security, and user experience.
 The architectural framework emphasizes scalability, modularity, and reliability, essential
 for handling the dynamic demands of a high-traffic application. Employing microservices,
 cloud integration, and efficient database management, the proposed design ensures robustness
 and flexibility, enabling continuous improvement and integration of new features.
 User experience is explored through the lens of design thinking, emphasizing intuitive navigation,
 and responsive design. The application aims to deliver a seamless and engaging
 user experience, tailored to meet the high expectations of modern users.
 |  
					| Note de contenu : | Sommaire List of Figures xii
 1 Mobile application development 1
 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
 1.2 Mobile App Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
 1.3 Mobile Application Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
 1.4 User Experience (UX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
 1.5 Uberization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
 1.5.1 Evolution of Delivery Services . . . . . . . . . . . . . . . . . . . . . . . 4
 1.5.2 Uberization in Modern Commerce or Uberizing the Economy . . . . . 4
 1.5.3 Principle of Uberisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
 1.6 Rationale for the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
 1.6.1 Market Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
 1.6.2 Globalization Trends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
 1.7 Objectives and Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
 1.7.1 Defining Project Objectives . . . . . . . . . . . . . . . . . . . . . . . . . 6
 1.7.2 Scope of the App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
 1.8 Uberization Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
 1.8.1 Airbnb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
 2 The Snap Send App and User Stories 11
 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
 2.2 User story . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
 2.2.1 How it works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
 2.3 UML DIAGRAMS FOR THE APPLICATION . . . . . . . . . . . . . . . . . . . 16
 2.3.1 Class diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
 2.3.2 The use case diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
 2.3.3 The Sequence diagram for post item use case. . . . . . . . . . . . . . . . 18
 3 Technical Framework - Crafting the Digital Canvas 19
 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
 3.2 Figma for Wireframing and Prototyping . . . . . . . . . . . . . . . . . . . . . . 19
 3.2.1 How Figma Can Be Used: . . . . . . . . . . . . . . . . . . . . . . . . . . 20
 3.2.2 Why Figma: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
 3.2.3 Benefits Over Other Tools: . . . . . . . . . . . . . . . . . . . . . . . . . 21
 3.3 Flutter for Frontend Development . . . . . . . . . . . . . . . . . . . . . . . . . . 22
 3.3.1 How Flutter Can Be Used: . . . . . . . . . . . . . . . . . . . . . . . . . . 22
 3.3.2 Why Flutter: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
 3.3.3 Benefits Over Other Tools: . . . . . . . . . . . . . . . . . . . . . . . . . 23
 3.4 Firebase for Backend Development . . . . . . . . . . . . . . . . . . . . . . . . . 24
 3.4.1 How Firebase Can Be Used: . . . . . . . . . . . . . . . . . . . . . . . . . 24
 3.4.2 Why Firebase: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
 3.4.3 Benefits Over Other Tools: . . . . . . . . . . . . . . . . . . . . . . . . . 25
 4 Application Architecture 27
 4.1 Stacked . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
 4.1.1 Brief explanation of the core focus of stacked . . . . . . . . . . . . . . . 27
 4.1.2 Model–view–viewmodel (MVVM) . . . . . . . . . . . . . . . . . . . . . 28
 4.2 Security of the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
 4.2.1 Bcrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
 4.2.2 Secure Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
 5 REALISATION OF THE APPLICATION 33
 5.1 Onboarding Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
 5.2 Sign Up Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
 5.2.1 Sign Up as Sender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
 5.2.2 Sign Up as traveler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
 5.3 Login Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
 5.4 Home Sender Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
 5.5 Upload Item Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
 5.6 Home traveler Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
 5.7 traveler Dashboard Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
 5.8 Notification Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
 5.9 Payment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
 5.10 Settings Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
 5.11 Light Mode and Dark Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
 5.11.1 Light Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
 5.11.2 Dark Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
 5.12 Firebase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
 5.12.1 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
 5.12.2 Firebase Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
 5.12.3 Cloude Firestore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
 5.13 Visualized demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
 5.13.1 Account Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
 5.13.2 Adding an item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
 5.13.3 The traveler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
 5.13.4 Account Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
 5.13.5 Accepting an item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
 5.13.6 Notification to the sender . . . . . . . . . . . . . . . . . . . . . . . . . . 53
 5.13.7 Item delivered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
 |  
					| Côte titre : | MAI/0920 
 | 
DEVELOPMENT OF A MOBILE APPLICATION IN THE CONTEXT OF UBERIZATION: ARCHITECTURE AND USER EXPERIENCE [texte imprimé] / Lydia Nakivumbi , Auteur ; Andrew Ocan  ; Sadik Bessou , Directeur de thèse . - [S.l.] : Setif:UFA , 2024 . - 1 vol (62 f .) ; 29 cm.Langues  : Anglais (eng ) 
					| Catégories : | Thèses & Mémoires:Informatique 
 |  
					| Mots-clés : | Uberization Mobile application development
 Flutter application
 Firebase application
 Stacked
 |  
					| Index. décimale : | 004 - Informatique |  
					| Résumé : | The advent of the Uberization model has transformed various industries by leveraging
 mobile technology to create seamless, on-demand services. This thesis explores the development
 of "SnapSend," a mobile application within the context of Uberization connecting
 senders with travelers to facilitate the delivery of items.
 By implementing advanced technologies such as Flutter with stacked CLI for frontend
 development and Firebase for backend infrastructure, SnapSend aims to enhance the
 three critical dimensions: architecture, security, and user experience.
 The architectural framework emphasizes scalability, modularity, and reliability, essential
 for handling the dynamic demands of a high-traffic application. Employing microservices,
 cloud integration, and efficient database management, the proposed design ensures robustness
 and flexibility, enabling continuous improvement and integration of new features.
 User experience is explored through the lens of design thinking, emphasizing intuitive navigation,
 and responsive design. The application aims to deliver a seamless and engaging
 user experience, tailored to meet the high expectations of modern users.
 |  
					| Note de contenu : | Sommaire List of Figures xii
 1 Mobile application development 1
 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
 1.2 Mobile App Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
 1.3 Mobile Application Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
 1.4 User Experience (UX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
 1.5 Uberization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
 1.5.1 Evolution of Delivery Services . . . . . . . . . . . . . . . . . . . . . . . 4
 1.5.2 Uberization in Modern Commerce or Uberizing the Economy . . . . . 4
 1.5.3 Principle of Uberisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
 1.6 Rationale for the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
 1.6.1 Market Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
 1.6.2 Globalization Trends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
 1.7 Objectives and Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
 1.7.1 Defining Project Objectives . . . . . . . . . . . . . . . . . . . . . . . . . 6
 1.7.2 Scope of the App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
 1.8 Uberization Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
 1.8.1 Airbnb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
 2 The Snap Send App and User Stories 11
 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
 2.2 User story . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
 2.2.1 How it works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
 2.3 UML DIAGRAMS FOR THE APPLICATION . . . . . . . . . . . . . . . . . . . 16
 2.3.1 Class diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
 2.3.2 The use case diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
 2.3.3 The Sequence diagram for post item use case. . . . . . . . . . . . . . . . 18
 3 Technical Framework - Crafting the Digital Canvas 19
 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
 3.2 Figma for Wireframing and Prototyping . . . . . . . . . . . . . . . . . . . . . . 19
 3.2.1 How Figma Can Be Used: . . . . . . . . . . . . . . . . . . . . . . . . . . 20
 3.2.2 Why Figma: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
 3.2.3 Benefits Over Other Tools: . . . . . . . . . . . . . . . . . . . . . . . . . 21
 3.3 Flutter for Frontend Development . . . . . . . . . . . . . . . . . . . . . . . . . . 22
 3.3.1 How Flutter Can Be Used: . . . . . . . . . . . . . . . . . . . . . . . . . . 22
 3.3.2 Why Flutter: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
 3.3.3 Benefits Over Other Tools: . . . . . . . . . . . . . . . . . . . . . . . . . 23
 3.4 Firebase for Backend Development . . . . . . . . . . . . . . . . . . . . . . . . . 24
 3.4.1 How Firebase Can Be Used: . . . . . . . . . . . . . . . . . . . . . . . . . 24
 3.4.2 Why Firebase: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
 3.4.3 Benefits Over Other Tools: . . . . . . . . . . . . . . . . . . . . . . . . . 25
 4 Application Architecture 27
 4.1 Stacked . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
 4.1.1 Brief explanation of the core focus of stacked . . . . . . . . . . . . . . . 27
 4.1.2 Model–view–viewmodel (MVVM) . . . . . . . . . . . . . . . . . . . . . 28
 4.2 Security of the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
 4.2.1 Bcrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
 4.2.2 Secure Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
 5 REALISATION OF THE APPLICATION 33
 5.1 Onboarding Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
 5.2 Sign Up Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
 5.2.1 Sign Up as Sender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
 5.2.2 Sign Up as traveler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
 5.3 Login Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
 5.4 Home Sender Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
 5.5 Upload Item Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
 5.6 Home traveler Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
 5.7 traveler Dashboard Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
 5.8 Notification Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
 5.9 Payment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
 5.10 Settings Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
 5.11 Light Mode and Dark Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
 5.11.1 Light Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
 5.11.2 Dark Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
 5.12 Firebase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
 5.12.1 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
 5.12.2 Firebase Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
 5.12.3 Cloude Firestore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
 5.13 Visualized demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
 5.13.1 Account Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
 5.13.2 Adding an item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
 5.13.3 The traveler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
 5.13.4 Account Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
 5.13.5 Accepting an item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
 5.13.6 Notification to the sender . . . . . . . . . . . . . . . . . . . . . . . . . . 53
 5.13.7 Item delivered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
 |  
					| Côte titre : | MAI/0920 
 | 
 |