DV
Все проекты

Team Management Platform

Портал совместной работы для 20+ пользователей

Full-stack платформа с двойным интерфейсом (Telegram-бот + Web). 6 модулей: задачи Kanban, встречи с Zoom и AI-суммаризацией, аналитика GetCourse с KPI-дашбордом, мониторинг Telegram-каналов с LLM-анализом, рассылки и управление командой с RBAC. Мульти-провайдерный AI (OpenAI, Anthropic, Gemini).

Требуется авторизация — размещён на Vercel + Railway

FastAPI Next.js PostgreSQL Telegram API Zoom API OpenAI Anthropic
Team Management Platform

Обзор

Oncoschool Team Portal — полнофункциональная система управления командой с двумя точками входа: веб-интерфейс и Telegram-бот. Платформа объединяет управление задачами, планирование встреч, аналитику и интеграции с внешними сервисами (GetCourse, Zoom, Telegram) для команды из ~20 человек.

Архитектура

┌─────────────────────────────────────────────────────┐
│              Фронтенд (Vercel)                       │
│  Next.js 14 · TypeScript · Tailwind CSS · shadcn/ui  │
│            Recharts · Lucide React                    │
└──────────────────────┬──────────────────────────────┘
                       │  REST API + JWT Auth + SSE
┌──────────────────────▼──────────────────────────────┐
│              Бэкенд (Railway)                        │
│  FastAPI · Python 3.12 · SQLAlchemy 2.0 · Alembic   │
│            aiogram 3.x · APScheduler                  │
├──────────┬───────────┬───────────┬──────────────────┤
│PostgreSQL│ Zoom API  │ Telegram  │ AI-провайдеры     │
│ (Supabase│ S2S OAuth │ Bot API + │ OpenAI / Anthropic│
│  asyncpg)│           │ Pyrofork  │ / Gemini          │
│          │           │           │                   │
│          │ GetCourse │ Whisper   │                   │
│          │ API       │ STT       │                   │
└──────────┴───────────┴───────────┴──────────────────┘

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

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

ЗадачаРешение
Двойная точка входа (Web + Telegram)Общий слой сервисов между FastAPI и aiogram — бизнес-логика написана один раз
Мульти-провайдерный AIStrategy pattern с конфигурацией per-feature; переключение моделей без рестарта
Обработка голосовых командWhisper STT → AI структурный парсинг → интерактивное превью перед сохранением
Анализ Zoom-транскрипцийПарсинг VTT с таймстемпами, LLM-суммаризация, автоматическое извлечение задач
RBAC с привязкой к отделамТри роли (admin/moderator/member) с контролем на уровне полей через PermissionService
Real-time обновленияSSE с JWT через query-параметр, heartbeat для обхода буферизации reverse proxy

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

СлойТехнология
ФронтендNext.js 14, TypeScript, Tailwind CSS, shadcn/ui
ГрафикиRecharts
БэкендFastAPI, Python 3.12, aiogram 3.x
ORMSQLAlchemy 2.0 (async), Alembic
База данныхPostgreSQL (Supabase, asyncpg)
АвторизацияJWT + bcrypt, ролевая модель доступа
AIOpenAI, Anthropic, Google Gemini (мульти-провайдер)
STTOpenAI Whisper
ИнтеграцииZoom (S2S OAuth), Telegram (Bot + Pyrofork), GetCourse
ПланировщикAPScheduler (AsyncIO)
ДеплойVercel (фронтенд), Railway (бэкенд), Docker