Contribute to help us improve!
Are there edge cases or problems that we didn't consider? Is there a technical pitfall that we should add? Did we miss a comma in a sentence?
If you have any input for us, we would love to hear from you and appreciate every contribution. Our goal is to learn from projects for projects such that nobody has to reinvent the wheel.
Let's collect our experiences together to make room to explore the novel!
To contribute click on Contribute to this page on the toolbar.
My-Thai-Star Sample Application
My-Thai-Star is a restaurant, that has a website for the usual tasks of a restaurant. This web application is taken as an example in various articles to describe methods, structures or implementation on a concrete and known example.
My-Thai-Star has the following user groups:
Use Cases
- Guest
-
Guests are users that want to visit the restaurant and eat there.
- Waiter
-
Waiters are users of the website that will manage the orders and bookings of the guests.
- Manager
-
The manager of the restaurant is interested in KPIs of the restaurant for managing and controlling his restaurant.
Per User group there are separate use cases that need to be considered:
Guest
A guest should be able to
-
take a look at the menu of the restaurant
-
find out the costs of single dishes
-
check the ingredients (e.g. for allergists)
-
book a table
Convenience functionality:
-
the user can book the dish already upfront and combine it with the table reservation. This gives the cook the option to predict the meals and to reduce waiting times and waste
-
invite friends to the booking, so they’re notified and can also book their food upfront
Conceptual split into business components
Based on the mentioned use cases the application can be split up into business components:
This split does not imply any technical architecture. Each business component mentioned here could be a service in a microservice architecture, a component in Modulith or anything else. The definition of a business split should help to build examples in devonfw that is consistent across devonfw. |
Business Component | Description |
---|---|
Booking Management |
Manages the table bookings of users. It checks the available tables, validates requests, accepts cancellations. Invited friends to a booking are also managed in this component. |
Dish Management |
Responsible for the dishes served in the restaurant. This includes the dish itself, categories (e.g. starter, main, desert, drinks, …), prices and the ingredients. |
Order Management |
Handles the orders of guests. |
Prediction Management |
Does predictions for the manager based on past events |
Furthermore, there are some cross cutting components to consider:
Component | Description |
---|---|
Image Management |
Handles the images on the website. |
Mail Service |
Responsible for sending mails. |
User Management |
Manages the users (guests, waiters, managers) |