Интеллектуальный Telegram бот для отслеживания настроения с анализом ИИ и веб-дашбордом
- Описание проекта
- Возможности
- Технологический стек
- Архитектура
- Быстрый старт
- Установка и настройка
- Использование
- API документация
- Разработка
- Развертывание
- Мониторинг
- Безопасность
- FAQ
- Участие в проекте
- Лицензия
AI Mood Diary Bot — это современное приложение для отслеживания эмоционального состояния, которое сочетает в себе удобный Telegram бот, мощный веб-интерфейс и искусственный интеллект для анализа настроения.
Помочь пользователям лучше понимать свои эмоциональные паттерны, отслеживать изменения настроения и получать персонализированные рекомендации для улучшения психологического благополучия.
- 🧘 Людям, практикующим осознанность
- 📊 Тем, кто хочет анализировать свои эмоциональные паттерны
- 🏥 Пациентам, ведущим дневник настроения по рекомендации специалистов
- 📝 Всем, кто хочет лучше понимать себя
- Интерактивное ведение дневника - простое добавление записей через чат
- Умные напоминания - персонализированные уведомления
- Быстрая статистика - мгновенный доступ к ключевым метрикам
- AI анализ в реальном времени - немедленная обратная связь
- Экспорт данных - выгрузка истории в различных форматах
- Детальная аналитика - углубленный анализ эмоциональных паттернов
- Интерактивные графики - визуализация трендов и корреляций
- Сравнение периодов - анализ изменений во времени
- Настраиваемые дашборды - персонализация отображения данных
- История записей - полный доступ к архиву с фильтрацией
- Управление профилем - гибкие настройки и предпочтения
- Анализ эмоций - определение эмоционального тона записей
- Выявление паттернов - обнаружение скрытых связей и тенденций
- Персональные рекомендации - советы на основе индивидуальных данных
- Прогнозирование трендов - предсказание будущих изменений настроения
- Корреляционный анализ - связь настроения с активностями и событиями
- Мультиуровневая аналитика - от дневных трендов до годовых паттернов
- Сравнительные отчеты - анализ прогресса во времени
- Экспорт данных - в форматах JSON, CSV, PDF
- Интеграции - возможность подключения внешних сервисов
Технология | Версия | Назначение |
---|---|---|
FastAPI | Latest | Основной веб-фреймворк |
SQLAlchemy | 2.0+ | ORM для работы с БД |
PostgreSQL | 15+ | Основная база данных |
Redis | 7+ | Кэширование и сессии |
python-telegram-bot | 20.7+ | Telegram Bot API |
Google Gemini AI | Latest | Анализ эмоций |
Pydantic | 2.5+ | Валидация данных |
Alembic | Latest | Миграции БД |
Технология | Версия | Назначение |
---|---|---|
Vue.js | 3+ | Frontend фреймворк |
Vuetify | 3+ | UI компоненты |
Pinia | Latest | Управление состоянием |
Chart.js | Latest | Графики и визуализация |
Vue Router | 4+ | Маршрутизация |
Axios | Latest | HTTP клиент |
Vite | Latest | Сборщик и dev сервер |
Технология | Назначение |
---|---|
Docker | Контейнеризация |
Docker Compose | Оркестрация сервисов |
Nginx | Reverse proxy и веб-сервер |
GitHub Actions | CI/CD pipeline |
Gunicorn | WSGI сервер для продакшена |
graph TB
User[👤 Пользователь]
TG[📱 Telegram]
Web[🌐 Веб-браузер]
User --> TG
User --> Web
TG --> Bot[🤖 Telegram Bot]
Web --> Frontend[💻 Vue.js Frontend]
Bot --> Backend[⚙️ FastAPI Backend]
Frontend --> Backend
Backend --> DB[(📊 PostgreSQL)]
Backend --> Cache[(⚡ Redis)]
Backend --> AI[🧠 Gemini AI]
Backend --> Queue[📋 Task Queue]
Queue --> Worker[👷 Background Worker]
- Telegram Bot - точка входа для мобильных пользователей
- Vue.js Frontend - веб-интерфейс для детальной аналитики
- FastAPI Backend - API сервер с бизнес-логикой
- PostgreSQL - основное хранилище данных
- Redis - кэширование и очереди задач
- Gemini AI - сервис анализа эмоций
- Nginx - reverse proxy и статические файлы
AI/ML компоненты:
- Google Gemini API integration для анализа настроения
- Full-stack approach: Telegram bot + web dashboard
- Data analytics pipeline для mood tracking
- FastAPI backend с аналитическими отчетами
- Docker 20.10+
- Docker Compose 2.0+
- Git
- Make (опционально, для удобства)
# 1. Клонируйте репозиторий
git clone https://github.com/R0D10Nq/ai-mood-diary-bot.git
cd ai-mood-diary-bot
# 2. Настройте окружение
cp .env.example .env
# Отредактируйте .env файл
# 3. Запустите проект
make dev
# или
docker-compose up -d
Готово! 🎉
- 🌐 Веб-интерфейс: http://localhost
- 🔧 API: http://localhost:8000
- 📚 Документация: http://localhost:8000/docs
/start
- начать работу с ботом/mood
- записать настроение дня/stats
- посмотреть краткую статистику/help
- помощь по командам
Откройте http://localhost:3000 для доступа к dashboard с аналитикой.
ai-mood-diary-bot/
├── backend/ # FastAPI backend
│ ├── app/
│ │ ├── api/ # API endpoints
│ │ ├── core/ # Настройки и конфигурация
│ │ ├── models/ # SQLAlchemy модели
│ │ ├── services/ # Бизнес-логика
│ │ └── bot/ # Telegram bot
│ ├── requirements.txt
│ └── main.py
├── frontend/ # Vue.js frontend
│ ├── src/
│ │ ├── components/ # Vue компоненты
│ │ ├── views/ # Страницы
│ │ ├── services/ # API сервисы
│ │ └── stores/ # Pinia stores
│ ├── package.json
│ └── vite.config.js
├── docker-compose.yml # Docker конфигурация
├── .github/workflows/ # CI/CD pipeline
└── docs/ # Документация
После запуска backend, API документация доступна по адресу:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
- Установите pre-commit hooks:
pip install pre-commit
pre-commit install
- Запустите тесты:
# Backend тесты
cd backend
pytest
# Frontend тесты
cd frontend
npm run test
- Форкните проект
- Создайте feature ветку (
git checkout -b feature/amazing-feature
) - Закоммитьте изменения (
git commit -m 'Добавил крутую фичу'
) - Запушьте в ветку (
git push origin feature/amazing-feature
) - Откройте Pull Request
Этот проект распространяется под лицензией MIT. См. файл LICENSE
для деталей.
Разработано с ❤️ для демонстрации навыков middle-разработчика.
Проект создан в образовательных целях и демонстрирует интеграцию современных технологий для создания full-stack приложения с ИИ.