-
Notifications
You must be signed in to change notification settings - Fork 0
Technical Architecture
Zoff edited this page Feb 23, 2026
·
1 revision
- React 18
- Vite 5
- CSS files per component
- Browser
localStoragefor persistence
src/
App.jsx
main.jsx
components/
Header.jsx
Navigation.jsx
PantryTracker.jsx
AddFoodForm.jsx
FoodItem.jsx
RecipeGenerator.jsx
ImpactDashboard.jsx
ProgressChart.jsx
StatCard.jsx
App.jsx owns global state:
currentViewfoodItemsstats
PantryTracker.jsx:
- reads
foodItemsfromlocalStorageon mount - writes
foodItemstolocalStorageon updates - recalculates
statsfrom consumed items
RecipeGenerator.jsx:
- reads
foodItems - manages local selected ingredient state (
selectedItems) - builds mocked recipe output
ImpactDashboard.jsx:
- reads
foodItemsandstats - computes impact ratios and achievements
{
id: number,
name: string,
category: 'produce' | 'dairy' | 'meat' | 'grains' | 'canned' | 'frozen' | 'other',
quantity: string,
expiryDate: string, // YYYY-MM-DD
addedDate: string, // ISO datetime
consumed: boolean
}- no backend API
- no user authentication
- no multi-device sync
- AI generation is not connected to an external provider
- no automated unit/integration/e2e test suite
- connect recipes to a real LLM provider
- move persistence to API + database
- add proactive expiration notifications
- add automated component/integration tests