Как я проектировал B2B2C-систему с нуля: от CRUD к DDD
Разработка сложной системы в одиночку — это не только про код. Это про то, как не утонуть в собственном легаси через 3 месяца.
В проекте ТурПоток (CRM/ERP для туризма) я начинал с монолита на FastAPI. К 50+ эндпоинтам стало ясно: править одну фичу = ломать три соседних. Переписал архитектуру на DDD + Clean Architecture посредством горизонтального рефакторинга.
Что делал: — Выделил bounded contexts по доменам (заявки, заказы, тарифы, пользователи и др.) — Вынес оркестрирующую логику и функционал ACL/Shared Kernel в слой Application — Ввел явные контракты между слоями, убрал сквозные зависимости, внедрил DI — Постепенно перенес работу с БД в Repository — Создал доменные модели для сущностей — Воспользовался критериями насыщения и в зависимости от условий выбрал анемичные/богатые модели — Измерил связность и неустойчивость до/после рефакторинга, статистическую значимость, метрики Холстеда, индекс сопровождаемости, Gini и энтропию (метрики поддерживаемости выросли)
Вывод: Архитектура — это не догма. Это способ снизить когнитивную нагрузку и сделать изменения безопасными. Даже в небольших и средних системах.
🔹 Код проекта под NDA, но готов показать схемы, метрики и архитектурные решения в демо-формате. 🔹 Открыт к Backend/Python ролям (Junior/Junior+). ТК РФ, удалёнка/гибрид. 🔹 GitHub: https://github.com/Delshi
#Python #FastAPI #DDD #CleanArchitecture #Backend #PostgreSQL #SystemDesign #JobSearch