Skip to content

BredikFoundation/TaskFlow-Backend

Repository files navigation

TaskFlow

Backend для TodoList веб-приложения.

Используется:

  • FastAPI — основной фреймворк для разработки с поддержкой асинхронных REST API и встроенной документацией.
  • SQLAlchemy — объектно-реляционное отображение (ORM) для работы с базой данных PostgreSQL.
  • Alembic — инструмент миграций для SQLAlchemy, используемый для управления схемой базы данных.
  • PostgreSQL — основная реляционная база данных проекта.
    • uuid-ossp - расширение для генерации uuid
    • pg_trgm - триграммная фильтрация похожих строк
  • Redis — используется для хранения refresh-токенов и реализации ограничения количества запросов (rate limiting).
  • MinIO — локальное S3-совместимое файловое хранилище, применяемое для загрузки и хранения пользовательских файлов и изображений.
  • Pydantic — библиотека для строгой валидации и сериализации данных, используемая при описании входных и выходных схем FastAPI.

Запуск проекта

  1. Клонировать репозиторий

    git clone https://github.com/ItzSkyReed/TaskFlow-Backend.git
  2. Установить Docker и Docker Compose

  3. Конфигурация окружения

    Пароль для Redis в .env и redis.conf должен совпадать

  4. Запуск проекта

    В корневой папке проекта (где находится docker-compose.yml):

    --build необходим только при первом запуске

    docker-compose up --build
  5. Доступ к приложению

    После запуска приложение будет доступно по адресу, указанному в конфигурации

    Стандартные пути:

Разработка

  1. Установка UV https://github.com/astral-sh/uv?tab=readme-ov-file#installation

    UV - пакетный менеджер для Python

  2. Создание виртуального окружения

    uv venv --python 3.13.5
  3. Установка зависимостей из pyproject.toml

    uv install -r pyproject.toml
  4. Установка зависимостей для разработки (опционально) Если планируется использовать такие инструменты, как ruff, mypy, pytest и т.п.:

    uv pip install -r requirements-dev.txt

Миграции

Создать Миграцию

alembic revision --autogenerate -m "<MSG>"

Применить миграцию

Миграции автоматически применяются при запуске через docker-compose

alembic upgrade head

Тесты

Запускать из корня проекта

docker compose -p taskflow_test -f docker-compose.test.yml --env-file .env.test up --build

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages