Об этом проекте
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, а тестовые данные находятся в mock-файле.
## Как запустить
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)` для разделения макета с сайдбаром от простого макета курьерской службы
- `useReducer` вместо множественных `useState` для централизации логики
- Синхронные mock-данные без useEffect, что упрощает миграцию на async
- Компоненты без анимаций для приоритета функциональности и скорости
- Код на испанском для согласованности с целевой командой
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.