Skip to content

Repository files navigation

💳 SubTrack

Трекер подписок — наведите порядок в регулярных платежах

Узнайте, сколько на самом деле стоят ваши Netflix, Spotify и ещё два десятка сервисов, о которых вы забыли.

React TypeScript Vite Tailwind CSS MobX Vitest Deploy


✨ Возможности

📊 Дашборд расходов Итоговые траты за месяц с анимированными счётчиками и мини-графиками
🔔 Напоминания о списаниях Колокольчик уведомлений подскажет, что спишется на этой неделе
🪄 «Что если…» Отключайте подписки виртуально и сразу видьте экономию — ничего не меняя по-настоящему
🎯 Лимит бюджета Задайте месячный потолок расходов — хранится локально
🤖 Умный ассистент «Сколько я трачу в месяц?», «На чём можно сэкономить?» — отвечает на естественном языке
🗂 Фильтры и категории Музыка, кино, игры, VPN, образование — фильтруйте и находите нужное мгновенно
🌓 Светлая / тёмная тема Переключение на лету, тема запоминается
🌍 Мультивалютность RUB · USD · EUR с пересчётом в месячную стоимость

🖼 Интерфейс

Скриншот дашборда

┌───────────────────────────────────────────────┬──────────────────┐
│  Подписки                                     │  Фильтры         │
│  Контроль регулярных платежей                 │  ┌────────────┐  │
│                                               │  │ Категория  │  │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐          │  ├────────────┤  │
│  │ ~2 400₽ │ │ 12 шт.  │ │ ▂▃▅▇    │          │  │ Статус     │  │
│  │ в месяц │ │ активных│ │ график  │          │  └────────────┘  │
│  └─────────┘ └─────────┘ └─────────┘          │                  │
│                                               │                  │
│  ┌─────────────────────────────────────────┐  │                  │
│  │ Spotify      Музыка     299₽/мес   📅 3 │  │                  │
│  │ iCloud+      Облако      59₽/мес   📅 9 │  │                  │
│  └─────────────────────────────────────────┘  │                  │
└───────────────────────────────────────────────┴──────────────────┘

⚙️ Технологии

Слой Инструменты
Ядро React 19 + TypeScript + Vite 8
Состояние MobX 7 для UI-стора · TanStack Query для серверных данных
UI Tailwind CSS · shadcn/ui · Recharts · lucide-react · Geist Variable
Формы React Hook Form + Zod
Тесты Vitest

🏗 Архитектура

Проект построен по методологии Feature-Sliced Design:

src/
├── app/            # Инициализация: провайдеры, layout, роутинг приложения
├── pages/          # Страницы
│   └── subscriptions/
├── widgets/        # Крупные композиционные блоки
│   ├── subscriptions/   # таблица, статистика, фильтры, пустое состояние
│   └── notifications/   # колокольчик уведомлений
├── features/       # Пользовательские сценарии
│   ├── subscriptions/   # CRUD-хуки, форма подписки, стор фильтров
│   ├── whatif/          # симулятор отключения подписок
│   ├── budget/          # лимит бюджета
│   ├── notifications/   # напоминания о списаниях
│   ├── assistant/       # AI-ассистент: интенты, форматирование ответов
│   └── theme/           # светлая / тёмная тема
├── entities/       # Бизнес-сущности
│   └── subscription/    # типы, константы, расчёты, API
├── shared/         # Переиспользуемое: утилиты форматирования, анимации чисел, api-client
└── components/ui/  # Дизайн-система (shadcn/ui)

Диалоги формы подписки и «Что если» загружаются через lazy() отдельными чанками — открываются без задержки, не утяжеляя основной бандл.

🚀 Быстрый старт

# Требуется Node.js >= 20 и pnpm
corepack enable

git clone <repo-url>
cd SubTrack
pnpm install

# Запуск dev-сервера
pnpm dev

🧪 Скрипты

Команда Действие
pnpm dev Dev-сервер Vite с HMR
pnpm build Проверка типов (tsc -b) + production-сборка
pnpm test Прогон unit-тестов (Vitest)
pnpm lint ESLint по всему проекту
pnpm preview Локальный предпросмотр production-сборки

☁️ Деплой

Конфигурация для Netlify уже в репозитории (netlify.toml):

  • сборка: pnpm install --frozen-lockfile && pnpm build
  • публикация: dist/
  • SPA-fallback: любой маршрут отдаёт index.html

📄 Лицензия

MIT

About

Трекер подписок и регулярных платежей: контроль расходов, предупреждения о списаниях, оффлайн-хранение и реальная аналитика.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages