How boban736/rita-cat works
Ритка — PWA-трекер кормления кошки. Основной сценарий: пользователь записывает кормление, приложение хранит его и показывает дневной прогресс; отдельно учитываются закупки, остаток корма, вода и процедуры. По расписанию проверяется, достигнуты ли пороги кормления, и при необходимости отправляется push. Связи API с хранилищем и отправителем push подтверждены sampled source; связи UI с конкретными API оставлены без стрелок, поскольку исходники компонентов не были представлены.
Main entry points: supabase.ts Клиент Supabase · feedings/route.ts Кормления API · check-feeding/route.ts Проверка кормления · auth/route.ts Вход API
Components 34
Вход и доступ
- Вход API
app/api/auth/route.ts - Проверка доступа
lib/auth.ts
Кормления
- Кормления API
app/api/feedings/route.ts - Изменение кормления
app/api/feedings/[id]/route.ts - Пакетная запись
app/api/feedings/bulk/route.ts
Запасы и уход
- Закупки API
app/api/purchases/route.ts - Расчёт запаса
app/api/stock/route.ts - Смена воды API
app/api/water/route.ts - Процедуры API
app/api/procedures/route.ts - Настройки API
app/api/settings/route.ts - Статистика расходов
app/api/stats/spending/route.ts - Клиент Supabase
lib/supabase.ts
Напоминания и PWA
- Сводка статуса
app/api/status/route.ts - Проверка кормления
app/api/cron/check-feeding/route.ts - Проверка запасов
app/api/cron/check-stock/route.ts - Подписка на push
app/api/push/subscribe/route.ts - Ключ push
app/api/push/key/route.ts - Отправка push
lib/webpush.ts - PWA-обработчик
public/sw.js - PWA-манифест
app/manifest.ts
Интерфейс
- Экран входа
app/login/page.tsx - Главная панель
app/dashboard/page.tsx - Запись кормления
components/FeedingForm.tsx - История кормлений
components/FeedingList.tsx - Кормления наперёд
components/BulkFeedingModal.tsx - Прогресс лимита
components/DryProgress.tsx - Закупки
components/PurchaseModal.tsx - История закупок
components/PurchaseHistory.tsx - Остаток корма
components/StockWidget.tsx - Напоминание о воде
components/WaterWidget.tsx - Здоровье и процедуры
components/HealthTab.tsx
Other components
- Владелец кошки
- Supabase PostgreSQL
- Push-служба браузера
Connections 22
- Владелец кошки → Экран входа: входит
- Экран входа → Вход API: передаёт пароль
- Вход API → Проверка доступа: проверяет пароль
- Владелец кошки → Главная панель: открывает
- Кормления API → Проверка доступа: проверяет доступ
- Кормления API → Клиент Supabase: читает и пишет
- Изменение кормления → Клиент Supabase: изменяет записи
- Закупки API → Клиент Supabase: читает и пишет
- Расчёт запаса → Клиент Supabase: читает данные
- Смена воды API → Клиент Supabase: обновляет дату
- Процедуры API → Клиент Supabase: читает и пишет
- Настройки API → Клиент Supabase: читает и пишет
- Статистика расходов → Клиент Supabase: читает расходы
- Сводка статуса → Клиент Supabase: читает сводку
- Проверка кормления → Клиент Supabase: считает кормления
- Проверка кормления → Отправка push: отправляет напоминание
- Отправка push → Push-служба браузера: доставляет push
- Подписка на push → Клиент Supabase: сохраняет подписку
- Ключ push → Владелец кошки: отдаёт ключ подписки
- PWA-манифест → Владелец кошки: описывает установку
- PWA-обработчик → Push-служба браузера: обрабатывает push
- Клиент Supabase → Supabase PostgreSQL: запрашивает данные