Веб-приложение для управления расписаниями маршрутизации звонков. Используется внутренним отделом для переключения контекстов (продажи/колл-центр) по расписанию и условиям.
Техническое решение:
• CRUD пользователей с JWT авторизацией (httponly cookie, bcrypt)
• CRUD контекстов маршрутизации и расписаний с JSON-конфигурацией
• Визуальный редактор правил: добавление/удаление условий через интерфейс без написания JSON
• REST API endpoint для проверки расписания: правила по order ASC, все условия AND, первое совпадение
• Toggle активности расписаний прямо из списка
• Кнопка "Проверить расписание" с datetime-picker
Архитектура:
• Python 3.11 + FastAPI (async) + SQLAlchemy 2.x + Pydantic v2
• 3 модели (User, Context, Schedule), 6 Pydantic-схем
• fastapi-amis-admin 0.7.3 (AMIS SDK frontend)
• Alembic миграции, Docker, seed admin user
• 372 теста (278 unit + 94 integration)
Результат:
• Полное покрытие ТЗ без замечаний по code review
• Защита целостности контекстов в 4 точках (REST + admin, delete + save)
• Сдано в срок, заказчик принял без замечаний
Технологии: Python 3.11, FastAPI, SQLAlchemy 2.x async, Pydantic v2, Alembic, MariaDB, fastapi-amis-admin, Docker, pytest