Architecture (Description and Diagrams) - sebas0163/My_RESTaurante GitHub Wiki
Context Diagram
In the system, a potential client seeks to explore the offerings of a restaurant. The client accesses the service MyRESTaurant via a web browser interface. The software system facilitates the provision of creating and authenticating accounts, menu information, offers dish recommendations corresponding to the selected meal, suggests possible visitation time slots based on the day and location, and enables user feedback submission.
Container Diagram
The system comprises several distinct containers. The WebApp container serves as the frontend web application responsible for presenting the menu, facilitating feedback submission, providing time and food recommendations based on locations and account managing . It is developed using Angular and is served by apache in a container managed by minikube.
Interfacing with the WebApp container, the Backend Core container manages various incoming requests. Developed with NodeJS, it is hosted within minikube. Additionally, the system includes separate containers for Food Recommendation, Time Recommendation, User Management and Reservations all implemented using NodeJS and served by containers running in kubernetes. These containers communicate with the Backend Core container via HTTP APIs and access a Firebase database storing menu information and schedules.