Описание задачи

Разработать простую админ-панель для управления расписаниями сотрудников (отдел продаж, колл-центр). Система должна поддерживать авторизацию, CRUD-операции, а также REST API с готовой документацией.

Обязательные технологии

  • Python
  • FastAPI
  • SQLAlchemy
  • Pydantic
  • Docker (+ Docker Compose)

Дизайн админки

На базе fastapi-amis-admin или аналогичного фреймворка.

Модели данных

  • users (id, name, fullname, passwd_hash, is_active, is_admin) - пользователи
  • contexts (id, name, description) - контексты
  • schedules (id, name, json_config, is_active) - расписания

Функционал админки

  • Авторизация (логин/пароль)
  • CRUD пользователей (только для is_admin=true)
  • CRUD контекстов (настройки/справочники)
  • CRUD расписаний (с мультиселектом дней недели, месяцев, дней месяца)

API (доступно в Swagger /docs)

  • GET /api/route-context - получение активного контекста
  • GET /api/is-schedule-active - проверка, активно ли расписание в данный момент

Требования к сдаче

  • Dockerfile + docker-compose (внешняя MariaDB)
  • Alembic миграции
  • README с инструкцией по запуску
  • Unit-тесты (pytest) и интеграционные тесты

Критерии приемки

  • Docker-compose up запускает проект без ошибок
  • Админка доступна по /admin
  • CRUD работает корректно
  • API возвращает корректный JSON
  • Все тесты проходят

Разработка кастомной корзины с индивидуальным дизайном для Tilda

Требуется создать нестандартную систему корзины на платформе Tilda с уникальным дизайном, сохранив базовую функциональность. Необходимо реализовать выбор сумм через всплывающие окна и обновление интерфейса в реальном времени.