Recipes App
Objective
Write a single-page web application which allows users to explore your favourite recipes. Use a master-detail (master-view) interface to show a list of all available recipes (master) and a details pane where the following attributes are shown for the selected recipe: • Date of creation, • An image of the prepared dish, • Indicator if the dish is vegetarian, • Indicator displaying the number of people the dish is suitable for, • Unstructured list of ingredients, and • Cooking instructions.
Requirements
- The list of recipes can be retrieved through a RESTful web-service. The service should be implemented in Java.
- You should implement the client in JavaScript or a derivative of JavaScript, such as TypeScript. You may use any framework or libraries.
- Appropriate architectural and technical design patterns should be applied. E.g. when using OOP, use SOLID design.
- Write unit tests where applicable.
- Explain and defend, in 200-300 words, your choice of architecture and libraries.
Bonus
- The client is responsive and mobile friendly.
- The recipes are filterable and searchable.
Evaluation Criteria Your assignment will be evaluated using the following criteria:
- The extent to which your work meets the requirements stated above.
- Ease of using and starting the application.
- The level of maturity exhibited in your rationale for the architecture and libraries.
Extra Information
- The implementation details are completely up to you. E.g. If you want to use a relational or NoSQL database, AngularJS or React, etc. Though, remember that every framework, library and architectural decision needs to be explained and defended.