Coder Social home page Coder Social logo

darrylleung / recipe-box Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 5.08 MB

Recipe Box is a project created for the purpose of learning Angular, Material, RxJS, and NgRx. The app utilizes the spoonacular Nutrition, Recipe, and Food API.

Home Page: https://bih-recipe-box.web.app/

JavaScript 3.76% TypeScript 70.92% HTML 13.64% CSS 11.68%

recipe-box's Introduction

Recipe Box

Live site: https://bih-recipe-box.web.app

Overview

Recipe Box is a project created for the purpose of learning Angular, Material, RxJS, and NgRx. The app utilizes the spoonacular Nutrition, Recipe, and Food API.

The project largely takes inspiration from the Cooking app from the New York Times. The home page of Recipe Box contains a navigation bar - with the app title, a search bar, and a 'Favorites' button - as well as a component containing an image linking to a pre-selected recipe.

The search bar utilizes the Material autocomplete component combined with the spoonacular Autocomplete Recipe Search endpoint which returns ten relevant options.

Upon selection, the Get Recipe Information endpoint is queried and the information returned is stored in a service, as one method of state management used (more on that later.) The main image component is replaced with the recipe information component. The recipe information component includes an 'Add Favorite' button, which allows the user to save their favorite recipes to view later. The favorites component utilizes NgRx store as another method of state management. Clicking the 'Favorites' button in the navigation bar brings up the favorites component. Favorite recipes are arranged as a grid, showing the recipe thumbnail, title, and a 'Remove' button.

Tech Stack

TypeScript, Angular, Material, RxJS, NgRx, Firebase

Improvements

  • As the purpose of this project was to learn Angular, I wanted to try out certain features that would probably not make sense in a production build. For instance, I used two different state management methods: a service and NgRx store. This could lead to confusion. I would improve this by removing the service and using NgRx store to handle that logic.
  • The addition of a back end would allow for the creation of individual user accounts and the long-term storage and recall of recipes after closing a session.

recipe-box's People

Contributors

darrylleung avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.