All Projects → arimai → meal-planner

arimai / meal-planner

Licence: MIT license
A web application to plan what you eat daily in accordance to dietary needs

Programming Languages

javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
HTML
75241 projects

Projects that are alternatives of or similar to meal-planner

react-styled-flexbox
A Flexbox React component harnessing the power of styled-components
Stars: ✭ 30 (-43.4%)
Mutual labels:  flexbox
docker-files
Teracy docker-files project to build common Docker images
Stars: ✭ 87 (+64.15%)
Mutual labels:  create-react-app
arnold
🎬 A modern Kodi web interface
Stars: ✭ 16 (-69.81%)
Mutual labels:  create-react-app
cruise
A Continuous Integration (CI) management system homework from Thought Works
Stars: ✭ 13 (-75.47%)
Mutual labels:  create-react-app
webcam-object-detection
Tensorflow.js webcam object detection in React
Stars: ✭ 24 (-54.72%)
Mutual labels:  create-react-app
hotlist
今日热榜(前端)
Stars: ✭ 51 (-3.77%)
Mutual labels:  create-react-app
react-production-deployment
Deploy your React app to production on Netlify, Vercel and Heroku
Stars: ✭ 51 (-3.77%)
Mutual labels:  create-react-app
create-material-ui-app
create-react-app + storybook + storybook-addon-material-ui
Stars: ✭ 55 (+3.77%)
Mutual labels:  create-react-app
universal-scripts
Build universal apps without configuration.
Stars: ✭ 23 (-56.6%)
Mutual labels:  create-react-app
bce.design
minimal magic, minimal tooling, essential dependencies, high productivity, no transpilations and no migrations. The Web Components starter ships with integrated lit-html, redux-toolkit and vaadin router components.
Stars: ✭ 67 (+26.42%)
Mutual labels:  flexbox
DM Tools
An open-source Dungeons and Dragons DM helper desktop app built with React.js, Redux, SCSS
Stars: ✭ 41 (-22.64%)
Mutual labels:  create-react-app
flexui
A light UI for C++ with XML and CSS support
Stars: ✭ 21 (-60.38%)
Mutual labels:  flexbox
game-template
Cross-platform project template using Electron and Angular with the Phaser game engine. Project has Flexbox integrated for easy and responsive organization of components around the Phaser canvas.
Stars: ✭ 16 (-69.81%)
Mutual labels:  flexbox
craco-linaria
A craco plugin to use Linaria zero-runtime CSS in JS library in a create react app.
Stars: ✭ 29 (-45.28%)
Mutual labels:  create-react-app
craco-cesium
Let's use 🌍Cesium with create-react-app today!
Stars: ✭ 58 (+9.43%)
Mutual labels:  create-react-app
modular
Scaffold a react monorepo and its component parts.
Stars: ✭ 13 (-75.47%)
Mutual labels:  create-react-app
spring-boot-create-react-app
Simple template to create a spring boot back-end with create react app front-end combined into a microservice
Stars: ✭ 25 (-52.83%)
Mutual labels:  create-react-app
cra-envs
⚙️ Bundle env var in CRA at launch time!
Stars: ✭ 45 (-15.09%)
Mutual labels:  create-react-app
netlify-forms-formik
📝 Netlify Forms with Formik and ReCaptcha
Stars: ✭ 33 (-37.74%)
Mutual labels:  create-react-app
flexo
An Exclusive playground to learn CSS Flexbox
Stars: ✭ 22 (-58.49%)
Mutual labels:  flexbox

Meal planner

  • A web application to plan what you eat daily in accordance to dietary needs.
  • Please find the demo here.
  • This project was bootstrapped with create-react-app
  • This project does not make use of any external CSS frameworks. Excuse the sassiness. 😉
  • This project has been designed mobile-first and makes use of Flexbox extensively.

Technology tags

  • React
  • SASS
  • Flexbox
  • Edamam recipe search API

Future Ideas

  • Adding a grocery list aggregating all ingredients from the suggested meals
  • Creating more selection criteria for health concerns such as PCOD, Diabetes, etc by collecting and analyzing data from several health and nutrition websites.

Project architecture

|-src
    |-components
      |-shared : All the components shared across the application
      |-page : Container components that serve as pages and use the shared components
    |-partials : Sass folder to include any partial sass files and a manifest file that imports all partials
    |-utils : Helper folder to contain any files that help the application, in this case, data fetching from the Edamam API
    |-App.js : The container component that decides how the app is navigated
    |-index.js : The JavaScript entry file 
    |-global.scss : Sass file that contains global application styles

Learnings through this project

  • The Edamam API allows to query for recipes based on several parameters. However not all of them return apt results. I had to tweak my survey form to include only those fields that successfully returned some results.
  • Having components that don't require to maintain state should be written as stateless components. Some of the advantages of this approach is nicely discussed in this article.

Note to fork and run this project

  • Run npm i
  • Please replace the lines in the file : meal-planner/src/utils/data/data.js with your own edamam ID and edamam API key. Thanks!
const API = {
  ID : "YOUR_EDAMAM_ID",
  KEY : "YOUR_EDAMAM_API_KEY",
  URL : "https://api.edamam.com/search?",
}

Make sure you make an API ID and Key from the Recipe Search API

  • npm run start to start the development server
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].