An-Najah National University Faculty of Engineering & Information Technology Computer Engineering Department Graduation Project I Food Trucks Student Name: Leema Abu-Aladel, Marah Hanini Supervisor: Dr.Suleiman Abu kharmeh, Dr.Emad Natsheh Presented in partial fulfilment of the requirements for Bachelor degree in Computer Engineering on, June 2025 Acknowledgment We are truly grateful to Dr. Suleiman Abu kharmeh and Dr.Emad Natsheh for their exceptional guidance and encouragement. Additionally, we would like to convey our sincere thanks to our families, friends, and all others who have contributed their time and effort to help make the successful completion of this project. Disclaimer Statement his report was written by Marah Hanini and Leema Abu-Aladel, from the Department of Computer Engineering, Faculty of Engineering, An-Najah National University. It has not been changed or corrected, except for editorial corrections, as a result of evaluation and may contain linguistic errors as well as content errors. The opinions expressed therein with any conclusions and recommendations are solely those of the student(s). An-Najah National University assumes no responsibility or liability for the consequences of using this report for a purpose other than the one for which it was assigned. Table of Contents Abstract ......................................................................................................................................................... 1 1 Introduction ..................................................................................................................................... 1 1.1 General Background ......................................................................................................................... 1 1.2 Objectives (Purpose or Aims) of the Work ....................................................................................... 2 1.3 Significance ....................................................................................................................................... 2 2 Theoretical Background and Previous Work .................................................................................... 3 2.1 Review of Previous Work .................................................................................................................. 3 2.2 Theoretical Framework .................................................................................................................... 3 2.2.1 Discovery and Search Personalization ............................................................................................ 3 2.2.2 Booking and Profile Management ................................................................................................... 3 2.2.3 Admin Role and Operational Oversight .......................................................................................... 4 2.2.4 User Experience (UX) and Multilingual Design ............................................................................... 4 3 Methodology ................................................................................................................................. 5 3.0.1 Tools, Methods, and Programming Languages .............................................................................. 5 3.0.2 Client Side ...................................................................................................................................... 5 3.0.3 Notification System ........................................................................................................................ 6 3.0.4 Server Side .................................................................................................................................... 6 3.0.5 Data Base ....................................................................................................................................... 7 3.0.6 Supporting Tools and libraries ....................................................................................................... 7 3.1 Food Trucks Mobile application..................................................................................................... 8 3.1.1 Login and Signup ............................................................................................................................ 8 3.3.2 Password Reset ........................................................................................................................... 12 3.3.3 Truck Owner Screens ................................................................................................................... 16 3.3.4 Customer Screens ........................................................................................................................ 36 3.3.5 Admin Panel Screens ..................................................................................................................... 72 4 Results and Discussion .................................................................................................................. 88 4.1 Results ............................................................................................................................................ 88 4.2 Discussion ........................................................................................................................................ 89 5 Conclusions and Recommendation .................................................................................................. 91 5.1 Conclusion ........................................................................................................................................ 91 5.2 Recommendation ............................................................................................................................ 91 5.3 Future Work .................................................................................................................................... 91 6 Refernces .......................................................................................................................................... 92 List of Figures 3.1 Sign Up Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.2 Email Verification Sent Confirmation Popup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.3 Email Verification Message (Gmail) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.4 Log in screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.5 Arabic Localization of Login Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.6 Reset Password – Email Entry Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.7 Verification Code Email Sent to Use . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.8 Entering the Verification Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.9 New Password Reset Confirmation Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.10 Truck Owner Dashboard English . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.11 Truck Owner Dashboard Arabic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.12 Truck Owner account page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.13 Add Truck Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.14 Logo Upload from Device . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.15 Manage Availability Calendar View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.16 New booking received notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.17 manage bookings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.18 Set total amount of booking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . . . . . . . . . 23 3.19 Confirmed booking list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.20 Order Summary View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.21 Status Update Dropdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.22 My Trucks screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.23 City Filter Dropdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.24 Edit Truck screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.25 Confirm Deletion Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.26 My Menu screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.27 Edit Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.28 Edit Menu Item screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.29 Add menu Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.30 Truck reviews screen . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.31 Menu item reviews screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.32 Ai part of review system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.33 My Account Page . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.34 Report a Problem Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.35 Report status notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.36 “Food Trucks Near You” Main Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 39 3.37 Recommended for you cards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.38 List View of Trucks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 41 3.39 Map View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.40 City Filter Popup (MainView) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.41 Truck Details . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.42 Favoriting a Truck . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.43 Menu page for truck . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.44 Route to the truck map view. . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.45 Explore page(food Trucks ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . 48 3.46 Open now Trucks . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.47 Highest Rated Trucks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 50 3.48 The Trucks classified by its cuisine Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.49 Event Booking page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . . . . . 52 3.50 Manual Event Booking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.51 Complete Booking page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.52 Complete Booking (filled ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.53 Booking submitted successfully . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.54 My Activity ( bookings ) . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.55 Notification booking confirmed. . . … . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.56 AI-powered booking assistant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.57 cart page . . . . . . . . . . . . . . . . . . . . . . . . .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.58 Checkout Process . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.59 Order payment . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.60 Empty Cart Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.61 Customer Order Activity Screen . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.62 Customer and Truck Owner Order Confirmation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.63 Customer notification about Order status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3.64 Customer notification order ready . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.65 Rate Trucks & items. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.66 The review submitted from owner side. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.67 Chatbot assistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.68 Search with ai bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.69 Event reminder notification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.70 Admin Login Page . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.71 Admin Dashboard Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.72 User Management Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 74 3.73 Truck Management Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3.74 month view at admin booking calendar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.75 Day view at admin booking calendar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.76 Agenda view at admin booking calendar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.77 Week view at admin booking calendar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.78 Admin Menu item reviews. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.79 admin Truck reviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.80 Problem Reports Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.81 Add New User Form (Empty State) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.82 Add New User Form (Filled Example) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.83 Email Verification for Admin-Created User. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.84 Confirmation Popup – New User Added. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.85 Add New Truck Modal . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.86 Confirmation Popup for adding truck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.87 new truck added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.88 Order Status Editing Modal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.89 Admin notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.90 Problem Reports Table (With Status Dropdown). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.91 Data report screen ( orders and event booking statistics by period ). . . . . . . . . . . . . . . . . . . . . . 85 3.92 Data report screen (event booking statistics by truck ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.93 Data report screen (report submitted per user). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.94 Data report screen (average customer Ratings per trucks). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 3.95 Excel sheet report example . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 1 Abstract The FoodTrucks platform is a smart, enhanced application designed to connect food truck owners, customers, and event organizers in a seamless and effective way. also It offers a real-time discovery, online ordering, and AI-powered event planning, revolutionizing how food truck services are accessed and managed . In addition to standard features like menu browsing, Stripe-based secure payments, and truck booking for private events, the platform now includes a natural language chatbot assistant for intelligent queries, an AI booking planner for automated event setup, also a real-time notifications for dynamic engagement. With its multi-role system (client, truck owner, and admin), it integrates a personalised recommendation engine, a multilingual interface for wider accessibility, and maps for truck location. The system architecture combines Node.js for the backend logic, Flutter for cross- platform UI, and MongoDB for flexible and structured data storage. This report outlines the development of this solution in the Palestinian context where such a platform is completely new is discussed in this study. Chapter 1 Introduction 1.1 General Background With the large growing in popularity of mobile food services, Food trucks are becoming a flexible and appealing options for casual and event-based dining. However, finding, reserving, and placing orders from food trucks has traditionally been a manual, fragmented, and inefficient procedure. This is particularly relevant in regions like Palestine, There is currently no dedicated digital platform to unify these processes and specialize in food trucks. The Food Trucks platform seeks to bridge this gap by delivering a modern, AI-enhanced solution that simplifies food truck discovery, ordering, and event reservations. 2 1.2 Objectives (Purpose or Aims) of the Work Main goal of the platform is that we want to create full featured food truck platform integrated all characteristic which connect food truck owner, event organizer and customer with great reliability and functionality. The goal is to make food truck finding and ordering easy and fast – and payments are processed through (the well-known) Stripe. The platform includes an events booking reservation system for the booking of trucks for private events complete with approval workflows and deposit collection. One of the main purposes it is designed to do is to help food truck owners easily maintain all other aspects of their menu, sales among a few other performance metrics using an special admin dashboard that comes with. also the integration of the AI-powered chatbot assistant and the smart booking assistant enhances the user engagement while enabling natural language queries, automated truck recommendations, and intelligent planning for private events based on location, guest count, dietary preferences, and availability. The system also includes a real-time notifications and a review rating mechanism to ensure the transparency, strengthen user trust, and drive continuous platform improvement. 1.3 Significance FoodTrucks platform introduces a first of its kind digital food truck in Palestine, a region where such services is currently underserved. It not only improves operational efficiency for truck owners but it also enhances the customer experience through personalization and AI-based support. By supporting the automated booking system , dietary preference filtering, and multilingual interaction, the system makes food truck services more accessible and engaging. The added value by the AI chatbot support and event-focused planning ensures that the platform is scalable, future-ready, and aligned with modern service expectations. This project represents a significant advancement in the digital transformation of local food businesses and event booking services. 3 Chapter 2 Theoretical Background and Previous Work 2.1 Review of Previous Work Several global platforms for example StreetFoodFinder and Truckster have provided a valuable insights into the potential of mobile food service discovery and management. These systems are typically allow the customers to view truck menu , order food, and read the reviews. However, they are limited in their ability of provide event-based planning, intelligent filtering, and AI-driven interaction. Most of the now existing systems are lack context aware assistants or natural language support that would simplify the complex user queries. Within the Palestinian context, no equivalent platform exists, creating a clear opportunity for localized innovation. While general food delivery apps such as Haat Delivery have gained traction in Palestine, they focus mainly on the traditional restaurants and do not provide dedicated support for food truck discovery, real-time tracking, or event reservation leaving a gap this project aims to fill. 2.2 Theoretical Framework 2.2.1 Discovery and Search Personalization FoodTrucks platform uses an AI-enhanced filtering and personalized recommendation engines to allow customers discover food trucks based on their location, it uses machine learning models and geolocation to dynamically adjust the list of results based on user history and preferences. 2.2.2 Booking and Profile Management The FoodTrucks platform offers a seamless booking and profile management system for both the customers and truck owners. Customers can easily browse the available food trucks, view detailed profiles for trucks , and could make event-based bookings through a user-friendly interface. The booking service allows customers to choose the location , date ,time ensuring that trucks are booked according to their event needs. 4 2.2.3 Admin Role and Operational Oversight the admin dashboard provides a full visibility and control over the FoodTrucks platform. Admins can manage several parts of the system, and they have access to a dedicated section for reviewing and addressing user-submitted complaints (reports and prolem section). The dashboard also includes reporting tools that display platform activity such as orders, bookings, and reviews grouped by (day, week, or month). Admins also can export these statistics to Excel for deeper analysis or record-saving. Additionally, they can monitor platform performance, track customer engagement, and ensure the data consistency across trucks . These features helps the system admin to maintain the system’s integrity and improve operational efficiency. 2.2.4 User Experience (UX) and Multilingual support The user experience is designed to be intuitive and accessible, with a clear navigation . The FoodTrucks application supports multiple languages, including English and Arabic, to accommodate a wider audience. Chatbot messages and the dynamic forms are built to handle text input, making the system easy to use for different user needs and preferences. 5 Chapter 3 Methodology 3.0.1 Tools, Methods, and Programming Languages: The development of the FoodTrucks app involved a carefully choosing of the right technologies , tools, and methods to build a efficient and reliable application.the modern technologies and best practices ones are used to create a system that is scalable ,user-friendly, and secure.the tool that used for coding is Visual Studio code , while Git and GitHub helped us to manage the version control and team collaboration. Postman was used to test APIs during development process. This approach helps us to ensure that the app meet both the technical standards and user expectations. 3.0.2 Client Side: • Design : the client side of FoodTrucks was designed to offer a smooth and user-friendly experience, focusing on easy navigation, responsive layouts, and clear visual structure, Also the interface was designed to meet the needs of both customers and truck owners, providing tailored features like browsing food trucks, making bookings, managing availability, and getting real-time notifications all in a seamless and accessible way. • Framework: The mobile application was developed using Flutter, a modern cross-platform UI toolkit. Although Flutter supports multiple platforms, the app was specifically built for Android devices. the interface was composed of reusable components to ensure consistency across various screens and user roles, including customers and truck owners. Meanwhile, the admin dashboard was developed separately using React, providing a clean and responsive interface for managing users, trucks, bookings, and more. • Programming Languages: The client-side development was implemented in Dart, the primary language used by Flutter. Dart provided a strong typing and asynchronous capabilities, which proved useful in managing state, fetching remote data, and handling real-time notifications. 6 3.0.3 Notification System : • Real-time Notifications: To provide instant updates for booking confirmations, order status changes, and problem reports, the application implemented a real-time notification system using Socket.IO. Upon user login, a persistent WebSocket connection is established between the client and server, enabling low-latency, bi-directional communication. This ensured that users—whether customers, truck owners, or admins—received timely alerts without the need to constantly refresh the app. • Local Notifications: To ensure critical messages are visible even when the app is running in the background or not actively in use, the project used the Awesome Notifications plugin. This integration allowed for rich, push-style local notifications triggered by real-time Socket.IO events. Notifications were shown for events such as: • New bookings • Order status changes • Admin alerts 3.0.4 Server Side : • Architecture : The server followed a Model-View-Controller (MVC) architecture to enforce a clean separation of concerns. API endpoints were structured to handle resource-specific operations such as users, bookings, trucks, orders, reviews, and problem reports. • Framework: The backend was developed using the Node.js runtime along with the Express.js framework. Express provided the necessary tools to build RESTful APIs that interacted with the frontend and supported real-time communication with Socket.IO. Authentication, authorization, and form validation were handled via middleware. • Authentication and Security: JWT (JSON Web Tokens) were implemented to manage secure login sessions. User roles (admin, customer, truck owner) were managed with protected routes and token-based access control. 7 3.0.5 Database • Database System: MongoDB was selected as the primary database due to its flexibility, scalability, and seamless integration with Node.js. It allowed for the use of flexible document schemas, which was ideal for representing users, menus, orders, and notifications. • Schema Modeling: The Mongoose ODM (Object Data Modeling) library was used to define schemas and interact with the database. It offered powerful validation, population of related fields, and query- building capabilities, which simplified the handling of relationships between bookings, trucks, and users. 3.0.6 Supporting Tools and Libraries The development process was supported by a set of modern tools and libraries to ensure efficiency, maintainability, and performance across both the mobile and web platforms: • Flutter: Used to build the Android mobile application with a single, high-performance codebase. Flutter’s widget-based architecture allowed for a consistent and customizable UI across customer and truck owner experiences. • Awesome Notifications: Enabled rich local notifications in the Flutter app, allowing users to receive real-time alerts for bookings, order updates, and problem reports—even when the app was in the background. • Socket.IO: Facilitated real-time, bi-directional communication between the mobile app and the server, ensuring immediate delivery of notifications and status updates. • React.js: Used to develop the web-based admin dashboard, providing a responsive interface for administrators to manage users, trucks, orders, and reports. • Node.js & Express.js: Powered the backend APIs and handled authentication, database operations, and real-time event broadcasting. • MongoDB & Mongoose: Provided a flexible NoSQL database structure for storing and retrieving user data, truck information, bookings, and notifications. • Postman: Used extensively for testing and validating API endpoints throughout development. • Git & GitHub: Managed source control and collaborative development through branches and pull requests. • Visual Studio Code: Served as the primary development environment for both frontend and backend codebases. • Nodemailer: Powered transactional email notifications for account verification, password recovery, and booking approvals, keeping users informed through timely email alerts. • Cloudinary: Provided a cloud-based media management service for uploading, storing, optimizing, and delivering images (e.g., truck logos, menus) with excellent performance. 8 • Multer: Enabled secure and efficient file uploads within the backend, handling single and multiple file uploads such as images or documents sent by users. 3.1 Food Trucks Mobile application 3.1.1 Login and Signup: • Sign Up Screen: This screen is to allows new users to create an account by entering the required details such as : First Name, Last Name, Email, Username, Phone Number, City, Address, Role (Customer or Truck Owner), and Password. The language icon in the top corner also supports multilingual switching. Figure 3.1: Sign Up screen 9 • Email Verification Sent Confirmation Popup: After the user submits the form in sign up , a popup confirming that a verification email was successfully sent will be showed . Figure 3.2: Email Verification Sent Confirmation Popup 10 • Email Verification Message (Gmail): Once the user submits their sign-up details, an verification message is sent to their email . This screenshot shows the verification email received by the user. Which includes a secure link with a 10- minute expiration , then they will got an account activation. Figure 3.3: Email Verification Message (Gmail) • Log In Screen: This is the log in page that allows the user to log in using their email and password ,Its also includes the feature of "Remember Me" for persistent sessions and "Forgot Password" for password recovery . Figure 3.4: Log in screen 11 • Arabic Localization of Login Interface: This screen shows the multilingual capabilities of our app. Figure 3.5 : Arabic Localization of Login Interface 12 3.1.2 Password Reset : • Email Entry for Reset Request: The user starts by entering their registered email address on the Reset Password screen. Then a 4- digit verification code is sent to the user email address using Nodemailer. Figure 3.6: Reset Password – Email Entry Screen 13 • Verification Code Sent via Email: The screen shows the email that reaches to the user with a 4-digit verification code to that email. This code is valid for 10 minutes. Figure 3.7: Verification Code Email Sent to User 14 • Entering the Verification Code : The user then enters the received 4-digit code on the Verify Code screen (Figure 3.9). This step confirms that the user has access to the registered email. Note : there is an option to resend the code , in case the email is delayed or missed. Figure 3.8: Entering the Verification Code 15 • Setting a New Password: After successfully verifying the code, this screen will be showed to the user to enter the new password , its also allows the user to enter the new password twice for confirmation .Once confirmed, the password will be updated, and the user will be redirected to log in screen again. Figure 3.9: New Password Reset Confirmation Screen 16 3.1.3 Truck Owner Screens : The Food Trucks mobile application offers a dashboard for truck owners to manage operations efficiently. • Truck Owner Dashboard – English: This screen shows the truck owner a summary of Total Orders, Bookings, and Reviews. It provides quick action buttons to access the main functionalities such as adding trucks, viewing orders, managing availability, and handling event bookings. Figure 3.10: Truck Owner Dashboard English 17 • Truck Owner Dashboard – Arabic: An Arabic version of the truck owner screen Figure 3.11: Truck Owner Dashboard Arabic 18 • Truck Owner account page : Here is the truck owner account page where he can also report a problem to the admin Figure 3.12: Truck Owner account page 19 • Add Truck Screen: Truck owners can add new trucks by entering the truck details as shown. Figure 3.13: Add Truck Screen 20 • Logo Upload from Device: Truck owner can upload truck logos from the device’s storage. At right A confirmation message shows the truck owner that the new truck was added successfully Figure 3.14: Logo Upload from Device 21 • Manage Availability Calendar View: Manage availability screen allows truck owners to set their daily availability using a color-coded calendar. Days are marked as Available, Unavailable, or Today as shown . When a day is marked as unavailable, it is instantly updated in the calendar, with feedback shown at the bottom ("Marked as Unavailable") to confirm the action. ** Note : Owners can manage the availability for multiple trucks. Using the dropdown menu lists all trucks owned by this owner . Figure 3.15: Manage Availability Calendar View 22 • New booking received notification : When a customer booked an event the customer got a real time notification like this Figure 3.16: New booking received notification • Manage Bookings screen : In this screen the owner can see all the bookings attached with each truck and could accept or reject the booking Figure 3.17: manage bookings 23 • Set total amount of booking : In this screen the owner set the total amount for the booking and then confirm the booking. Figure 3.18: Set total amount of booking 24 • Confirmed booking list : After the truck owner confirmed the booking it shows in the confirmed list with its full info Figure 3.19: Confirmed booking list 25 • Order Summary View : This screen displays a summarized view of orders associated with the selected truck. The user can choose a truck from the dropdown and view a list of customer orders including status and placement time. When order details expanded, a detailed information will be shows , including item names, quantities, and the customers name. It also includes a status dropdown for order progression. Figure 3.20: Order Summary View 26 • Status Update Dropdown: This dropdown allows the truck owner to update the order status from “Pending” to “Preparing,” “Ready,” or “Completed.” Figure 3.21: Status Update Dropdown • My Trucks screen : This screen displays a list of all food trucks that owned by the truck owner. Each card shows truck details , this provides a quick access buttons for managing trucks menu, editing truck information, or deleting the truck. A dropdown at the top allows filtering trucks by city. Figure 3.22: My Trucks screen 27 • City Filter Dropdown: This filters the trucks by the city . Figure 3.23: City Filter Dropdown 28 • Edit Truck screen: When the truck owner want edit a truck. This form allows the owner to update cuisine type, description, address, city, operating hours, and logo image. A “Save Changes” button at the bottom saves all the modifications. Figure 3.24: Edit Truck screen 29 • Confirm Deletion Dialog : Before any truck is deleted, a confirmation dialog is shown to the owner to prevent the accidental deletions. Figure 3.25: Confirm Deletion Dialog 30 • My Menu screen: This screen shows the list of menu items associated with a specific truck. Each item card includes the name, price, calories, dietary tags (vegan, spicy), and an image. A menu icon allows editing or deleting a menu item. Figure 3.26: My Menu screen 31 • Edit Menu Options: When the owner clicks at the 3 dots , a dropdown appears with options to edit or delete the item. Figure 3.27: Edit Menu Options • Edit Menu Item screen : This form allows the owner to update a menu item information, including name, description, price, category, calories, dietary flags (vegan/spicy/available), and the item image. Figure 3.28: Edit Menu Item screen 32 • Add menu Item: Here where the truck owner can add a menu item with filling item name, description, price, category, calories, dietary flags (vegan/spicy/available), and the item image. Figure 3.29: Add menu Item 33 • Truck reviews screen: in this screen the truck owner could see add the reviews and it filters them to positive , neutral and negative . Figure 3.30: Truck reviews screen 34 • Menu item reviews screen: Here the admin could see the menu item reviews and they are filtered to to positive , neutral and negative . Figure 3.31: Menu item reviews screen 35 • Ai part of review system : The Sentiment Analysis feature adds an intelligent layer to the customer review system in the Food Trucks app. When a customer submits a review—either for a food truck or a specific menu item— the app sends the text to Google Gemini, asking it to classify the review as Positive, Neutral, or Negative. This is done using a lightweight helper function that communicates with the Gemini API and extracts the sentiment from the AI's response. The result is saved alongside the review and can be used in multiple ways. For example, food truck owners can view sentiment breakdowns to understand how their food is being received, and admins can monitor overall customer satisfaction across the platform. If the AI call fails, the system safely defaults to a neutral sentiment to maintain stability. This feature makes review management smarter and more insightful, helping owners respond to feedback and improve their service with clarity. Figure 3.32: Ai part of review system 36 3.3.4 Customer Screens: • My Account Page : The screen shows user account information and report a problem Figure 3.33: My Account Page 37 • Report a Problem Form: This screen shows Allows the customer to submit a complaint or issue. With its Inputs: Category (selectable dropdown, Bug ,Order Issue ,Menu Problem, Other ), Subject ,Description ,Submit Report button . Figure 3.34: Report a Problem Form 38 • Report status notification : The customer got a notification when the admin change the status of the submitted report Figure 3.35: Report status notification 39 • “Food Trucks Near You” Main Page : This screen shows the food trucks that near the location of the user and a recommended trucks with a details about it . Figure 3.36: “Food Trucks Near You” Main Page 40 • Recommended for you cards : Recommendation system that suggests dishes tailored to the user's taste. When the user selects a city, the component first gathers two sets of data: it analyzes the user's personal history by looking at their past orders and any reviews they've left, and it also fetches a complete list of all currently available menu items from every food truck in that specific city. It then sends both the user's preferences and the list of available dishes to an AI, instructing it to act as a recommendation expert. The AI analyzes all this information to pick the 3-5 best dishes that the user is most likely to enjoy. Figure 3.37 : Recommended for you cards 41 • List View of Trucks : That’s the view when the user scroll down to see the trucks near and the user can tap “View Menu” to view the truck’s menu. Figure 3.38: List View of Trucks 42 • Map View : This screen shows a map view for the user and show pins for each food truck’s location around . At right screen you could view any of these cities maps and view the trucks in that city . Figure 3.39: Map View 43 • City Filter Popup (Main View) : Same list as above but its invoked from the main screen. Figure 3.40: City Filter Popup (MainView) 44 • Truck Details: This screen shows a truck profile and Offers options to book an event or get a route link. Also the truck status (Open/Closed) is clearly labeled. Figure 3.41: Truck Details 45 • Favoriting a Truck : When tapping the heart icon, the truck is added to favorites, then a green confirmation message appears: “Added to favorites!” Figure 3.42: Favoriting a Truck 46 • Menu page for truck : Also when scroll down the truck page the menu of the truck is showed like this , The user could add any item to the cart . Figure 3.43: Menu page for truck 47 • Route to the truck map view : Figure 3.44: Route to the truck map view 48 • Explore page : This is explore page shows a popular searches for the open now trucks and the highest rated ones And a classified trucks by its cuisine Type Figure 3.45: Explore page(food Trucks ) 49 • Open now Trucks : This page give you the trucks that opened now with a information about them like location rating and cuisine type . Figure 3.46: Open now Trucks 50 • Highest Rated Trucks : This page give you the highest rated trucks Figure 3.47: Highest Rated Trucks 51 • The Trucks classified by its cuisine Type : This is an example of trucks classified with its cuisine Type Figure 3.48: The Trucks classified by its cuisine Type 52 • Event Booking page : Here in this page the customer can book an event manually or choose to plan the event with AI assistant Figure 3.49: Event Booking page 53 • Manual Event Booking : In this page the customer chooses the time period of the event then click continue booking Figure 3.50: Manual Event Booking 54 • Complete Booking page : Here the customer writes the information of the booking like start time end time (hours ) , location and gest count . Figure 3.51: Complete Booking page 55 • Complete Booking (filled): After filling the time the customer got a Daily booking schedule and after giving the number of guest he got an estimated amount of the coast of the booking ( we got the average number of all the menu items coast and multiply it with the guest count ) Figure 3.52: Complete Booking (filled ) • Booking submitted successfully : Afte the customer finished filling the information and clicks submit bookings he got this message . Figure 3.53: Booking submitted successfully 56 • My Activity ( bookings ): Here where the customer could see the status of the submitted booking **Note : say as long as its pending the customer can cancel it Figure 3.54: My Activity ( bookings ) 57 • Notification booking confirmed : When the admin accept the booking the customer got this notification Figure 3.55: Notification booking confirmed 58 • AI-powered booking assistant: Now for our AI-powered booking assistant that lets a user describe their event needs in plain language. It intelligently uses a powerful AI in a two-step process: first, to understand and extract key details like the desired city, date, cuisine, and guest count from the user's request. It then fetches a list of available food trucks and their menus from the app's database that match these criteria. Finally it asks the AI to analyze this data and generate a short list of personalized, suitable booking suggestions, which the user can then select to proceed to a pre-filled final booking form, dramatically simplifying the entire event planning process. Figure 3.56: AI-powered booking assistant 59 • Cart page : This page shows the items that customer put in cart with its price and quantity details And checkout leads to order finalization Figure 3.57: cart page 60 • Checkout Process : first the user choose order type: Pickup or Delivery, For delivery: Enter delivery address. Then click place order to complete the payment Figure 3.58 : Checkout Process 61 • Order payment : Payment form is shown using Stripe integration, then after the payment confirmation “Order placed successfully!” message is shown . Figure 3.59 : Order payment 62 • Empty Cart Screen: This screen shows the "My Cart" screen after the user has placed an order. Figure 3.60 : Empty Cart Screen 63 • Customer Order Activity Screen: This is the screen where the user can track the status of placed orders, it gives the customer real-time updates on order progress and history. Note :"Rating available after completion" meaning that the user can rate only after order is completed Figure 3.61: Customer Order Activity Screen 64 • Customer and Truck Owner Order Confirmation: At left (Truck Owner Dashboard): A notification appears saying “Lemar Customer placed a new order”. At Right (Customer Cart): when the user placed the order successfully . Figure 3.62: Customer and Truck Owner Order Confirmation 65 • Customer notification about Order status: The customer got a notification when the truck owner change the status of the order . Figure 3.63: Customer notification about Order status 66 • Customer notification order ready: Customer notification when the order is ready Figure 3.64: Customer notification order ready • Rate Trucks & items : After the order is finished the customer could give a review and rate the truck and the item and write a comment . Figure 3.65 : Rate Trucks & items 67 • The review submitted from owner side : The review submitted is shown for the owner like this Figure 3.66 The review submitted from owner side 68 • Chatbot assistant : The Chatbot is an AI-powered assistant integrated into the customer side of the Food Trucks app to help users quickly access information using natural language. It supports smart intent detection— such as viewing menus, finding available trucks, or checking past orders—and dynamically fetches real-time data from the backend. The chatbot understands filters like city, cuisine, date, and dietary preferences (vegan/spicy), then sends a structured prompt to Google’s Gemini API to generate helpful, human-like responses. The chatbot enhances user experience through friendly interactions, fast suggestions, and personalized food recommendations. Figure 3.67 : Chatbot assistant 69 • Search with ai bar : The search bar in the Food Trucks app is designed to provide a fast, smart, and user-friendly way for customers to discover meals and food trucks. Unlike a traditional keyword search, this one is powered by an AI-enhanced backend that understands natural language input. When a user types a phrase like “vegan spicy burgers” or “healthy desserts in Ramallah,” the app sends that query to a lightweight service connected to Google’s Gemini API. The AI then extracts relevant keywords— such as “vegan”, “spicy”, and “burger”—which are used to intelligently filter available trucks and their menus. This makes the search experience far more accurate and helpful, even if the user types a full sentence or uses different words. The result is a smooth, easy, and powerful way to explore food options in the app. Figure 3.68 : Search with ai bar 70 • Event reminder notification : This is a notification that comes for both customer and truck owner 24 hours before a booked event begins . Figure 3.69 : Event reminder notification 71 3.3.5 Admin Panel Screens: • Admin Login Page : Log in page for admin using email and password. Figure 3.70 : Admin Login Page 72 • Admin Dashboard Overview: The admin dashboard shows a quick summary of platform metrics, including total orders, trucks, users, and bookings. It includes visual charts showing orders by truck , order type breakdown , new users over time and orders by city . Figure 3.71 : Admin Dashboard Overview 73 • User Management Screen: Admins can view a list of all users, including their role, contact details, and registration date. And Can delete , add user and search about a user . Figure 3.72: User Management Screen • Truck Management Screen: Admin can manage all trucks from this screen, including viewing detailed information about it. Trucks can be edited or deleted directly from this screen. Figure 3.73: Truck Management Screen 74 • Booking Calendar (Admin View): Here the admin could see and search about all the booking in a calendar view can filter them per( month ,week,day , agenda) and moving from each of them using (back,next )buttons . Figure 3.74: month view at admin booking calendar This screen shows a day view calendar at admin booking calendar Figure 3.75 : Day view at admin booking calendar 75 This screen shows an agenda view at admin booking calendar Figure 3.76 : Agenda view at admin booking calendar This screen shows a week view at admin booking calendar Figure 3.77 : Week view at admin booking calendar 76 • Customer Reviews (Admin View): Admin Menu item reviews : This screen shows customer feedback on menu items, including ratings, comments, and sentiment tags (positive, neutral, negative). Admins can filter and delete reviews if necessary. Figure 3.78 : admin Menu item reviews 77 Truck reviews : This screen shows the admin the truck reviews by customer Figure 3.79 : admin Truck reviews • Problem Reports Panel: Shows user-submitted issues categorized by type (e.g., order issue, menu problem). Each report includes the subject, description, status (Pending, Resolved), and submission timestamp. Figure 3.80 : Problem Reports Panel 78 • Add New User Form (Empty State): This form allows the admin to manually create new users by filling in details such as name, email, phone, city, and role. Figure 3.81: Add New User Form (Empty State) 79 • Add New User Form (Filled Example): This screen shows a completed user creation form. Once submitted, the system saves the new user and adds them to the platform. Figure 3.82 : Add New User Form (Filled Example) • Email Verification for Admin-Created User: This is the verification email sent to the newly added user. The link confirms the email address and finishes the registration process. Figure 3.83 : Email Verification for Admin-Created User 80 • Confirmation Popup – New User Added : Displays a confirmation message that appears once a new user is successfully added by the admin. Figure 3.84 : Confirmation Popup – New User Added • Add New Truck Modal : These 2 screenshots shows how admin can add a truck with its full info 81 Figure 3.85 : Add New Truck Modal • Confirmation Popup for adding truck : Then it will be shown in truck list Figure 3.86 : Confirmation Popup for adding truck 82 Here is the new truck added : Figure 3.87 : new truck added • Order Status Editing Modal : Admin can edit the status of any orders Figure 3.88: Order Status Editing Modal 83 • Admin notification : Admin got a notification when a customer report a problem , then the admin go to reports page to solve it and change its status Figure 3.89 : Admin notification • Problem Reports Table (With Status Dropdown) : Here the admin can change the status of any report after working on it Figure 3.90 : Problem Reports Table (With Status Dropdown) 84 • Data report screen ( orders and event booking statistics by period ): This screen shows a data report of the orders and event booking in the system per period of time (day,week,month) and the total revenue per each , the admin could save the report as a excel sheet for more deep analysis Figure 3.91 : Data report screen ( orders and event booking statistics by period ) 85 • Data report (event booking statistics by truck ): This shows a data report of the count of events booking in the system by each truck and the total revenue per each one Figure 3.92 : Data report screen (event booking statistics by truck ) • Data report (report submitted per user ): This report shows the number of report submitted by each user Figure 3.93 : Data report screen (report submitted per user) 86 • Data report (average customer Ratings per trucks): This report shows the average customer rating per each truck Figure 3.94 : Data report screen (average customer Ratings per trucks) • Excel sheet report example : That’s an example of the excel sheet of each report Figure 3.95 : Excel sheet report example 88 Chapter 4 Results and Discussion 4.1 Results The Food Truck Booking Platform was developed to improve how customers interact with mobile food vendors while empowering truck owners and admins with digital tools for streamlined operations. This chapter outlines the results achieved, how they align with the project’s goals, and the challenges encountered during development. 4.1 Results • Improved User Accessibility: The user-friendly mobile application was developed in Flutter for Android and offered a seamless experience to both customers and truck owners. Prospects could easily look through trucks, book and find an update with the least effort. Clients were able to easily control availability and orders from their control panel. • Efficient Booking and Order Management: The back end is created using Node. js and MongoDB, which facilitated seamless live communication and accepting orders. Businesses knew the moment they had new bookings and orders from their truck owners, so they could respond instantly and get organized. • Real-Time Notification System: The integration of Socket. IO and Flutter Local Notifications which makes it possible for users to get notified instantaneously on booking confirmations, order change status or within admin announcements while the app is in running state or even it is in background. 89 • Scalability and Performance: System testing also validated the app's efficiency with respect to multiple simultaneous end users. Fast retrieval of data was enabled by MongoDB, and the notification system by itself was built to be highly scalable under concurrent user activity. • Admin Oversight and Control: In the system, we built an admin panel (admin dashboard) which is built using React which served as the eyes for the admins into the user, trucks booking, and problem reports. It also facilitated the response to incidents in a timely manner, and enhanced the data centric management of the platform. 4.2 Discussion • Challenges and Solutions: 1. Real-Time Communication: To provide instantaneous updates and notifications across several user types. This was solved by creating a reliable socket based system with Socket. IO with distinct treatments for customers, truck owners, and admins. 2. Notification Reliability: The application needed to push notification even when its running in background or closed, so I used Flutter Local Notifications instead. This gave user-awareness a little buffer between server- side events. 3. File Management for Trucks: To allow FoodTrucks to upload logos and menus we needed secure file handling. The solution to this was utilising Multer for uploads and Cloudinary for responsive Image hosting and delivery. 4. Data Validation and Security: the sensitive operations in the application like bookings and account access required a strict data validation using Joi and secure authentication via JWT. These tools ensure the robust user verification also prevented unauthorized access. 90 • Objective Alignment: FoodTrucks app successfully met its objectives by letting customers connect with their nearby food trucks using real-time data, facilitating the process of event-based bookings, and offering truck owners an operational dashboard to manage their availability and orders effectively. Additionally, the system provided administrators with comprehensive control over user management and problem reports, ensuring smooth platform oversight. • Future Enhancements: To a further improve for FoodTrucks platform, we plan to add features that increase user engagement and improve system management. One idea is to introduce a customer loyalty or rewards program to encourage booking again and again and rewards for active users. On the admin side, future updates could include automated reporting tools to make it easier to monitor platform activity and performance. Since we have already added a reports section that shows daily, weekly, and monthly statistics with Excel export, we plan to expand these capabilities further. Adding fraud detection features can also help us to improve platform safety. 91 Chapter 5 Conclusions and Recommendation 5.1 Conclusion FoodTrucks Platform is a modern, scalable, and efficient solution that is designed to serve both customers and food truck owners. Built with technologies like : Flutter, Node.js, MongoDB, and Socket.IO, the platform offers real-time local notifications and a seamless user experience. The system contains two interfaces: a mobile app for customers and truck owners, and a web dashboard for administrators. to ensure that each user has the appropriate tools to manage bookings, orders, and other app operations efficiently. The FoodTrucks platform successfully achieved its goal of connecting customers with mobile food truck owners , enhancing the event booking process, and simplifies the operations for food entrepreneurs. 5.2 Recommendations To enhance the adoption of the FoodTrucks platform and ensure its long-term impact, several strategies are recommended. Firstly, implementing user education tools, such as guided tutorials or in-app educational programmes, can help new users quickly understand the features and functions of the application. Additionally, partnering with local municipalities, event organisers, and culinary communities can expand the platform's reach and build trust in the targeted areas. Furthermore, expanding core features implementing a customer loyalty system could increase user engagement and open new revenue streams. 5.3 Future Work Future enhancements for our FoodTrucks platform will focus on add new features to improve user experience, increase system transparency, and help food truck operators work more efficiently. One important update will be the addition of a delivery role inside the system. This will allow delivery drivers to be part of the system , instead of being in an external delivery services. The delivery role will work with a real time map tracking feature, so the customers can see exactly where their order is on the map as it is being delivered. We also plan to introduce a customer loyalty and rewards program to encourage users to book more events and build a long-term relationships with food trucks. Together, these key improvements will make the platform more reliable , and will enhance the end-to-end user experience for both customers and food truck operators. 92 Chapter 6 Refernces The following references were consulted and utilized during the development of the Food Trucks Platform:- • OurPlatform API Documentation: https://swgp22.postman.co/workspace/d5924c52-f377-4001-9fec- 174d17148d6d • OurPlatform Repository GitHub: https://github.com/Leema02/Food_Trucks.git • Flutter : https://flutter.dev/ • React: https://react.dev/ • Node Js : https://nodejs.org/en/docs • MongDB : https://www.mongodb.com • Mongoose : https://mongoosejs.com • Express.Js : https://expressjs.com • JWT (JSON Web Token) : https://jwt.io/ • Joi : https://joi.dev • Nodemailer : https://nodemailer.com • Cloudinary: https://cloudinary.com • Multer: https://github.com/expressjs/multer • VSCode: https://code.visualstudio.com/ • StreetFoodFinder : https://streetfoodfinder.com • Truckster : https://gotruckster.com • Haat Delivery : https://haat.ps https://swgp22.postman.co/workspace/d5924c52-f377-4001-9fec-174d17148d6d https://swgp22.postman.co/workspace/d5924c52-f377-4001-9fec-174d17148d6d https://github.com/Leema02/Food_Trucks.git https://flutter.dev/ https://react.dev/ https://react.dev/ https://nodejs.org/en/docs https://www.mongodb.com/ https://www.mongodb.com/ https://mongoosejs.com/ https://mongoosejs.com/ https://expressjs.com/ https://expressjs.com/ https://jwt.io/ https://jwt.io/ https://joi.dev/ https://nodemailer.com/ https://nodemailer.com/ https://cloudinary.com/ https://cloudinary.com/ https://github.com/expressjs/multer https://github.com/expressjs/multer https://code.visualstudio.com/ https://code.visualstudio.com/ https://streetfoodfinder.com/ https://gotruckster.com/ https://haat.ps/