The recipe box project is an application that allows a user to create,
edit, and delete recipes. I struggled with this app a lot. The step up in difficulty from the first two Angular
apps to this one was pretty big. I think I spent about a month trying to use the Angular router to put recipes
on their own route like:
recipebox/recipe/:id. Eventually, I realized that wasn't necessary and just
*ngIf to display whichever recipe was clicked in the recipe list.
This was also the first time, I believe, where I did any type of form validation in a project. I used an Angular template-driven form to build the recipe box inputs and used template driven form validation to ensure that the user did not try to submit invalid data.
The application also utilizes browser storage so that if you leave or refresh the page, your changes are stored between sessions. I used an external npm package to perform this and ended up making one of my first contributions to that project by editing and improving the use instructions in the README. That PR was merged in to this repo.