How phongtoquach/freshfind_web works
FreshFind is a client-side farmers-market discovery and seasonal-produce guide. Users can search markets by produce category and day, explore market details and locations, and browse produce by season; bookmarks and notes support saving and revisiting finds. The app also includes contact/about and prototype login pages, plus a chatbot. The graph reflects documented zero-backend behavior and sampled source; several page-level interactions and the chatbot implementation were not inspected, so their internal wiring is omitted.
Main entry points: App.jsx Router and Providers · ProductsSeasonContext.jsx Season and Product State · HomeMarketSearchBox.jsx Market Search Form · marketService.js Market Filtering
Components 25
Application Shell
- Router and Providers
src/App.jsx - Chatbot
src/components/Chatbox.jsx - Chat Content
src/data/chatbox.json - Other Pages
src/pages
Market Discovery
- Home Search
src/pages/Home.jsx - Market Search Form
src/components/HomeMarketSearchBox.jsx - Markets Directory
src/pages/MarketsPage.jsx - Market Filtering
src/services/marketService.js - Market Records
src/data/markets.json - Produce Categories
src/services/categoryService.js - Category Records
src/data/categories.json - Market Details
src/pages/MarketDetailsPage.jsx - Market Map
src/components/MapLocation.jsx
Produce Guide
- Product Records
src/data/products.json - Produce Guide
src/pages/ProduceGuide.jsx - Season Browser
src/pages/ProductsSeasons.jsx - Season and Product State
src/context/ProductsSeasonContext.jsx - Season Definitions
src/data/seasons.js - Product Filtering
src/services/productService.js
Personal Tools
- Bookmarks and Export
src/pages/BookMarks.jsx - Bookmark State
src/context/BookmarkContext.jsx - Notes State
src/context/NoteContext.jsx - Browser Storage
Other components
- Visitor
- OpenStreetMap Tiles
Connections 29
- Visitor → Router and Providers: opens
- Router and Providers → Home Search: routes
- Router and Providers → Markets Directory: routes
- Router and Providers → Market Details: routes
- Router and Providers → Produce Guide: routes
- Router and Providers → Season Browser: routes
- Router and Providers → Bookmarks and Export: routes
- Router and Providers → Other Pages: routes
- Router and Providers → Chatbot: renders
- Home Search → Market Search Form: renders
- Market Search Form → Produce Categories: reads categories
- Produce Categories → Category Records: reads
- Market Search Form → Markets Directory: navigates
- Markets Directory → Market Filtering: filters and sorts
- Market Filtering → Market Records: reads
- Market Filtering → Product Records: reads
- Market Details → Market Map: renders location
- Market Map → OpenStreetMap Tiles: loads tiles
- Produce Guide → Product Filtering: filters products
- Product Filtering → Product Records: reads
- Season Browser → Season and Product State: uses season state
- Season and Product State → Season Definitions: loads seasons
- Season and Product State → Product Records: loads products
- Season and Product State → Market Records: loads markets
- Bookmarks and Export → Bookmark State: uses bookmarks
- Bookmarks and Export → Notes State: uses notes
- Notes State → Browser Storage: reads and writes
- Bookmark State → Browser Storage: persists state
- Chatbot → Chat Content: reads content