https://github.com/antonharbers/forkcast
Meal-Planning / Shoppign List App
https://github.com/antonharbers/forkcast
Last synced: 3 months ago
JSON representation
Meal-Planning / Shoppign List App
- Host: GitHub
- URL: https://github.com/antonharbers/forkcast
- Owner: AntonHarbers
- Created: 2024-12-29T16:43:58.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-02-15T21:58:19.000Z (3 months ago)
- Last Synced: 2025-02-15T22:28:18.206Z (3 months ago)
- Language: TypeScript
- Size: 280 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Forkcast
## Todos:
### Functionality:
[✔] CRUD Shop-Data and UI
[✔] Tabs for different shops
[✔] Set up dummy shop data
[✔] CRUD Ingredient Blueprints
[✔] Reset forms on submit
[✔] Set up context for global data (stores, ingredients, meals etc.)
[✔] Edit Ingredient Blueprint Form
[✔] Delete Ingredient Blueprint
[✔] Basic Display of Ingredient data
[✔] Set up dummy Ingredient data
[✔] Show ingredients as options in making a meal
[✔] Ingredient Blueprint measurement units crud
[✔] Ingredient Blueprint Store crud
[✔] Searchable selection box for new meal ingredients
[✔] adjustable new meal ingredient amounts
[✔] basic meal data Styling
[✔] checkmark to set meal as "done"
[✔] shopping list should not show done or past Ingredients
[✔] Update/Delete Meal Data
[✔] Set up dummy Meal Data
[✔] Deal with meal order (meal order defaults to last one, can be moved accordingly)
[✔] when opening shop tab:
[✔] Ingredients that have been added to the meals should appear in shopping list (with their appropriate amounts), summed up in a way where multiple meal ingredients are added together amount wise
[✔] Checkbox to toggle bought/not bought
[✔] CRUD FOR UNIT TYPES?
[✔] Sort the ingredients by area in shop (CRUD FOR AREA?)
[✔] reducer for global state
[✔] Rework data to be soft deleted instead of hard (isDeleted flag with deletedAt timestamp, deleted items no longer show up or should be pulled from api) / put this in our reducer
[✔] Soft Delete - Categories
[✔] Soft Delete - IngredientBlueprints
[✔] Soft Delete - Shops
[✔] Soft Delete - Meals
[✔] Soft Delete - Units
[✔] Check why changing category and meal order has no effect
[✔] make sure not to mutate date but to duplicate it with ... operator wherever needed
[✔] useMemo implementation on anything that requires heavy compute
[in progress] refactor everything
[✔] when deleting a category, the ingredients belonging to that category should be listed under not categorized
[✔] when deleting a store, ingredients with the deleted store should show up in default until reassigned
[✔] dont allow 0 as amount inputs
[✔] make sure that you cannot add the same ingredientblueprint to the same meal more than one time
[✔] Move all types into types.ts
[✔] turn classes into typed objects instead
[✔] Comportmentalize the app
[✔] copy meals
[✔] move meals to different day
[✔] implement indexDb as a local storage solution
[] sorting and searching ingredients/items
[] solution for non meal ingredients
[] list of meals that can be searched
[] done for now, setup api server with CRUD routes for the data
[] dummy api calls using indexDB, optimistic updates and loading states
[] setup the code for syncing meals that were sent during offline mode to api### Styling:
[] Calendar
[] Daily View - Meal Planning
[] Shopping List Page
[] Ingredients Page### Later:
[] Set up database connection to postgres using drizzle
[] User Data/Accounts with clerk
[] Backend API with ExpressMAYBE Secion
[] virtualize data (react-window for frontend only rendering portion of data)
[] virtualize data (paginate the api responses to only get a certain amount of data at a time when needed)## Notes: