An-najah national University Faculty of Engineering & Information Technology Department of Computer Engineering SEROVIBE Prepared By: Leen Hodali Aya Qubbaj Supervised By: Dr. Haya Samaana Presented in partial fulfillment of the requirements for a Bachelor’s degree in Computer Engineering. June, 2024 Acknowledgement In the name of Allah, the Most Merciful, we are thankful for the blessings that guided us to complete this project. We express deep gratitude to the Almighty for granting us the strength, skills, and understanding needed for this achievement. We sincerely appreci- ate our supervisor, Dr. Haya Sammana, whose steady guidance and unwavering support shaped this project’s path. His expertise led us to a successful outcome we’re proud to present. Thanks to the esteemed doctors of the Computer Engineering Department for their valuable insights that enriched our journey. To our families and friends, your unwa- vering presence and support strengthened us at every step. Your belief in us means a lot. May our efforts and gained knowledge benefit our community and humanity. Aya,Leen I Disclaimer This report was authored by students Aya Qubbaj and Leen Hodali from the Computer Engineering Department at An-Najah National University. While every effort has been made to ensure accuracy, there may be grammatical and content errors. An-Najah Na- tional University holds no responsibility for any inaccuracies present in this report. Ad- ditionally, the university is not liable for any unintended use of this report for purposes other than its original intent. II Table of Contents Acknowledgement I Disclaimer II Table of Contents III List of Figures V Abstract VII 1 Introduction 1 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Project Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 Project Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.4 Report Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Constraints & Earlier course work 3 2.1 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Earlier coursework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3 Literature Review 5 4 Methodology 6 4.1 Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1.1 Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1.2 Server Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1.3 Chat and Notifications . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.1.4 Recommendation System . . . . . . . . . . . . . . . . . . . . . . . . 7 4.2 System Features Implementation . . . . . . . . . . . . . . . . . . . . . . . 8 III 4.2.1 common features: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.2.2 store Interface: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.2.3 trader Interface: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2.4 user Interface: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.2.5 delivery Interface: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.6 admin Interface: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.3 System Features Implementation (website): . . . . . . . . . . . . . . . . . . 27 4.3.1 trader features: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.3.2 user features: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3.3 Admin features: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5 Results and Discussion 38 6 Conclusion and Future Work 39 6.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 References 42 IV List of Figures 4.1 Main pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.2 User Login and Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.3 chat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.4 profile and edit profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.5 Special Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.6 Special Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.7 Home page for store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.8 notification for store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.9 Add product and offers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.10 Tracking orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.11 Wholesale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.12 profits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.13 Home page for trader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.14 notification for trader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.15 Add product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.16 Tracking orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.17 profits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.18 Home page for users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.19 All stores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.20 Menu for the stores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.21 Offers and notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.22 Dessert categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.23 Dessert categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.24 Purchasing raw materials . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.25 Shopping cart and card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.26 Tracking orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.27 Social media section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 V 4.28 List of recipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.29 Main pages for delivery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.30 admin page home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.31 admin features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.32 profits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.33 add recipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.34 trader home page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.35 add product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.36 edit profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.37 tracking order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.38 chat system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.39 profits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.40 home page for user . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.41 purchase raw materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.42 tracking orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.43 chat system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.44 notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.45 admin home page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.46 add recipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.47 distribute users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.48 profits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 VI Abstract Our team has developed an innovative mobile application that combines the dynamism of social media with the functionality of an online marketplace. It enables seamless in- teraction among users, allowing them to share culinary knowledge, post personal dessert creations, and handle inquiries efficiently. This platform uniquely integrates the purchasing of desserts with the discovery of in- novative dessert recipes, bridging a market gap by enabling users to both procure and explore new confections. With advanced search and filtering functionalities, users can navigate through a variety of recipes tailored to specific dietary needs or food allergies. The first user assumes the role of an administrator responsible for handling adminis- trative tasks such as activating accounts for store owners and raw material suppliers. Administrators have access to a suite of tools for monitoring profits, identifying the best- selling products in each store, and gathering statistics on the number of registered users in the application by province. Store owners and raw material suppliers form another crucial group. They can add available products to the platform and benefit from a messaging system that facilitates communication among themselves and with users. They receive notifications for special requests and can monitor profits and their best-selling products, benefiting from dynamic discount features. Application beneficiary users utilize the application to purchase and explore new desserts. They enjoy the convenience of direct communication with store owners and suppliers for any inquiries or assistance needed, enhancing their shopping experience. Lastly, delivery drivers play a vital role. They receive all orders, verify successful de- liveries, and communicate with store owners and users to inform them about the order status and tracking. This holistic approach integrates social media engagement, recipe sharing, and dessert pro- curement, simplifying the culinary exploration process and enriching the user experience by fostering a vibrant community of like-minded individuals passionate about desserts. This pioneering fusion of social media elements with an integrated online marketplace caters to dessert enthusiasts seeking culinary inspiration and convenient ingredient pro- curement, thereby enhancing both accessibility and user engagement. VII Chapter 1 Introduction 1.1 Motivation The motivation behind this project stems from the need to bridge a significant gap in the market by integrating the purchasing of desserts with the discovery of innovative dessert recipes. This integration allows users to both procure and explore new confections conveniently. With advanced search and filtering functionalities, users can easily navigate through a variety of recipes designed to meet specific dietary needs or food allergies. Additionally, by using the app, shoppers can transform their smartphones into personal shopping assistants, enabling them to effortlessly navigate stores, stay updated on the latest offers, and benefit from the convenience of having purchases delivered directly to their doorstep. 1.2 Project Objectives Our program includes four different interface types: one for consumers, one for drivers, one for stores and the last one for traders. The goal of this project is to simplify the process of exploring recipes and enhance the shopping experience through a platform that supports social sharing and the exchange of recipes and dessert purchases. The application aims to empower users to make informed decisions, save time, and enjoy a personalized shopping experience. 1.3 Project Scope Our program offers a flexible solution that meets the needs of every individual and pro- vides them with choices in their purchasing. The software encourages users to explore a broader range of options and make decisions that best suit their needs and tastes, offering functionalities such as account activation, profit monitoring, instant communication, and order tracking, effectively addressing the needs of each user group. 1.4 Report Organization • Chapter One: Provides an overview of the objectives and importance of this project. • Chapter Two: Describes the constraints and standards. 1 • Chapter Three: Contains a literature review. • Chapter Four: Discusses the methodology followed for the implementation of the project. • Chapter Five: Presents the results and discussions. • Chapter Six: Summarizes the report and provides information about future work. 2 Chapter 2 Constraints & Earlier course work 2.1 Constraints Limited time constraints prevented us from incorporating numerous additional ideas into our app. Despite the abundance of potential features, we had to prioritize and focus on the most essential ones to meet our project deadlines . Additionally, we aimed to make our application accessible on both Android and web devices, prompting us to leverage cross-platform tools for development. This decision introduced its own set of complexi- ties, necessitating a strategic approach to ensure optimal performance and user experience across different platforms. Another constraint we grappled with was the integration of real-time chat functional- ity. While our application relied on a Mongo database, a non- relational database that lacked inherent support for real-time chat data, we addressed this limitation by seam- lessly incorporating Firebase into our system. This strategic integration allowed us to augment our application with robust real-time chat features, enhancing user interaction and engagement. Drawing from our earlier coursework experiences, we applied methods learned from the Advanced Software course, which proved instrumental in establishing a Node.js server. This server played a pivotal role in facilitating seamless communication between our ap- plication and backend processes through HTTP requests. The knowledge gained from this course not only contributed to the core functionality of our project but also played a crucial role in adhering to software engineering standards. It guided us in writing well-organized and clean code, ensuring a standardized approach that aligns with best practices in software development. In summary, while our project faced challenges related to implementing advanced features, cross-platform compatibility, and real-time functionalities, our strategic problem-solving, research efforts, and the application of coursework knowledge enabled us to overcome these limitations and deliver a robust and standardized solution. 3 2.2 Earlier coursework We have acquired our knowledge of programming languages through various courses we have taken at the university, including web development ,database , software and advanced software courses, as well as online courses. Additionally, we have learned proper coding practices through the training we received in conjunction with the project. 2.3 Standards • frontend: – user(admin,customer,store,trader,delivery) interface: flutter • backend: – user(admin,customer,store,trader,delivery) interface: nodejs 4 Chapter 3 Literature Review The integration of digital technologies in the food and dessert industry has become in- creasingly prevalent, driven by the evolving consumer demand for convenience, diversity, and quality in their culinary experiences. Several studies have explored the impact of technology on enhancing consumer shopping experiences and streamlining supply chain operations within the dessert sector. Among the applications emerging in this field, "Haat" and "Wheels" apps stand out, which offer services displaying various eateries and what each store offers from food menus and the ability to order food. These applications have been well received due to their flexibil- ity and their ability to meet consumer needs in easily finding what they want to purchase from different restaurants. The main idea for developing our application, which focuses solely on desserts, was in- spired by apps like "Haat" and "Wheels" However, our application distinguishes itself by specializing only in desserts, which enhances the user experience for those looking to explore and select from the best desserts. One significant innovation in our application is the integration of social media elements with the provision of dessert recipes, which allows for greater interaction and exchange of experiences and opinions among users, marking a unique step towards improving their experiences. Research indicates that such technological integration can significantly enhance customer satisfaction and loyalty by providing a pleasant and convenient shopping experience. At- tention to detail and understanding customer needs and desires can lead to increased efficiency and success in the modern market driven by technology. 5 Chapter 4 Methodology 4.1 Technologies The development of mobile and web applications requires a diverse set of tools and pro- gramming languages to construct and improve the project. In this chapter, we will detail the technologies and tools that have been employed in the development of our project. 4.1.1 Database To handle the storage and management of application data with a focus on flexibility and scalability, we chose a NoSQL database approach, specifically using MongoDB. Mon- goDB is a popular open-source, document-oriented database that matches the dynamic requirements of our application data, enabling the storage and retrieval of information in a format similar to JSON. Our selection of MongoDB was based on its proficiency in processing large volumes of unstructured data efficiently, which is ideal for the changing data requirements of our application. MongoDB also supports dynamic schemas and can manage relationships between data entities, offering the adaptability needed as our ap- plication expands and the complexity of data increases. For more effective management of our MongoDB database, we employed MongoDB Compass, which provides an intuitive GUI for user interactions and efficient data monitoring. Furthermore, we incorporated the Mongoose library for Node.js to improve our database interactions, offering a schema- based approach to data modeling. This integration of MongoDB and its complementary tools supports our objective to sustain a responsive and flexible database infrastructure for our application. 4.1.2 Server Side In handling the server-side operations of our application, we utilized the capabilities of Node.js, a server-side JavaScript runtime environment, in conjunction with an online MongoDB server. Node.js was an ideal selection for our requirements, providing a non- blocking, event-driven architecture that efficiently manages asynchronous tasks. 6 4.1.3 Chat and Notifications A key feature of our application is the real-time chat functionality, which enables cus- tomers to directly interact with the store for any inquiries. To effectively implement this feature, we integrated the Firebase platform with Flutter seamlessly. Firebase serves as a Backend-as-a-Service (BaaS) platform, offering a comprehensive suite of backend services including a real-time database, cloud storage, and authentication services. By leveraging Flutter’s compatibility and support, we incorporated several Firebase features to enhance our application’s performance. In addition to the real-time chat, we adopted a different approach for the notification system; we implemented it locally. This local setup provides a reliable and cost-effective method for managing notifications independently from external services, ensuring smooth and responsive communication within our application. 4.1.4 Recommendation System our application, we utilize an advanced recommendation system based on users’ previous purchases. This system displays stores that offer the desserts frequently bought by the user. This is achieved through the "Selected Type" feature, which allows for sorting and displaying desserts and stores based on user preferences . This method enables users to have a fully personalized and efficient shopping experience by showing them products and stores that align with their actual interests and needs. The recommendation system also enhances the overall user experience by providing useful and accurate suggestions, making it easier and faster to find preferred products. 7 4.2 System Features Implementation 4.2.1 common features: Figure 4.1: Main pages Customers can create accounts and log in immediately, while stores , traders and drivers must wait for an confirmation before they can log in. Figure 4.2: User Login and Register 8 All our users can chat in the system by searching the email of store or driver or another customer Figure 4.3: chat This screen is displaying their private information, and it also allows users to edit their personal details. Figure 4.4: profile and edit profile 9 In our application, the special orders section has been meticulously designed to facilitate clear and organized transaction management for both stores and users. When a user places a special order, they can choose from available dessert categories and select a store that meets their needs, entering all necessary details such as quantity, number of attendees, and the occasion into the system. Initially, these orders are categorized under "Pending Orders," where the store can either approve or reject them based on their feasibility. Once the store approves an order, it moves to the "Orders Awaiting Confirmation" sec- tion. The user then has a 24-hour window to confirm or cancel the order. If confirmed by the user, the order progresses to the "Approved Orders" category, indicating that it has been finalized and agreed upon by both parties. To support decision-making, the user is reminded every six hours to confirm or reject the order, ensuring this task is not overlooked. Similarly, once the user confirms or rejects the order, the store is immediately notified of the decision, maintaining seamless com- munication between the user and the store. This structured approach not only enhances the efficiency of the ordering process but also ensures that both parties are consistently informed and engaged throughout the transaction. Figure 4.5: Special Order 10 Figure 4.6: Special Order 11 4.2.2 store Interface: Home page for the store, where they can view all sweets or just their own sweets, and search for sweets. Additionally, the dessert categories are divided into Asian, Western, and Arabic desserts, allowing the seller to display all varieties. The store also has the capability to edit or delete their specific product listings. Figure 4.7: Home page for store when a user places a special order from the store, the store receives a notification that a special request has been made by the user. Figure 4.8: notification for store 12 The store has the capability to add desserts to the display for purchase by entering all the necessary details about the items they wish to offer. Additionally, there is an option to add special promotions with prices tailored to suit these offers. This feature allows stores to manage their product listings effectively and attract customers with competitive pricing and exclusive deals. Figure 4.9: Add product and offers There will be interactions between the store and delivery personnel where the store can track the status of an order. The possible statuses for an order include Pending, which means the order has been placed but not yet processed; Taken, indicating that the delivery personnel have picked up the order; and Delivered, which signals that the order has successfully reached the customer. Upon successful delivery, the store is notified that the order has been delivered successfully. Figure 4.10: Tracking orders 13 The store is able to procure necessary raw materials from a supplier, with a pricing structure that incentivizes bulk purchases. As the quantity of materials ordered increases, the store benefits from progressively greater discounts. This strategic purchasing model not only ensures cost efficiency but also enhances the store’s ability to negotiate more favorable terms, optimizing overall procurement costs as purchase volumes escalate. Figure 4.11: Wholesale The store has the ability to view sales metrics by month and year. Additionally, the system highlights months that coincide with specific recurring events, allowing the store to see which product categories sell best during these periods. This feature enables the store to strategically analyze sales trends and prepare inventory accordingly, optimizing sales opportunities tied to seasonal or event-driven demand. Figure 4.12: profits 14 4.2.3 trader Interface: Home page for the trader, where they can view all products or just their own products, and search for products. Additionally, the products categories are divided into Interna- tional,National and All, allowing the trader to display all varieties. The trader also has the capability to edit or delete their specific product listings. Figure 4.13: Home page for trader Our system dynamically notifies the trader about product statuses to manage inventory efficiently. Products nearing expiration within 10 days are automatically moved to the "Special Offers" section for prompt clearance, and the trader is notified of this shift. Furthermore, a notification is promptly sent if a product’s quantity falls to two units or less, urging the trader to restock or manage the low inventory. This proactive strategy helps maintain optimal stock levels and prevents shortages, ensuring the trader meets customer demands effectively. Figure 4.14: notification for trader 15 The trader has the capability to add product to the display for purchase by entering all the necessary details about the items they wish to offer. Figure 4.15: Add product There will be interactions between the trader and delivery personnel where the trader can track the status of an order. The possible statuses for an order include Pending, which means the order has been placed but not yet processed; Taken, indicating that the delivery personnel have picked up the order; and Delivered, which signals that the order has successfully reached the customer. Upon successful delivery, the trader is notified that the order has been delivered successfully. Figure 4.16: Tracking orders 16 The trader has the ability to view sales metrics by month and year. Additionally, the system highlights months that coincide with specific recurring events, allowing the trader to see which product categories sell best during these periods. This feature enables the trader to strategically analyze sales trends and prepare inventory accordingly, optimizing sales opportunities tied to seasonal or event-driven demand. Figure 4.17: profits 17 4.2.4 user Interface: The home page for users features several sections to enhance their shopping experience. Initially, the home page displays segments for offers available from stores, as well as dessert categories categorized into Arabic desserts, Asian desserts, and Western desserts. Following this, the most popular stores are showcased based on the highest number of purchases. Additionally, there is a "Stores You Might Like" section, generated by the recommendation system, which suggests stores that may interest the user. The "New Stores" section highlights the latest three stores that have recently joined the application. By clicking on "View More," users can see a comprehensive list of all the stores that have joined the application. Figure 4.18: Home page for users After clicking on "View More," users are presented with a comprehensive list of all the stores that have joined the application. This list can be filtered in several ways: by the date the stores joined the application, allowing users to see the most recent or oldest stores; by alphabetical order; or by selecting a specific region to view only the stores available in that area. This advanced filtering functionality enables users to efficiently find and explore stores based on their preferences and location, thereby enhancing their overall shopping experience. Figure 4.19: All stores 18 After selecting a store of interest, the menu is displayed in the following order: first, the available offers from the store; next, the new items section, showcasing the two most recently added products; and finally, the complete list of items, displaying all the products offered by the store. This structured layout allows users to easily navigate through the store’s offerings and quickly find the items they are interested in. Figure 4.20: Menu for the stores When users enter the offers section on the home page, they see all available dessert offers from various restaurants. This section also dynamically includes raw material products with 10 days or less until expiration, ensuring timely clearance and profit for merchants. This comprehensive view helps users access fresh products and promotions. The notifications page informs users about their interactions with restaurants. Users receive notifications if a restaurant approves or rejects a special order and when new offers are added, ensuring they stay updated on order statuses and new offers. Figure 4.21: Offers and notification 19 Here, we showcase a diverse selection of desserts categorized under Western, Asian, and Arabic delights. To enhance your browsing experience, we provide an advanced filtering system that allows users to sort items by price, the newest and oldest additions, and alphabetical order. This comprehensive system ensures that users can effortlessly find desserts that align with their personal preferences and dietary requirements, creating a seamless and personalized shopping experience for everyone. Figure 4.22: Dessert categories We offer a dedicated list of desserts tailored for individuals with specific dietary needs, including gluten-free desserts, lactose-free desserts, diet-friendly options, and desserts spe- cially crafted for diabetics. To enhance your browsing experience, we provide an advanced filtering system that allows users to sort these items by price, the newest and oldest ad- ditions, and alphabetical order. This ensures that you can effortlessly find desserts that align with your dietary requirements and preferences. Figure 4.23: Dessert categories 20 Users can purchase necessary raw materials, categorized into national and international products. A search function is also available to help users easily find specific products. Figure 4.24: Purchasing raw materials There is a shopping cart for adding desired products. Users can enter card information for payment, with options for cash or card. Figure 4.25: Shopping cart and card Users can track their order status. Figure 4.26: Tracking orders 21 We have a dedicated social media section within our application that functions similarly to a miniature version of Instagram. In this section, users can publish their own posts, sharing images, and text updates. They also have the ability to interact with posts from other users by liking or commenting on them, fostering a vibrant community of dessert enthusiasts. Furthermore, our social media section includes a "Save" feature, enabling users to book- mark posts they find interesting or inspiring. These saved posts are stored in a person- alized collection, allowing users to easily revisit and enjoy their favorite content at any time. This combination of interactive and personalized features creates an engaging and dynamic social media experience within our application. Figure 4.27: Social media section 22 The application also features a diverse collection of dessert recipes, meticulously catego- rized to enhance user experience. These categories include delightful Birthday Desserts, perfect for celebrating special moments, and Ramadan Desserts, designed to add a touch of sweetness to the holy month. For festive occasions, our Holiday Desserts section offers a variety of treats that are sure to bring joy to any celebration. We also have a special section dedicated to Desserts to Make with Kids, encouraging family bonding through fun and simple recipes. For those with an adventurous palate, the International Cuisine Desserts category presents an array of global flavors and unique creations. Within each category, users will find numerous detailed recipes, each providing step-by- step preparation instructions and a comprehensive list of necessary ingredients. To further enhance the user experience, the application includes a robust search function, allowing users to quickly and easily find the exact recipe they desire. This thoughtful organization and attention to detail ensure that every user can discover and create the perfect dessert for any occasion. Figure 4.28: List of recipes 23 4.2.5 delivery Interface: The workflow for delivery personnel is structured to ensure efficiency and transparency. The process begins with the delivery person selecting the province, which then displays a list of available stores in that area. Upon selecting a store, all related orders are revealed, allowing the delivery person to choose a specific order and click on "Receive Order." The order status tracking system includes several stages: "Order Received," where the delivery person picks up the order from the store; "Order in Transit," indicating that the delivery person is on the way to deliver the order; and "Order Delivered," confirming that the order has been successfully delivered to the customer. Once the delivery is completed, both the store and the merchant are notified of the successful delivery. Customers, merchants, and store managers can track the order status in real-time, ensur- ing they are always informed. Additionally, the delivery person can communicate directly with the customer upon arrival to facilitate a smooth handover of the order. This com- prehensive system enhances the overall delivery experience, providing a professional and organized process for all parties involved.Moreover, the delivery person has the ability to purchase from stores as well as buy raw traders, adding further flexibility and convenience to their role. Figure 4.29: Main pages for delivery 24 4.2.6 admin Interface: The Admin Page starts with a welcoming section. On the side, there is a menu displaying all the admin privileges. These include managing Orders, viewing All Users, and analyzing User Distribution. Additionally, the admin can access Profit Distribution, which details the profits for each store, supplier, and delivery personnel. Finally, there is an option to Add Recipes, allowing the admin to introduce new recipes to the platform. Figure 4.30: admin page home Figure 4.31: admin features 25 administrators can monitor the profit percentages and sales of each store, seller, and delivery personnel, as well as identify the most purchased products in each store. Figure 4.32: profits Additionally, he can adding and updating recipes allows users to stay informed and up- to-date with the latest recipes. Figure 4.33: add recipes 26 4.3 System Features Implementation (website): 4.3.1 trader features: Home page for the trader to view all products or their own products, search for products, and categorize them into International, National, and All, with the ability to edit or delete their specific listings. Figure 4.34: trader home page 27 Capability to add products for display by entering all necessary details about the items they wish to offer, as well as the ability to edit and delete these products, and to update their personal profile information. Figure 4.35: add product Figure 4.36: edit profile 28 Interaction between the trader and delivery personnel to track the status of orders, in- cluding Pending, Taken, and Delivered, with a notification to the trader upon successful delivery. Additionally, a chat system enables the trader to communicate with anyone. Figure 4.37: tracking order Figure 4.38: chat system 29 The trader has the ability to view sales metrics by month and year. Additionally, the system highlights months that coincide with specific recurring events, allowing the trader to see which product categories sell best during these periods. This feature enables the trader to strategically analyze sales trends and prepare inventory accordingly, optimizing sales opportunities tied to seasonal or event-driven demand. Figure 4.39: profits 30 4.3.2 user features: The home page for users features sections for offers from stores and dessert categories: Arabic, Asian, and Western. Popular stores are showcased based on the highest number of purchases. A "Stores You Might Like" section, generated by the recommendation system, suggests stores of interest. The "New Stores" section highlights the latest three stores that have recently joined the application. Figure 4.40: home page for user 31 Users can purchase raw materials, categorized into national and international products, with a search function to find specific items. Figure 4.41: purchase raw materials 32 Users can track the status of their orders, with an additional chat and notification system to stay updated on new offers. Figure 4.42: tracking orders Figure 4.43: chat system 33 Figure 4.44: notification 34 4.3.3 Admin features: The admin can manage the stores, traders, and delivery personnel who join the applica- tion, approving or rejecting them. The admin can also add recipes. Figure 4.45: admin home page 35 Figure 4.46: add recipes The admin can also view information about all users in the system, as well as distribute users based on their location. Additionally, the admin can view the profits and sales percentages of traders and stores. Figure 4.47: distribute users 36 Figure 4.48: profits 37 Chapter 5 Results and Discussion The application, structured with a client-server architecture, serves a variety of user roles such as customers, stores, traders, delivery personnel and administrators. It utilizes Mon- goDB for a flexible and scalable NoSQL database and Node.js for server-side management. The UI, developed using Flutter, ensures a consistent experience across diverse platforms. Firebase enhances user interaction with real-time chat, authentication, and notifications. The application’s architecture facilitates efficient communication between clients and servers, providing a responsive interface for various functions. User-specific interfaces and controls are customized for customers, supermarkets, delivery personnel, and administra- tors, ensuring a personalized and enriched experience within the application ecosystem. Administrators in the application play a vital administrative role that includes activating accounts for store owners and raw material suppliers, with access to tools for monitoring profits and identifying the best-selling products in each store, as well as benefiting from detailed statistics on the number of registered users in the application by province, enhanc- ing their ability to manage and improve platform performance. On the other hand, store owners and raw material suppliers form another crucial group; they can add products to the platform and benefit from a messaging system that facilitates direct communication with each other and with customers, receiving alerts for special orders, monitoring profits, and taking advantage of dynamic discounts to enhance the selling and buying experience. Additionally, the application’s end-users utilize the system to buy and explore new sweets, enjoying the convenience of direct communication with store owners and suppliers for any inquiries or assistance they might need, thus enhancing their shopping experience and making it more effective and enjoyable. 38 Chapter 6 Conclusion and Future Work 6.1 Conclusion The application employs a client-server architecture, designed to cater to various user roles, providing a comprehensive and adaptable solution for enhancing user experience across customer interactions, store and trader management, delivery logistics, and ad- ministrative control. Leveraging technologies such as MongoDB, Node.js, Flutter, and Firebase, the app creates a fluid and responsive ecosystem. The addition of recommen- dation systems boosts user engagement and satisfaction. Its dynamic and adaptive design ensures a uniform experience across different platforms, offering user-friendly interfaces tailored to each role. Firebase’s real-time chat and au- thentication features enhance communication and interaction within the application. 6.2 Future Work features for the future development of the SEROVIVE project: • Incorporating Advanced AI: Introducing sophisticated artificial intelligence models to refine the app’s recommendation engines, personalization processes, and decision- support systems. • Improving Accessibility: Concentrating on the development of accessibility features to make the app universally usable and accessible to individuals of all abilities. • Enhancing System Capacity and Resilience: Regularly evaluating and upgrading the app’s infrastructure to accommodate a growing number of users while sustaining peak performance levels. • Bolstering Security Protocols: Implementing rigorous security measures, such as intricate encryption methods and advanced authentication processes, to protect user data and prevent breaches of sensitive information. • Implementing Geographic Algorithms: Deploying geo-targeting technologies to en- hance navigational features and enable users to easily locate nearby services or points of interest. 39 • Advancing Analytics and Insights: Augmenting the app with comprehensive ana- lytics tools to provide management with granular insights into user behavior and system efficacy, supporting strategic adaptations to market dynamics. • Collecting and analyzing user feedback: Organizing effective mechanisms to collect and analyze user feedback to identify and enhance aspects of the app based on their preferences and needs. • Adapting to global markets: Developing features that allow the app to adapt to various language and cultural requirements, providing a consistent user experience globally. These approaches ensure that the app remains at the forefront of technology, responding adeptly to the changing requirements of its users and stakeholders. 40 6.3 References 1. https://firebase.google.com/docs 2. https://www.shopify.com/enterprise/blog/mobile-commerce-future-trends 3. https://docs.flutter.dev/ 4. https://haat.delivery/ 5. https://wheels.ps/ 41 42 Acknowledgement Disclaimer Table of Contents List of Figures Abstract Introduction Motivation Project Objectives Project Scope Report Organization Constraints & Earlier course work Constraints Earlier coursework Standards Literature Review Methodology Technologies Database Server Side Chat and Notifications Recommendation System System Features Implementation common features: store Interface: trader Interface: user Interface: delivery Interface: admin Interface: System Features Implementation (website): trader features: user features: Admin features: Results and Discussion Conclusion and Future Work Conclusion Future Work References References