Описание
Обзор моего созданного проекта - LiveEQ.ru
ИИ-Психолог — это полноценное full-stack веб-приложение для психологической поддержки с использованием искусственного интеллекта. Приложение предоставляет терапевтические сессии, психологические тесты, дневник настроения, образовательные материалы и административные функции.
🔧 Backend Stack
Основные технологии
Технология Версия/Описание
Python Основной язык бэкенда
FastAPI Асинхронный веб-фреймворк с автоматической документацией OpenAPI
SQLAlchemy ORM с поддержкой async операций
PostgreSQL Основная реляционная база данных
Redis Кэширование и брокер сообщений
Celery Распределённая очередь задач
asyncpg Асинхронный драйвер PostgreSQL
Аутентификация и безопасность
JWT (JSON Web Tokens) с refresh токенами
CORS и CSRF защита
Rate Limiting через Redis
Trusted Host Middleware
Secure Cookie Handling
Input Validation через Pydantic
🌐 Frontend Stack
Основные технологии
Технология Описание
React JavaScript библиотека для UI
React Router Клиентская маршрутизация SPA
Tailwind CSS Utility-first CSS фреймворк
Chart.js Визуализация данных (графики прогресса)
Context API Управление состоянием
Lazy Loading Оптимизация загрузки компонентов
Ключевые страницы
Home — Главный дашборд и чат-интерфейс
Auth — Страницы авторизации/регистрации
Admin — Административный интерфейс
Journey — Визуализация психологического пути
Tests — Интерфейс психологических тестов
Literature — Браузер образовательного контента
🤖 AI/ML интеграции
Провайдер Назначение
OpenAI GPT Общие терапевтические диалоги
GigaChat Специализированные психологические взаимодействия
AI-функционал
Эмоциональное состояние — отслеживание эмоций в чат-сессиях
Динамические режимы взаимодействия: explorer, anchor, guide, catalyst, intervenor, integrator
Автоматический выбор специалиста — AI определяет подходящий профиль терапии
Структурированный промптинг для психологических диалогов
📱 Telegram Integration
Telegram Mini App
React-based интерфейс внутри Telegram
Полная интеграция с основным приложением
Авторизация через Telegram
Нативные уведомления
Telegram Bot
Уведомления пользователям
Быстрый доступ к основным функциям
Интеграция с системой подписок
🐳 DevOps & Infrastructure
Контейнеризация
Компонент Технология
Docker Контейнеризация сервисов
Docker Compose Оркестрация контейнеров
Nginx Reverse proxy, SSL termination
🗄️ База данных
Характеристики схемы
Метрика Значение
Таблиц 47
ENUM типов 21
Модулей 10
Ключевые модели данных
User — пользователи и профили
ChatSession — сессии чата с AI
JourneyResult — результаты психологического пути
DiaryEntry — записи дневника
UserTherapyProfile — профиль терапии пользователя
Subscription — подписки и платежи
📊 Мониторинг и логирование
Инструмент Назначение
Loguru Структурированное логирование
Custom Middleware Логирование запросов
Health Checks Мониторинг состояния сервисов
Connection Pool Monitoring Контроль подключений к БД
Система логов
Автоматическая ротация логов
Политики хранения
Фильтрация по уровням (DEBUG/INFO/WARNING/ERROR)
⚡ Оптимизации производительности
Backend
Connection Pooling — пул подключений к БД
Redis Caching — кэширование с оптимизированным TTL
Async/Await — асинхронные операции везде
Background Tasks — фоновые задачи через Celery
Frontend
Code Splitting — разделение кода
Lazy Loading — ленивая загрузка компонентов
Optimized Bundle — оптимизированная сборка
🔐 Безопасность
JWT аутентификация с refresh токенами
HTTPS/SSL шифрование
CORS политики
CSRF защита
Rate Limiting
Input Validation & Sanitization
Secure Cookie handling
Trusted Host проверки
📈 SEO & Analytics
SSR/Prerendering для публичных страниц
Meta Tags — динамические теги для каждой страницы
Schema.org JSON-LD разметка
Open Graph и Twitter Cards
Yandex Metrica интеграция
A/B Testing система
🧪 Тестирование
Тип Инструменты
Backend Pytest, pytest-asyncio, FastAPI TestClient
Frontend Jest, React Testing Library
Database Кастомный test suite с несколькими режимами
API Автоматизированные endpoint тесты