Create a web application that lists Orders according to some criteria. The web application has only one page (no need for access control).
Use whatever language, tools and frameworks you feel comfortable to.
Also, briefly elaborate on your solution, architecture details, choice of patterns, frameworks and components.
Fork this repository and submit your code.
- The page is composed by three elements, according to the ui mockup below:
- The Order data is provided by the micro-service
/order-service
. - Order is composed by its Id, Restaurant id, Client id, Creation date, Confirmation date and list of Items.
- Item is composed by Description, Quantity and Unit Price.
- The Client data is provided by the micro-service
/client-service
. - Client is composed by its Id, Name, E-mail and Phone.
- The diagram below illustrates the high level architecture of the application.
Feel free to implement whatever solution you judge necessary on the
???
layer.
- You may (perhaps should) change and customize the
/client-service
and/order-service
micro-services. But MUST NOT change the Client and Order models. - Don't worry about their performance, they are just REST API examples made with
spring intializr (spring boot + data jpa + data rest). Focus on the
???
layer. - To install and run the micro-services, user maven commands
mvn package
andmvn spring-boot:run
on both folders. The Client will run on port 8081 and the Order on 8082. They are both HATEOAS compliant, so you can easily navigate through its endpoints. - You could use Material UI, Bootstrap or any other toolkit to accelerate your resolution. We will not provide any UI design.
As this web application will be a worldwide success, it must be prepared to be fault tolerant,responsive and resilient. In other words, each micro-service will constantly reiceive a POST requests (let's say 2/sec for client and 50/sec for order) and your web application will have a lots of users active simultaneously (about ~1k).