このプロジェクトについて
Chefsyは、飲食店向けに設計された内部注文管理システムです。この最初の段階では、注文の作成から配達までの追跡に必要な完全な機能基盤を提供します。
## 技術スタック
- **Next.js 14**(App Router使用)
- **TypeScript**(100%型付けされたコード)
- **Tailwind CSS**(ユーティリティスタイル用)
- **React Context + useReducer**(外部ライブラリなしのインメモリ状態管理)
## 主な機能
- **ダッシュボード**: 当日のメトリクスと最近の注文
- **注文管理**: ステータスによるフィルタ付きの完全なリスト、フォームによる新規注文の作成
- **配達ビュー**: 配達員向けのモバイルインターフェース
- **ステータスフロー**: 新規 → 調理中 → 準備完了 → 配達中 → 配達済み、アクティブな状態からいつでもキャンセル可能
## プロジェクト構造
プロジェクトは主要なルートに整理されています:
- `/dashboard` - メトリクスと最近の注文
- `/pedidos` - フィルタ付きの完全なリスト
- `/nuevo-pedido` - 作成フォーム
- `/cadeteria` - 配達員のモバイルビュー
コンポーネントは、レイアウト(Sidebar、Header)、注文(TarjetaPedido、BadgeEstado、FormularioPedido)、ダッシュボード(TarjetaMetrica)に分かれています。グローバル状態はuseReducerを使用したコンテキストで管理され、テストデータはモックファイルにあります。
## 実行方法
1. 依存関係のインストール: `npm install`
2. 開発モード: `npm run dev`(http://localhost:3000 で利用可能)
3. 本番ビルド: `npm run build` と `npm run start`
## スケーリング計画
プロジェクトには将来の段階のための明確なロードマップが含まれています:
- **段階2**: REST APIまたはSupabaseによる永続化
- **段階3**: next-authによる認証とロール(オペレーター、キッチン、配達員)
- **段階4**: WebSocketsまたはSupabase Realtimeによるリアルタイム機能
- **段階5**: オートコンプリート付きのメニュー・商品モジュール
## アーキテクチャの決定
- サイドバー付きレイアウトと配達のシンプルなレイアウトを分離するためのRoute Group `(principal)`の使用
- ロジックを集中化するための複数の`useState`の代わりに`useReducer`を使用
- useEffectなしの同期モックデータで、非同期への移行を容易に
- 機能性と速度を優先するため、アニメーションなしのコンポーネント
- チームとの一貫性のためのスペイン語のコード
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.