A React web application for browsing grocery products, comparing prices, and viewing price trends across different stores and grocers.
- Browse products by hierarchical categories.
- View detailed price history with interactive charts.
- Search products across categories.
- Compare prices from multiple stores and grocers.
- Responsive design with Material-UI components.
- React 18 with TypeScript.
- Vite for fast development and optimized builds.
- Material-UI (MUI) v7 for UI components.
- Redux Toolkit Query for API state management and caching.
- React Router v7 for client-side routing.
- Recharts for price trend visualization.
- Node.js (version 18 or higher recommended).
- Backend API server running at
/api(or configured proxy).
npm installnpm run devThe dev server runs with --host flag to allow external connections.
npm run buildThis runs TypeScript compilation followed by Vite build.
npm run previewnpm run dev- Start development server.npm run build- Build for production.npm run lint- Run ESLint.npm run lint:fix- Run ESLint with auto-fix.npm run preview- Preview production build.npm run docker:build- Build Docker image.
The application includes Docker support for containerized deployments. See docker-compose.yml for orchestration setup.
npm run docker:buildsrc/
├── api/ # API layer (RTK Query + direct fetch functions)
├── components/ # Reusable UI components
├── redux/ # Redux store and RTK Query API definitions
├── views/ # Page-level components
└── App.tsx # Main application with routing
For detailed development information, architecture decisions, and coding standards, see CLAUDE.md.
Playwright is configured for end-to-end testing. Test files and configuration will be added as the project matures.
Private project.