这个项目能做什么

Chefsy 是一个专为餐饮场所设计的内部订单管理系统。第一阶段提供了从订单创建到交付的完整功能基础。 ## 技术栈 - **Next.js 14** 搭配 App Router - **TypeScript**(100% 类型化代码) - **Tailwind CSS** 用于实用样式 - **React Context + useReducer** 用于内存状态管理,无需外部库 ## 主要功能 - **仪表盘**:当日指标和最近订单 - **订单管理**:完整列表,支持按状态筛选,通过表单创建新订单 - **配送视图**:供配送员使用的移动界面 - **状态流程**:新建 → 厨房中 → 就绪 → 配送中 → 已送达,可从任何活跃状态取消 ## 项目结构 项目按主要路由组织: - `/dashboard` - 指标和最近订单 - `/pedidos` - 带筛选功能的完整列表 - `/nuevo-pedido` - 创建表单 - `/cadeteria` - 配送员移动视图 组件分为布局(侧边栏、页眉)、订单(订单卡片、状态徽章、订单表单)和仪表盘(指标卡片)。全局状态通过带有 useReducer 的上下文管理,测试数据位于 mock 文件中。 ## 运行方式 1. 安装依赖:`npm install` 2. 开发模式:`npm run dev`(可在 http://localhost:3000 访问) 3. 生产构建:`npm run build` 和 `npm run start` ## 扩展计划 项目包含清晰的未来阶段路线图: - **第二阶段**:通过 REST API 或 Supabase 实现持久化 - **第三阶段**:使用 next-auth 实现身份验证和角色(操作员、厨房、配送员) - **第四阶段**:通过 WebSockets 或 Supabase Realtime 实现实时功能 - **第五阶段**:菜单和产品模块,支持自动补全 ## 架构决策 - 使用路由组 `(principal)` 将带侧边栏的布局与配送员的简单布局分离 - 使用 `useReducer` 而非多个 `useState` 来集中逻辑 - 同步 mock 数据,无需 useEffect,便于迁移到异步 - 组件无动画,优先考虑功能和速度 - 代码使用西班牙语,以保持与目标团队的一致性