This project was made in a group of 4 over 6 days during week 10 of the 16 week CodeClan Software Developer Bootcamp.
Table of Contents
Nowadays everyone is trying to build or break a habit. But it's tricky to keep track of them. Identify a habit you'd like to help someone break or build (e.g. alcohol consumption, smoking, calories, exercise, healthy eating...) and make an app to help.
- Make CRUD entries on the front-end that are persisted on a MongoDB database on the back-end
- Display the data in visually interesting / insightful ways.
Habit to track: Home-cooked-meal frequency and mindfulness.
The App can:
- Allow a user to search for recipes based on a key word, e.g. ingredient
- Fetches a random recipe from the API and re-fetches based on a button press
- Presents each recipe with ingredients, an external link and an 'add to entry' button
- Create a diary entry including the recipe name, a date and notes from the user
- Displays the dates a user has entered a diary entry on
- Counts the overall number of entries and shows the user a 'level' of cooking they've achieved
- CRUD actions on the app - add, delete, edit.
- Navbar/hamburger menu
- Mindfulness tip and reward system.
- Understand and connect to the API
- Render out the results from the API using a flip card visual
- Add an interactive calendar
- Connect the calendar to the entries data
- Style the calendar to reflect dates of entries
- Add a counter for total number of meals made
- Add entry form, plus style
- Update entry form, plus style
- CRUD actions - add, delete, update
- HTML
- CSS
- Javascript
- React
- Express
- Node.js
- MongoDB
To run this app, please run:
npm ci
in both client and server (see below)
- Clone the repo
git clone [email protected]:HelenLangers/Holy_Shiitake_habit_tracker_project.git
- Create a free account on https://developer.edamam.com/edamam-recipe-api
- Within the client/src folder create a config.js file:
const config = {
app_id: ' ',
app_key: ' '
}
export default config
- Install the necessary dependencies
cd client
npm ci
..
cd server
npm ci
- Run the seeds file in the server folder
npm run seeds
- Start the server
npm run server:dev
- Start the client
..
cd client
npm start
- This will automatically open the app in Chrome.
Helen Langridge - Twitter - LinkedIn
Project Link: Github