Tech Spec Backend Reports - moiaa/College_Management_System GitHub Wiki

Техническое задание на разработку бэкенда модуля "Отчёты"

Ниже — структура ТЗ (общий шаблон, см. также Getting Started). Команда заполняет каждый раздел своим содержанием; текст в квадратных скобках — подсказка, что писать, а не готовый ответ.

1. Назначение модуля

[Что делает модуль и зачем он нужен пользователям системы]

2. Функциональные требования

2.1. Основные функции

  • [Функция 1]
  • [Функция 2]
  • [Функция 3]

2.2. Пользовательские сценарии

Сценарий 1: [Название сценария]

  1. [Действие пользователя / другого модуля]
  2. [Что делает backend]
  3. [Что происходит с данными]

3. Нефункциональные требования

  • Производительность: [требования, если есть]
  • Безопасность: [кто и как может обращаться к эндпоинтам модуля]
  • Совместимость: [зависимости от общих компонентов core/]

4. Интерфейсы

4.1. API Endpoints

Согласовывается с frontend-командой этого же модуля до начала Модуля 2 — что это значит и как оформлять, см. 🔌 API-контракт.

Метод Endpoint Описание Успешный ответ Ошибки
GET /api/v1/reports/... [...] [...] [...]
POST /api/v1/reports/... [...] [...] [...]

4.2. Взаимодействие с другими модулями

  • [Модуль]: [что именно нужно от другого модуля или ядра core/]

5. Структура базы данных

5.1. Таблицы

Таблица: [table_name]

Поле Тип Описание
id Integer Первичный ключ
... ... ...

6. Критерии приёмки

  • Все функции реализованы
  • Тесты написаны и проходят (pytest)
  • CI зелёный (pytest + flake8)
  • Раздел 4.1 согласован с specification-frontend.md этого модуля (см. чек-лист в 🔌 API-контракт)
  • Pull Request создан и принят

7. Приложения

[Схемы, диаграммы, если нужны]