Об этом проекте

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 - Компоненты без анимаций для приоритета функциональности и скорости - Код на испанском для согласованности с целевой командой