Skip to content

Latest commit

 

History

History
98 lines (64 loc) · 3.32 KB

README.md

File metadata and controls

98 lines (64 loc) · 3.32 KB

API: Электронный журнал для оценок 📒

Python FastAPI Postgres SQLAlchemy Docker Gunicorn Poetry pytest

Основные возможности

1. Оценки

  • GET /api/v1/scores/all:

    • Получить список всех оценок (с пагинацией).
  • GET /api/v1/scores/{id}:

    • Получить информацию об оценке по ID.
  • POST /api/v1/scores/add:

    • Добавить новую оценку.
  • PUTCH /api/v1/scores/{id}:

    • Обновить существующую оценку по ID.
  • DELETE /api/v1/scores/{id}:

    • Удалить оценку по ID.

2. Ученики

  • GET /api/v1/students/all:

    • Получить список всех ученикоы (с пагинацией).
  • GET /api/v1/students/{id}:

    • Получить информацию об ученике по ID.
  • POST /api/v1/students/add:

    • Добавить нового ученика.
  • PUTCH /api/v1/students/{id}:

    • Обновить информацию о существующем ученике по ID.
  • DELETE /api/v1/students/{id}:

    • Удалить ученика по ID.

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

  1. Склонируйте репозиторий:
git clone https://github.com/storlay/e_journal_api.git
  1. В корне создайте и заполните файл .env

  2. Запустите проект с помощью Docker Compose:

docker compose -f infra/docker-compose.dev.yml up --build
  1. Приложение будет доступно по адресу http://127.0.0.1:8000

Использование

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

  1. Настройте доступ к базе данных в .env.test:
POSTGRES_DB=
POSTGRES_USER=
POSTGRES_PASSWORD=
  1. Запустите API в тестовом режиме с помощью Docker Compose:
docker compose -f infra/docker-compose.test.yml up --build
  1. Запустите тесты:
docker exec test_e_journal_api pytest -v