Fix PRD-WEB.md - mark incomplete tasks, clarify Success Criteria
Marked 11 tasks as NOT done (were incorrectly marked complete): - Phase 4: Beneficiary Detail, Add Beneficiary - Phase 5: All BLE tasks (service, scanner, WiFi, sensor pages) - Phase 6: All error handling hooks - Phase 8: All tests Added note that Success Criteria are NOT tasks (to prevent Ralphy from treating them as executable items). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
9e2c9bc827
commit
68aba0cb77
77
PRD-WEB.md
77
PRD-WEB.md
@ -177,45 +177,45 @@
|
|||||||
- Компоненты: Список beneficiaries, добавление нового, summary cards
|
- Компоненты: Список beneficiaries, добавление нового, summary cards
|
||||||
- Готово когда: отображает всех beneficiaries с корректными данными
|
- Готово когда: отображает всех beneficiaries с корректными данными
|
||||||
|
|
||||||
- [x] @worker2 **Реализовать Beneficiary Detail Page**
|
- [ ] @worker2 **Реализовать Beneficiary Detail Page**
|
||||||
- Файл: `app/(main)/beneficiaries/[id]/page.tsx`
|
- Файл: `app/(main)/beneficiaries/[id]/page.tsx`
|
||||||
- Переиспользует: `api.getWellNuoBeneficiary(id)`, логику из мобильного detail экрана
|
- Переиспользует: `api.getWellNuoBeneficiary(id)`, логику из мобильного detail экрана
|
||||||
- Компоненты: Табы (Обзор, Сенсоры, История), статус сенсоров, actions
|
- Компоненты: Табы (Обзор, Сенсоры, История), статус сенсоров, actions
|
||||||
- Готово когда: показывает все данные beneficiary и список подключенных сенсоров
|
- Готово когда: показывает все данные beneficiary и список подключенных сенсоров
|
||||||
|
|
||||||
- [x] @worker2 **Создать Add Beneficiary Flow**
|
- [ ] @worker2 **Создать Add Beneficiary Flow**
|
||||||
- Файл: `app/(auth)/add-loved-one/page.tsx`
|
- Файл: `app/(auth)/add-loved-one/page.tsx`
|
||||||
- Переиспользует: Валидацию из мобильного приложения
|
- Переиспользует: Валидацию из мобильного приложения
|
||||||
- Готово когда: создает beneficiary и правильно редиректит через NavigationController
|
- Готово когда: создает beneficiary и правильно редиректит через NavigationController
|
||||||
|
|
||||||
### Phase 5: Web Bluetooth Integration @worker1
|
### Phase 5: Web Bluetooth Integration @worker1
|
||||||
|
|
||||||
- [x] @worker1 **Реализовать Web Bluetooth Service**
|
- [ ] @worker1 **Реализовать Web Bluetooth Service**
|
||||||
- Файл: `services/webBluetooth.ts`
|
- Файл: `services/webBluetooth.ts`
|
||||||
- Переиспользует: UUIDs и логику из `services/ble/BLEManager.ts`
|
- Переиспользует: UUIDs и логику из `services/ble/BLEManager.ts`
|
||||||
- Функции: `scanForDevices()`, `connectToDevice()`, `writeCharacteristic()`, `readCharacteristic()`
|
- Функции: `scanForDevices()`, `connectToDevice()`, `writeCharacteristic()`, `readCharacteristic()`
|
||||||
- Готово когда: успешно находит и подключается к WP сенсорам
|
- Готово когда: успешно находит и подключается к WP сенсорам
|
||||||
|
|
||||||
- [x] @worker1 **Создать BLE Scanner Component**
|
- [ ] @worker1 **Создать BLE Scanner Component**
|
||||||
- Файл: `components/BLEScanner.tsx`
|
- Файл: `components/BLEScanner.tsx`
|
||||||
- Переиспользует: Логику из мобильного BLE scanner
|
- Переиспользует: Логику из мобильного BLE scanner
|
||||||
- Компоненты: Список найденных устройств, signal strength, connect buttons
|
- Компоненты: Список найденных устройств, signal strength, connect buttons
|
||||||
- Готово когда: отображает найденные WP устройства с возможностью подключения
|
- Готово когда: отображает найденные WP устройства с возможностью подключения
|
||||||
|
|
||||||
- [x] @worker1 **Реализовать WiFi Setup Flow**
|
- [ ] @worker1 **Реализовать WiFi Setup Flow**
|
||||||
- Файл: `components/WiFiSetup.tsx`
|
- Файл: `components/WiFiSetup.tsx`
|
||||||
- Переиспользует: Логику из `services/espProvisioning.ts`
|
- Переиспользует: Логику из `services/espProvisioning.ts`
|
||||||
- Компоненты: Список WiFi сетей, поля для SSID/пароль, progress indicator
|
- Компоненты: Список WiFi сетей, поля для SSID/пароль, progress indicator
|
||||||
- Готово когда: успешно настраивает WiFi на сенсоре через BLE
|
- Готово когда: успешно настраивает WiFi на сенсоре через BLE
|
||||||
|
|
||||||
- [x] @worker1 **Создать Sensor Management Pages**
|
- [ ] @worker1 **Создать Sensor Management Pages**
|
||||||
- Файл: `app/(main)/beneficiaries/[id]/add-sensor/page.tsx`
|
- Файл: `app/(main)/beneficiaries/[id]/add-sensor/page.tsx`
|
||||||
- Интеграция: BLE scanner + WiFi setup + API attachment
|
- Интеграция: BLE scanner + WiFi setup + API attachment
|
||||||
- Готово когда: полный flow от поиска до прикрепления сенсора к beneficiary
|
- Готово когда: полный flow от поиска до прикрепления сенсора к beneficiary
|
||||||
|
|
||||||
### Phase 6: Error Handling & Edge Cases @worker3
|
### Phase 6: Error Handling & Edge Cases @worker3
|
||||||
|
|
||||||
- [x] @worker3 **Реализовать BLE Error Handling (из рекомендации 3)**
|
- [ ] @worker3 **Реализовать BLE Error Handling (из рекомендации 3)**
|
||||||
- Файл: `hooks/useBLE.ts`, `components/BLEErrorFallback.tsx`
|
- Файл: `hooks/useBLE.ts`, `components/BLEErrorFallback.tsx`
|
||||||
- Сценарии: Bluetooth disabled, permission denied, device not found, connection lost
|
- Сценарии: Bluetooth disabled, permission denied, device not found, connection lost
|
||||||
- Компоненты:
|
- Компоненты:
|
||||||
@ -225,12 +225,12 @@
|
|||||||
4. Общий fallback: "Не получается? Попробуйте другой браузер или скачайте приложение"
|
4. Общий fallback: "Не получается? Попробуйте другой браузер или скачайте приложение"
|
||||||
- Готово когда: все BLE ошибки обрабатываются с понятными сообщениями и recovery actions
|
- Готово когда: все BLE ошибки обрабатываются с понятными сообщениями и recovery actions
|
||||||
|
|
||||||
- [x] @worker3 **Добавить Network Error Handling**
|
- [ ] @worker3 **Добавить Network Error Handling**
|
||||||
- Файл: `hooks/useApiWithRetry.ts`
|
- Файл: `hooks/useApiWithRetry.ts`
|
||||||
- Переиспользует: Error handling patterns из мобилки
|
- Переиспользует: Error handling patterns из мобилки
|
||||||
- Готово когда: API ошибки показывают appropriate messages и retry options
|
- Готово когда: API ошибки показывают appropriate messages и retry options
|
||||||
|
|
||||||
- [x] @worker3 **Создать Online Status Check**
|
- [ ] @worker3 **Создать Online Status Check**
|
||||||
- Файл: `hooks/useOnlineStatus.ts`
|
- Файл: `hooks/useOnlineStatus.ts`
|
||||||
- Что сделать: Простая проверка `navigator.onLine`, показать баннер если нет сети
|
- Что сделать: Простая проверка `navigator.onLine`, показать баннер если нет сети
|
||||||
- Готово когда: при потере сети показывается сообщение "Нет подключения к интернету"
|
- Готово когда: при потере сети показывается сообщение "Нет подключения к интернету"
|
||||||
@ -253,47 +253,54 @@
|
|||||||
|
|
||||||
### Phase 8: Testing & Quality Assurance @worker1
|
### Phase 8: Testing & Quality Assurance @worker1
|
||||||
|
|
||||||
- [x] @worker1 **Создать E2E тесты для критичных flows**
|
- [ ] @worker1 **Создать E2E тесты для критичных flows**
|
||||||
- Файлы: `tests/e2e/auth.spec.ts`, `tests/e2e/ble-setup.spec.ts`
|
- Файлы: `tests/e2e/auth.spec.ts`, `tests/e2e/ble-setup.spec.ts`
|
||||||
- Сценарии: Полный auth flow, BLE scan и setup, beneficiary management
|
- Сценарии: Полный auth flow, BLE scan и setup, beneficiary management
|
||||||
- Готово когда: тесты проходят на Chrome и Edge
|
- Готово когда: тесты проходят на Chrome и Edge
|
||||||
|
|
||||||
- [x] @worker1 **Добавить Unit тесты для BLE сервиса**
|
- [ ] @worker1 **Добавить Unit тесты для BLE сервиса**
|
||||||
- Файл: `services/__tests__/webBluetooth.test.ts`
|
- Файл: `services/__tests__/webBluetooth.test.ts`
|
||||||
- Mock: Web Bluetooth API для тестирования
|
- Mock: Web Bluetooth API для тестирования
|
||||||
- Готово когда: покрытие >80% для BLE логики
|
- Готово когда: покрытие >80% для BLE логики
|
||||||
|
|
||||||
## Success Criteria
|
## 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 ГОТОВ К ИСПОЛНЕНИЮ**
|
## 📊 Статус
|
||||||
|
|
||||||
Все вопросы отвечены:
|
**Выполнено:** Phase 1-3 + Dashboard (14 задач)
|
||||||
- ✅ BLE UUIDs извлечены из кодовой базы
|
**Осталось:** 11 задач (Phase 4-8)
|
||||||
- ✅ Домен: wellnuo.smartlaunchhub.com
|
|
||||||
- ✅ Offline: не требуется
|
|
||||||
|
|
||||||
Принятые рекомендации (добавлены в задачи):
|
### ✅ Сделано:
|
||||||
- ✅ Shared UI Components Library — общие компоненты mobile/web
|
- Next.js проект + Tailwind CSS
|
||||||
- ✅ Browser/BLE Fallback Strategy — graceful degradation при проблемах
|
- Browser compatibility check
|
||||||
|
- Auth flow (login, OTP, middleware, store)
|
||||||
|
- Dashboard page
|
||||||
|
- UI компоненты (Button, Input, Skeleton, Layout)
|
||||||
|
|
||||||
Отклонённые рекомендации:
|
### ❌ Не сделано (требует доработки Web Bluetooth API документации):
|
||||||
- ❌ PWA — не для MVP
|
- Beneficiary Detail Page
|
||||||
- ❌ WebSocket real-time updates — не для MVP
|
- Add Beneficiary Flow
|
||||||
- ❌ Analytics/Sentry — не для MVP
|
- 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
|
```bash
|
||||||
cd ~/Documents/Projects/WellNuo && ralphy-sonnet --prd PRD-WEB.md
|
cd ~/Documents/Projects/WellNuo && ralphy-opus --prd PRD-WEB.md
|
||||||
```
|
```
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user