# Simba Supermarket
A modern, responsive ecommerce website for Rwanda's popular online supermarket, backed by a lightweight Node server for accounts, orders, admin operations, deposit enforcement, and email-based password reset.
## Features
- Product catalog API at `/api/products`
- Backend-managed product records with stock and visibility state
- 9 product categories
- Search by product name
- Filter by category
- Filter by maximum price
- Shopping cart with add, remove, and quantity update
- Cart persistence with `localStorage`
- Product detail page
- Checkout page with editable order summary
- Order submission API at `/api/orders`
- Disk-backed order storage in `data/orders.json`
- Customer account signup, login, session persistence, and order history
- Account dashboard at `/account.html`
- Market Rep dashboard at `/admin.html` for private store operations
- Admin login and protected order/stats endpoints
- Admin product editing for price, stock, description, badge, and visibility
- Admin product creation from the browser
- Manager/staff order assignment and pickup workflow
- No-show risk tracking with higher required customer deposits on future pickup orders
- Customer account deposit visibility in checkout and account views
- Forgot-password API with optional Resend email delivery
- English, French, and Kinyarwanda language switcher
- Dark mode toggle
## Project Structure
- `index.html` - Home page and product catalog
- `product.html` - Product detail page
- `checkout.html` - Checkout page
- `styles.css` - Shared responsive styling
- `script.js` - Home page logic
- `product.js` - Product details logic
- `checkout.js` - Checkout page logic
- `account.html` - Customer account page
- `account.js` - Customer account logic
- `admin.html` - Market Rep dashboard
- `admin.js` - Market Rep dashboard logic
- `server.js` - Node backend for static hosting and APIs
- `data/orders.json` - Stored orders
- `data/products.json` - Runtime-managed product inventory generate …