Создать базовую архитектуру для работы с API: axios клиент, типизация, паттерны React Query хуков. Готовый шаблон для всех будущих endpoints.
Подзадача 4.4.1: Axios клиент и типизация
- Установить
axios
- Создать
apps/web/lib/api/client.ts с настроенным axios instance
- Добавить interceptors (baseURL, headers, error handling)
- Создать
apps/web/lib/api/types.ts для общих типов API
Подзадача 4.4.2: Паттерн API сервиса
- Создать
apps/web/lib/api/example-service.ts как референс
- Реализовать типовые CRUD функции:
getAll(), getById(id), create(data), update(id, data), delete(id)
- Использовать дженерики для переиспользования
Подзадача 4.4.3: Паттерн React Query хуков
- Создать
apps/web/hooks/api/use-example.ts как референс
- Реализовать хуки:
useList(), useDetail(id), useCreate(), useUpdate(), useDelete()
- Настроить кэширование и invalidation
Подзадача 4.4.4: Документация паттерна
- Создать
docs/frontend/api-integration-pattern.md
- Описать шаги добавления нового endpoint
- Примеры использования всех хуков
- Конвенции именования и структура файлов
Blocked by #35
Создать базовую архитектуру для работы с API: axios клиент, типизация, паттерны React Query хуков. Готовый шаблон для всех будущих endpoints.
Подзадача 4.4.1: Axios клиент и типизация
axiosapps/web/lib/api/client.tsс настроенным axios instanceapps/web/lib/api/types.tsдля общих типов APIПодзадача 4.4.2: Паттерн API сервиса
apps/web/lib/api/example-service.tsкак референсgetAll(),getById(id),create(data),update(id, data),delete(id)Подзадача 4.4.3: Паттерн React Query хуков
apps/web/hooks/api/use-example.tsкак референсuseList(),useDetail(id),useCreate(),useUpdate(),useDelete()Подзадача 4.4.4: Документация паттерна
docs/frontend/api-integration-pattern.mdBlocked by #35