Реализован MVP телеграм бота для изучения языков

Основные компоненты:
- База данных (PostgreSQL) с моделями User, Vocabulary, Task
- Интеграция с OpenAI API для перевода слов
- Команды: /start, /add, /vocabulary, /help
- Сервисы для работы с пользователями, словарем и AI

Реализовано:
 Регистрация и приветствие пользователя
 Добавление слов в словарь с автоматическим переводом
 Просмотр личного словаря
 Архитектура проекта с разделением на слои

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-04 11:09:54 +03:00
parent df9f9f3d4d
commit 1a02c979d0
18 changed files with 894 additions and 2 deletions

29
database/db.py Normal file
View File

@@ -0,0 +1,29 @@
from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker, AsyncSession
from config.settings import settings
from database.models import Base
# Создание движка базы данных
engine = create_async_engine(
settings.database_url,
echo=settings.debug,
future=True
)
# Фабрика сессий
async_session_maker = async_sessionmaker(
engine,
class_=AsyncSession,
expire_on_commit=False
)
async def init_db():
"""Инициализация базы данных (создание таблиц)"""
async with engine.begin() as conn:
await conn.run_sync(Base.metadata.create_all)
async def get_session() -> AsyncSession:
"""Получение сессии базы данных"""
async with async_session_maker() as session:
yield session