DV
Все проекты

Personal Data & Automation Hub

Единая платформа личных данных и автоматизации процессов

Единая среда данных и автоматизации, объединяющая задачи, данные поиска работы, Google Calendar, Google Drive, Telegram и Garmin Connect. Включает автоматический сбор данных, межсистемные процессы, дашборды и ежедневные AI-сводки.

PostgreSQL API Integration Workflow Automation FastAPI Next.js Telegram MTProto Garmin Connect LLM Integrations
Personal Data & Automation Hub

Обзор

Единая среда данных и автоматизации, объединяющая задачи, данные поиска работы, Google Calendar, Google Drive, Telegram и Garmin Connect. Включает автоматический сбор данных, межсистемные процессы, дашборды и ежедневные AI-сводки. PostgreSQL связывает данные между модулями, а интеграции по расписанию обеспечивают регулярный сбор данных и отчётность. FastAPI и Next.js обеспечивают бэкенд и веб-интерфейс.

Архитектура

┌─────────────────────────────────────────────────────┐
│              Фронтенд (Vercel)                       │
│  Next.js 16 · React 19 · TypeScript · Tailwind v4   │
│       shadcn/ui · React Query · Recharts             │
└──────────────────────┬──────────────────────────────┘
                       │  REST API + JWT Auth
┌──────────────────────▼──────────────────────────────┐
│              Бэкенд (Railway)                        │
│  FastAPI · Python 3.12 · SQLAlchemy 2.0 · Alembic   │
├──────────┬───────────┬───────────┬──────────────────┤
│PostgreSQL│ Google    │ Telegram  │ AI-провайдеры     │
│ (asyncpg)│ Calendar  │ MTProto + │ OpenAI / Anthropic│
│ 19 моделей│ OAuth2   │ Bot API   │ / Gemini          │
│          │           │           │                   │
│          │ Garmin    │ Job APIs  │                   │
│          │ Connect   │ Adzuna /  │                   │
│          │           │ SerpAPI   │                   │
└──────────┴───────────┴───────────┴──────────────────┘

Ключевые возможности

Технические решения

ЗадачаРешение
Мульти-провайдерный AI (OpenAI, Anthropic, Gemini)Паттерн адаптера с фабрикой; API-ключи зашифрованы Fernet
Чтение Telegram-каналовДвойной подход: Telethon (MTProto) для чтения + Bot API для уведомлений
Rate limiting Garmin (нет публичного API)Circuit breaker с экспоненциальным откатом (15→120 мин), таблица логов синхронизации
Изоляция демо-данныхТри уровня защиты: фильтр в запросах БД, dependency в API, флаг на фронтенде
Фоновое планированиеAPScheduler с timezone для polling, генерации дайджестов и синхронизации

Технологический стек

СлойТехнология
ФронтендNext.js 16 (App Router), React 19, TypeScript
СтилизацияTailwind CSS v4, shadcn/ui
СостояниеTanStack React Query, React Table
ГрафикиRecharts
БэкендFastAPI, Python 3.12
ORMSQLAlchemy 2.0 (async), Alembic
База данныхPostgreSQL (asyncpg)
АвторизацияJWT + bcrypt, ролевая модель доступа
AIOpenAI, Anthropic, Google Gemini (мульти-провайдер)
ИнтеграцииGoogle Calendar, Telegram (Telethon + Bot), Garmin Connect
ДеплойVercel (фронтенд), Railway (бэкенд + БД)
ТестированиеVitest, Pytest