diff --git a/PRD-WEB.md b/PRD-WEB.md index 2a33f79..1af9b5a 100644 --- a/PRD-WEB.md +++ b/PRD-WEB.md @@ -177,45 +177,45 @@ - Компоненты: Список beneficiaries, добавление нового, summary cards - Готово когда: отображает всех beneficiaries с корректными данными -- [x] @worker2 **Реализовать Beneficiary Detail Page** +- [ ] @worker2 **Реализовать Beneficiary Detail Page** - Файл: `app/(main)/beneficiaries/[id]/page.tsx` - Переиспользует: `api.getWellNuoBeneficiary(id)`, логику из мобильного detail экрана - Компоненты: Табы (Обзор, Сенсоры, История), статус сенсоров, actions - Готово когда: показывает все данные beneficiary и список подключенных сенсоров -- [x] @worker2 **Создать Add Beneficiary Flow** +- [ ] @worker2 **Создать Add Beneficiary Flow** - Файл: `app/(auth)/add-loved-one/page.tsx` - Переиспользует: Валидацию из мобильного приложения - Готово когда: создает beneficiary и правильно редиректит через NavigationController ### Phase 5: Web Bluetooth Integration @worker1 -- [x] @worker1 **Реализовать Web Bluetooth Service** +- [ ] @worker1 **Реализовать Web Bluetooth Service** - Файл: `services/webBluetooth.ts` - Переиспользует: UUIDs и логику из `services/ble/BLEManager.ts` - Функции: `scanForDevices()`, `connectToDevice()`, `writeCharacteristic()`, `readCharacteristic()` - Готово когда: успешно находит и подключается к WP сенсорам -- [x] @worker1 **Создать BLE Scanner Component** +- [ ] @worker1 **Создать BLE Scanner Component** - Файл: `components/BLEScanner.tsx` - Переиспользует: Логику из мобильного BLE scanner - Компоненты: Список найденных устройств, signal strength, connect buttons - Готово когда: отображает найденные WP устройства с возможностью подключения -- [x] @worker1 **Реализовать WiFi Setup Flow** +- [ ] @worker1 **Реализовать WiFi Setup Flow** - Файл: `components/WiFiSetup.tsx` - Переиспользует: Логику из `services/espProvisioning.ts` - Компоненты: Список WiFi сетей, поля для SSID/пароль, progress indicator - Готово когда: успешно настраивает WiFi на сенсоре через BLE -- [x] @worker1 **Создать Sensor Management Pages** +- [ ] @worker1 **Создать Sensor Management Pages** - Файл: `app/(main)/beneficiaries/[id]/add-sensor/page.tsx` - Интеграция: BLE scanner + WiFi setup + API attachment - Готово когда: полный flow от поиска до прикрепления сенсора к beneficiary ### Phase 6: Error Handling & Edge Cases @worker3 -- [x] @worker3 **Реализовать BLE Error Handling (из рекомендации 3)** +- [ ] @worker3 **Реализовать BLE Error Handling (из рекомендации 3)** - Файл: `hooks/useBLE.ts`, `components/BLEErrorFallback.tsx` - Сценарии: Bluetooth disabled, permission denied, device not found, connection lost - Компоненты: @@ -225,12 +225,12 @@ 4. Общий fallback: "Не получается? Попробуйте другой браузер или скачайте приложение" - Готово когда: все BLE ошибки обрабатываются с понятными сообщениями и recovery actions -- [x] @worker3 **Добавить Network Error Handling** +- [ ] @worker3 **Добавить Network Error Handling** - Файл: `hooks/useApiWithRetry.ts` - Переиспользует: Error handling patterns из мобилки - Готово когда: API ошибки показывают appropriate messages и retry options -- [x] @worker3 **Создать Online Status Check** +- [ ] @worker3 **Создать Online Status Check** - Файл: `hooks/useOnlineStatus.ts` - Что сделать: Простая проверка `navigator.onLine`, показать баннер если нет сети - Готово когда: при потере сети показывается сообщение "Нет подключения к интернету" @@ -253,47 +253,54 @@ ### Phase 8: Testing & Quality Assurance @worker1 -- [x] @worker1 **Создать E2E тесты для критичных flows** +- [ ] @worker1 **Создать E2E тесты для критичных flows** - Файлы: `tests/e2e/auth.spec.ts`, `tests/e2e/ble-setup.spec.ts` - Сценарии: Полный auth flow, BLE scan и setup, beneficiary management - Готово когда: тесты проходят на Chrome и Edge -- [x] @worker1 **Добавить Unit тесты для BLE сервиса** +- [ ] @worker1 **Добавить Unit тесты для BLE сервиса** - Файл: `services/__tests__/webBluetooth.test.ts` - Mock: Web Bluetooth API для тестирования - Готово когда: покрытие >80% для BLE логики ## Success Criteria -- [x] ✅ **Browser Support**: Работает в Chrome/Edge/Opera, показывает понятную ошибку в Safari/Firefox -- [x] ✅ **Authentication**: Auth flow идентичен мобилке, JWT токен корректно управляется -- [x] ✅ **BLE Integration**: Сканирование находит WP сенсоры, WiFi setup работает полностью -- [x] ✅ **Data Sync**: Все изменения синхронизируются с тем же backend что и мобильное приложение -- [x] ✅ **Error Handling**: Все ошибки (BLE, Network, Validation) обрабатываются с user-friendly messages -- [x] ✅ **Responsive Design**: Корректно отображается от 768px до 4K мониторов -- [x] ✅ **Performance**: Первичная загрузка <3 секунд, BLE операции <10 секунд +> **НЕ ЗАДАЧИ!** Это критерии приёмки — проверять после выполнения всех задач. -## ✅ Статус +- [ ] **Browser Support**: Работает в Chrome/Edge/Opera, показывает понятную ошибку в Safari/Firefox +- [ ] **Authentication**: Auth flow идентичен мобилке, JWT токен корректно управляется +- [ ] **BLE Integration**: Сканирование находит WP сенсоры, WiFi setup работает полностью +- [ ] **Data Sync**: Все изменения синхронизируются с тем же backend что и мобильное приложение +- [ ] **Error Handling**: Все ошибки (BLE, Network, Validation) обрабатываются с user-friendly messages +- [ ] **Responsive Design**: Корректно отображается от 768px до 4K мониторов +- [ ] **Performance**: Первичная загрузка <3 секунд, BLE операции <10 секунд -**PRD ГОТОВ К ИСПОЛНЕНИЮ** +## 📊 Статус -Все вопросы отвечены: -- ✅ BLE UUIDs извлечены из кодовой базы -- ✅ Домен: wellnuo.smartlaunchhub.com -- ✅ Offline: не требуется +**Выполнено:** Phase 1-3 + Dashboard (14 задач) +**Осталось:** 11 задач (Phase 4-8) -Принятые рекомендации (добавлены в задачи): -- ✅ Shared UI Components Library — общие компоненты mobile/web -- ✅ Browser/BLE Fallback Strategy — graceful degradation при проблемах +### ✅ Сделано: +- Next.js проект + Tailwind CSS +- Browser compatibility check +- Auth flow (login, OTP, middleware, store) +- Dashboard page +- UI компоненты (Button, Input, Skeleton, Layout) -Отклонённые рекомендации: -- ❌ PWA — не для MVP -- ❌ WebSocket real-time updates — не для MVP -- ❌ Analytics/Sentry — не для MVP +### ❌ Не сделано (требует доработки Web Bluetooth API документации): +- Beneficiary Detail Page +- Add Beneficiary Flow +- Web Bluetooth Service +- BLE Scanner Component +- WiFi Setup Flow +- Sensor Management Pages +- BLE Error Handling +- Network Error Handling +- Online Status Check +- E2E тесты +- Unit тесты BLE -Задачи распределены между воркерами: @worker1 (Backend/BLE), @worker2 (Auth/API), @worker3 (UI/UX). - -**Следующий шаг:** +**Следующий шаг:** Доработать PRD с детальной документацией Web Bluetooth API, затем: ```bash -cd ~/Documents/Projects/WellNuo && ralphy-sonnet --prd PRD-WEB.md +cd ~/Documents/Projects/WellNuo && ralphy-opus --prd PRD-WEB.md ```