Задача:
Разработать сервис, который хранит иерархию подразделений компании (департаменты, отделы, команды) с защитой от циклических связей (чтобы отдел не мог быть родителем самого себя).
Что сделано:
Создал CRUD-операции для работы с подразделениями (создание, редактирование, удаление, получение дерева).
Реализовал валидацию через Pydantic и миграции через Alembic.
Добавил умную проверку: если вы пытаетесь назначить подразделение родителем своего потомка — система запретит и вернёт ошибку.
Упаковал в Docker Compose + PostgreSQL 15.
Результат для бизнеса:
Готовый микросервис для оргструктуры. Можно интегрировать в корпоративный портал, HR-систему или CRM. Никаких циклических зацикливаний — данные всегда корректны.
Стек: FastAPI, SQLAlchemy, Alembic, PostgreSQL, Docker.
https://github.com/Asha-1703-V/Porg-structure.git