Skip to content

haggqvist459/recipe-website

Repository files navigation

To Do:

Admin Page:

Create Form

  • Re-work cuisine and type, move away from enum to join tables
    • backend functionality to fetch the main_ingredients and cuisines
  • Replace dropdowns with buttons for multple choice
  • Re-work inserts into db
  • look into as unkown on insert db query
  • Persist filters in Redux
  • Preview section output validation
  • Simplify ingredients and instruction input - copy paste friendly
  • Form validation, ensure non-empty fields are not left empty for required inputs
  • For how many people are the recipe?

Edit Form

  • Edit, remove & Add for metadata
  • Edit, Remove & Add features for ingredients
  • Edit, Remove & Add features for instructions
  • Delete entire recipe
  • Redirect back to Admin Page after succesful edit
  • Troubleshoot issues with edit form - meta data is lost on page reloads when instructions and ingredients are not, and the filters are not properly selected

Filters

  • Edit existing filter text
  • Add new filters
  • Remove filters
  • Cascade into join table
  • Refactor filters and types to always include both languages, and display only selected language
  • Refactor the Filters component into sub components (???)

Main Page:

  • List all recipes
  • Add the filters as dropdowns
  • Details view
  • Mark recipe as favorite for users
  • Modify the number of people the recipe is for

Profile Page:

  • Change email
  • Change password
  • Edit favorite lists - view / delete
  • Meal planner / weekly list settings
  • Form validation on Inputs, highlight missing information

Weekly lists:

  • Generate lists based on full randomisation
  • Pick number of days
  • Change number of people
  • Add filter options here too

Grocery list:

  • Re-use previous list project, add here
  • Localstorage persist grocery list
  • Add new items to list
  • Share lists
    • Share link? Code?
    • Second minor UI for shared list vs personal list?
    • Menu but ton to share list, generate link / code?
  • Add ingredients from recipes to list
  • Backup list to database if authenticated
  • Finalise null checks
  • Inspect sync of local and remote grocery lists
  • Add null checks to grocery list db actions for more precise toast messages

Success / Error Toast & Modal

  • Ensure dynamic time before disappearing
    • Close button good enough
  • Database actions should have either Modal or Toast confirmation/errors
  • Everything covered in try/catches with error handling.
  • Small toast component for success / error messages.
  • Finalise the toast styling

Error handling:

  • Review error handling across pages and components
    • Admin Page must redirect to error in case of non admin roles

Auth:

  • useContext for authentication
  • AdminLayout to protect authenticated paths
  • Use user roles to determine access

Search function

  • search function should include matches on recipe titles, descriptions, and from the ingredient lists

MISC:

  • Language options

  • Translate web elements between ENG/SWE (headings, menu labels etc)

  • Translate recipes between ENG/SWE

  • Proper unit translations for ingredients

  • Add missing translations for static web elements such as headings and buttons

  • Clean up horizontal menu styles in NavMenu - follow Filters.tsx

  • Look into the horizontal menu wrapper, see if the active section state can be repeated less

  • Refactor Output.tsx

  • Ensure full reusability

  • Include FadeInOutWrapper - allow fade effect on language change

  • Include FadeInOutWrapper on Heading.tsx - allow fade effect on language change

  • Ensure similar structure on the service and query layers

    • Same try / catch principles
    • Same import / export principles
    • Naming standards
  • Refactor RecipeDetails.tsx - remove double markup

  • Look into FadeWrappers dubious useEffect

  • Look into Fading in / out the recipe list once filters are applied

  • Fix the empty favourite list use case on profile page

  • Fix placement of favourite icon on RecipeDetail.tsx

  • Lock favourite icon size on RecipeCard.tsx

  • Finalise CreateRecipe forms:

    • hover: border on buttons in CreateRecipe components
    • State is cleared after successful recipe insertion but no re-direct from preview page
    • Must also trigger a new fetch of recipes
    • Form validation - no validation occuring on the large input fields on ingredients and instructions
      • Highlighting input with missing information
  • Button highlights - apply new utility (button-click) from index.css on buttons

  • add invalid: classes on form elements for CreateRecipe, Auth page, Profile page settings etc

  • Refactor ButtonRow component - use Tailwind instead of JavaScript

  • Refactor all Modal usage to use the new Context

  • Ensure that grocery list ingredient aggregation can identify 'tomato', 'Tomatoes' and 'tomatoes' etc as the same ingredient.

About

React / Redux / TailwindCSS frontend, Postgres database (Supabase)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors