How is200406moil/schedule-service-backend works
«Мой семестр» — веб-приложение для студентов, объединяющее групповое расписание и личные задачи с дедлайнами. Браузер обращается к FastAPI-приложению, которое обслуживает веб-страницы и API; пользователи и задачи хранятся в PostgreSQL, а расписание загружается через отдельный сервис. На графе показаны основные пользовательские потоки и слой сервисов/репозиториев. Часть маршрутов и клиент расписания не попали в предоставленные выдержки, поэтому связи для них ограничены документированными возможностями.
Main entry points: main.py FastAPI-приложение · auth.py Веб-аутентификация · tasks.py Веб-задачи · auth_service.py Аутентификация
Components 18
Приложение и интерфейс
- FastAPI-приложение
app/main.py - Веб-аутентификация
app/routers/ui/auth.py - Веб-задачи
app/routers/ui/tasks.py - HTML-шаблоны
app/web/templates.py
Пользователи и задачи
- Профиль пользователя
app/routers/ui/profile.py - Auth API
app/routers/auth.py - Tasks API
app/routers/tasks.py - Аутентификация
app/services/auth_service.py - Управление задачами
app/services/task_service.py - Профиль пользователя
app/services/user_service.py
Расписание и календарь
- Календарь и обзор
app/routers/ui - Schedule API
app/routers/schedule.py - Клиент расписания
app/clients/schedule.py
Данные
- Репозиторий пользователей
app/repositories/user_repository.py - Репозиторий задач
app/repositories/task_repository.py - PostgreSQL
app/core/database.py
Other components
- Студент в браузере
- Внешний сервис расписания
Connections 22
- Студент в браузере → FastAPI-приложение: отправляет запросы
- FastAPI-приложение → Веб-аутентификация: направляет запросы
- FastAPI-приложение → Веб-задачи: направляет запросы
- FastAPI-приложение → Календарь и обзор: направляет запросы
- FastAPI-приложение → Профиль пользователя: направляет запросы
- FastAPI-приложение → Auth API: направляет запросы
- FastAPI-приложение → Tasks API: направляет запросы
- FastAPI-приложение → Schedule API: направляет запросы
- Веб-аутентификация → Аутентификация: аутентифицирует и регистрирует
- Auth API → Аутентификация: обрабатывает учётные записи
- Веб-задачи → Управление задачами: управляет задачами
- Tasks API → Управление задачами: управляет задачами
- Профиль пользователя → Профиль пользователя: обновляет профиль
- Веб-аутентификация → HTML-шаблоны: рендерит страницы
- Веб-задачи → HTML-шаблоны: рендерит страницы
- Аутентификация → Репозиторий пользователей: читает и создаёт
- Профиль пользователя → Репозиторий пользователей: обновляет
- Управление задачами → Репозиторий задач: читает и изменяет
- Репозиторий пользователей → PostgreSQL: читает и записывает
- Репозиторий задач → PostgreSQL: читает и записывает
- Schedule API → Клиент расписания: получает расписание
- Клиент расписания → Внешний сервис расписания: запрашивает расписание