# Coffee Shop Frontend - TODO ## Completed Features & Implementations ### A. Dead Code Removed - [x] lib/constants.ts - Removed unused NAV_LINKS export - [x] lib/types.ts - Removed unused NavLink interface - [x] components/Navbar.tsx - Removed trivial handleClick wrapper; inlined onCategoryChange call - [x] components/Navbar.tsx - Removed unused Link import ### B. Bugs / Inaccuracies Fixed - [x] layouts/header.tsx - Fixed JSDoc: 3-column -> 2-column layout (no center section exists) - [x] app/page.tsx - Added available !== false filter to product list - [x] app/page.tsx - Fixed setState-in-effect lint error: moved initial sidebar state to lazy useState initializer - [x] next.config.ts - Added explanatory JSDoc comment ### C. Documentation Updated - [x] README.md - Fixed file structure tree, removed SCSS, fixed dark mode note, updated tech table - [x] components/COMPONENTS.md - Fixed CartProduct styling (was outdated w-64/text-red-500/bg-blue-600); added Navbar, Header, Footer sections ### D. New Documentation Created - [x] WORKFLOW.md - Architecture, data flow, design token system, how-to guides, dev workflow ### E. Mini-test Results - [x] npm run lint - PASSED (0 errors, 0 warnings) - [x] npm run build - PASSED (Compiled successfully, TypeScript clean, static pages generated) --- ## Pending Features (Future Work) ### Cart & Ordering - [ ] Implement cart checkout flow (app/(main)/cart or modal) - [ ] Cart sidebar/modal with item list and total - [ ] Order submission API integration - [ ] Payment page implementation (app/(main)/payment) - [ ] Order history/tracking page - [ ] Toast notifications for cart actions ### Authentication & User Management - [ ] Real backend authentication (replace MOCK_AUTH_DB) - [ ] Real OTP delivery service (SMS integration) - [ ] User profile page with edit capability - [ ] Password reset/recovery flow - [ ] Session management and token refresh ### Manager Features - [ ] Manager dashboard page (app/(manager)/page.tsx) - [ ] Product management (add/edit/delete) - [ ] Category management - [ ] Order management & tracking - [ ] Sales analytics/dashboard - [ ] Inventory management ### Backend Integration - [ ] Replace MOCK_PRODUCTS with API calls (GET /api/products) - [ ] Replace MOCK_SHOPS with API calls (GET /api/shops) - [ ] Replace MOCK_USERS with real authentication (POST /api/auth/login) - [ ] Real product images (replace placeholder.jpg) - [ ] Image upload for products ### UX Improvements - [ ] Dark mode toggle (CSS variables prepared, toggle UI needed) - [ ] Loading skeletons for product grid - [ ] Product detail modal/page with full description - [ ] Wishlist/favorites feature - [ ] Sort products (price, rating, etc.) - [ ] Filter by price range - [ ] Quantity selector in product card - [ ] Related products suggestions ### Performance & SEO - [ ] Dynamic route generation for products (app/(main)/product/[id]/page.tsx) - [ ] Dynamic route generation for shops (app/(feed)/shop/[id]/page.tsx) - [ ] Meta tags and Open Graph for SEO - [ ] Image optimization and lazy loading - [ ] Code splitting and dynamic imports ### Accessibility & Testing - [ ] Keyboard navigation testing - [ ] ARIA labels audit - [ ] Unit tests for contexts - [ ] E2E tests for user flows - [ ] Accessibility audit (WCAG 2.1 AA)