- Presentable - Added some CSS
- Cached to prevent unnecessary api calls - Was seeking to implement RxJS / use memory as store of last fetched data
- Must be tested - Basic; some tests failing
- Optimised for performance - Has Data service; Was seeking to implement RxJS
- Structured as though it is expected to grow into a large enterprise app in the future - Believe apprpriate file structure
- Display a good overall knowledge of the main Angular concepts and best practices - Believe meets this
You have been tasked with creating a simple yet powerful recipe app using Angular for a local chef. The app will be created using the following free and open api:
The chef is rather frugal and does not want the app to fetch data unnecessarily from the server so it must be cached appropriately. The budget is so small for this project that we have to complete it within 2 hours.
The app will fetch a list of recipes from a server and will allow the chef to star their favorite recipes and the data should persist. It will consist of just two screens.
The first screen will have a list of 20 ingredients from which the chef can pick from and a search box to filter the list.
Once the chef has selected his ingredients it should navigate to another page containing a list of recipes. Each recipe will contain the title of the recipe, other ingredients required and a link to the recipe page.
When navigating from the ingredients page to the recipe list page the data should be called from the cache and not fetch it from the api each time if the same ingredients are chosen.
The app must be:
- Presentable
- Cached to prevent unnecessary api calls
- Must be tested
- Optimised for performance
- Structured as though it is expected to grow into a large enterprise app in the future
- Display a good overall knowledge of the main Angular concepts and best practices
Create a private repository on Github and add me(dandouglas) as a collaborator once you have finished (or when the time limit expires).
Commit regularly and follow the Angular guidelines for commit messages.
Example commit message: "fix(recipe list): cache not updating"
Good luck!
2 hours
**Please note: If you get cors issues on the api then it does accept jsonp requests. You can also use any available service to overcome the cors issue. If that is a problem then please use any other suitable api to fulfill the requirements of the challenge.