Skip to content

About

Telegram-бот для запоминания сообщений с FastAPI-бэкендом. PostgreSQL + JWT + Docker.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

ChatBotRemember

Telegram-бот для сохранения и запоминания сообщений пользователей.
Backend на FastAPI + PostgreSQL, асинхронный, с JWT-аутентификацией.

Python FastAPI PostgreSQL Docker

🚀 Быстрый старт

1. Клонирование и настройка

git clone https://github.com/EvgenySkorik/ChatBotRemember.git
cd ChatBotRemember
cp .env.example .env

Заполни .env:

TELEGRAM_BOT_API_KEY=токен_от_BotFather
POSTGRESQL_DATABASE_URL=postgresql+asyncpg://admin:admin@localhost/remember_bot_db
SECRET_JWT_KEY=любая_секретная_строка
ALEMBIC_MIGRATIONS_PATH=migrations

2. Локальный запуск

# Через Poetry
poetry install
poetry run python app/run.py

# Или через pip (нужны requirements.txt)
poetry export --format=requirements.txt --output=requirements.txt --without-hashes
pip install -r requirements.txt
python app/run.py

3. Запуск в Docker

docker-compose up --build

📍 Доступ

  • FastAPI (Swagger): http://localhost:8000/docs
  • Telegram-бот: t.me/ваш_бот
  • База данных: PostgreSQL на порту 5432

🗄️ Миграции (Alembic)

Если нужно накатить миграции:

poetry run alembic upgrade head

Не забудьте проверить alembic.ini:

sqlalchemy.url = postgresql+asyncpg://admin:admin@localhost/remember_bot_db

🛠 Стек

  • Backend: FastAPI (асинхронный)
  • База данных: PostgreSQL + SQLAlchemy (asyncpg)
  • Миграции: Alembic
  • Аутентификация: JWT
  • Telegram API: aiogram / python-telegram-bot
  • Управление зависимостями: Poetry
  • Контейнеризация: Docker + Docker Compose

📁 Структура проекта

.
├── app/               # Основной код приложения
│   └── run.py         # Точка входа
├── alembic/           # Миграции
├── database/          # Модели и конфигурация БД
├── docker-compose.yml
├── Dockerfile
├── pyproject.toml
└── .env.example

👤 Автор

Evgeny Skorik

About

Telegram-бот для запоминания сообщений с FastAPI-бэкендом. PostgreSQL + JWT + Docker.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

Contributors

Languages