CS203 Collaborative Software Development Project
Problem Statement Due to the frequently changing restrictions, the process of healing from Covid-19 and creating a new normal has not been easy. The food and beverage industry has been particularly affected by the highly volatile and unpredictable dine-in crowd, resulting in revenue loss and closures of businesses (Lim, 2021).
Consequently, food and beverage establishments are finding it difficult to estimate the amount of ingredients required for the day. This often results in an overestimation and wastage of ingredients, ultimately resulting in a loss in revenue (Goh & Cha, 2021). Non-perishable ingredients do not pose a huge problem since they have a long shelf life. However, the problem comes in with more expensive perishable ingredients that cannot last more than a month (Tan, 2021). Food and beverage establishments have to manage their food inventory even more accurately to ensure that it meets the demand, while producing minimal wastage.
Several food and beverage establishments also face the issue of reservation no-shows and having to turn customers away upon realising that they are unvaccinated, resulting in further wastage of restaurant resources (Raguraman & Sundar, 2021).
With the main objective of reducing food waste, foodprint allows patrons to pre-order their desired dishes in advance, giving them a discount incentive while requesting that they place a small deposit of the total bill. Through this approach, foodprint will also facilitate patrons in making reservations and checking vaccination statuses in accordance with the prevailing COVID-19 safe management measures, in order to avoid having to turn away customers at the last minute.
Based on the dishes pre-ordered on foodprint, food and beverage establishments would be able to better gauge the ingredients required for a particular business day. Ingredient suppliers can also be integrated into the ecosystem, allowing them to monitor the order requirements from these food and beverage establishments.
foodprint will also implement a loyalty system, where customers who regularly attend their foodprint reservations without fail will be able to net additional discounts throughout the platform. In addition to the payment deposit system, this helps to mitigate the risk of customers who may end up being no-shows.
Maven can be installed by running the following commands while in the directory of the project.
Windows
.\mvnw.cmd install
macOS
chmod +x mvnw
./mvnw install
Project can be executed by using VSC or by running the following commands while in the directory of the project.
Windows
.\mvnw.cmd spring-boot:run
macOS
./mvnw spring-boot:run
For further reference, please consider the following sections:
- Official Apache Maven documentation
- Spring Boot Maven Plugin Reference Guide
- Create an OCI image
- Spring Web
- Spring Boot DevTools
- Spring Security
- Spring Data JPA
- Spring Boot Actuator
- Java Mail Sender
The following guides illustrate how to use some features concretely: