Skip to content

Серверная часть приложения для управления задачами с использованием FastAPI и MongoDB. Проект обеспечивает высокую производительность, асинхронную обработку запросов и включает 94% тестовое покрытие.

License

Notifications You must be signed in to change notification settings

IAMN1/Planner_app_backend_by_fastAPI

Repository files navigation

Planner App Backend (FastAPI)

FastAPI MongoDB Pytest Coverage

Серверная часть приложения для управления задачами с использованием FastAPI и MongoDB. Проект обеспечивает высокую производительность, асинхронную обработку запросов и включает 94% тестовое покрытие.

Ключевые особенности

  • Полный CRUD функционал для управления задачами
  • JWT аутентификация с защищенными эндпоинтами
  • Валидация данных через Pydantic схемы
  • Асинхронное взаимодействие с MongoDB
  • Автогенерация документации (Swagger/ReDoc)
  • Комплексное тестирование с использованием pytest
  • Контейнеризация через Docker

Технологический стек

Основные компоненты

  • Python 3.10+
  • FastAPI - высокопроизводительный веб-фреймворк
  • MongoDB - NoSQL база данных
  • Motor - асинхронный драйвер MongoDB
  • Pydantic - валидация данных и сериализация
  • JWT - аутентификация через JSON Web Tokens

Тестирование

  • Pytest - фреймворк для тестирования
  • HTTPX - асинхронный HTTP клиент
  • Coverage.py - анализ покрытия кода тестами

Вспомогательные инструменты

  • Poetry - управление зависимостями
  • Docker - контейнеризация приложения
  • GitHub Actions - CI/CD пайплайн
  • pre-commit hooks - автоматические проверки кода

Установка и запуск

Предварительные требования

  • Python 3.10+
  • MongoDB 5.0+

Пошаговая инструкция

  1. Клонируйте репозиторий:
git clone https://github.com/IAMN1/Planner_app_backend_by_fastAPI.git
cd Planner_app_backend_by_fastAPI
  1. Установите зависимости из requirements.txt
pip install -r requirements.txt
  1. Настройте окружение
cp .env.example .env
# Отредактируйте .env при необходимости
  1. Запустите приложение
python main.py

Тестирование

  1. Запуск тестов с отчетом о покрытии
pytest
  1. Генерация отчета о покрытии
coverage run -m pytest
coverage report

Docker

  1. Соберите образ
docker build -t planner-backend .

📜 Лицензия

Этот проект распространяется под лицензией Apache 2.0.
Copyright © [2025] [IAMN1]

About

Серверная часть приложения для управления задачами с использованием FastAPI и MongoDB. Проект обеспечивает высокую производительность, асинхронную обработку запросов и включает 94% тестовое покрытие.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published