Разработал и запустил личный кабинет для детской спортивной федерации. Система объединила работу родителей, взрослых спортсменов, тренеров и администрации: от анкеты и договора до посещаемости, заявок и оплаты занятий.
Внедрено на боевом сервере:
• регистрация по электронной почте и аудит согласий на обработку персональных данных;
• профили спортсменов, льготы, разряды, аттестации и защищённые документы;
• формирование DOCX-договора и комплекта согласий из управляемых шаблонов;
• PDF-справки для школы, налогового вычета и участия в соревнованиях;
• залы, группы, расписание, журнал посещаемости и Excel-выгрузки;
• мероприятия и заявки родителей с проверкой правил допуска;
• кабинет тренера, табель рабочего времени и сообщения родителям;
• банковский эквайринг, подписанные уведомления банка, возвраты, сверка статусов и импорт истории платежей;
• ролевой доступ и приватное хранение файлов вне публичного каталога.
Архитектура: модульный Django-монолит, PostgreSQL, транзакции и идемпотентные операции. Развёртывание: Docker Compose, Gunicorn, Nginx, HTTPS и резервное копирование.
Результат: анкеты, договоры, документы, посещаемость, мероприятия и платежи работают в одной системе вместо разрозненных таблиц, файлов и переписки. Критические правила доступа, миграции и интеграции защищены более чем 3 700 автоматизированными тестами.
Технологии: Python 3.12, Django 5.2, PostgreSQL 16, Celery, Redis, Bootstrap, docxtpl, openpyxl, httpx, Docker, Nginx.