Заметки о разработке CRM-системы
Небольшие заметки о разработке CRM-системы по продаже объектов недвижимости
По причине того что после 8-летнего хардкодинга рандомными людьми, код предыдущей CRM пришел в состояние квантовой запутанности, потребовалось срочно разработать новую CRM
Собственно, по ходу составления технического задания, становилось понятно, почему все предприятия со сколько нибудь сложным продуктом или бизнес-процессами, идут в свою разработку
И первое (Продукт), и второе (Процессы) накладывает фундаментальные требования к модели данных, формируя каркас бизнес-логики
Даже продукт в таком казалось бы распространенном виде деятельности, как недвижимость, может иметь существенные отличия, не предусматриваемые типовыми CRM
Например, у конкретного застройщика, квартиры могут быть с отделкой и без, с разными видами отделки. Располагаться они могут в разных подъездах в зависимости от вида отделки. Почему это важно? Потому, что данные записываются в проектную декларацию. А если мы хотим достичь автоматизации составления договоров, эти условия должны быть однозначно трактуемыми как пользователями, так и системой, что требует распределения помещений определенного типа по секциям
Касательно стека, хотелось:
1. API-driven, 2. Максимальную гибкость, 3. Минимальную стоимость, в общем все как у нормального заказчика.
Как оказалось, это возможно c headless CMS, что и позволило предложившему победить с более чем 2-кратным отрывом от ближайших конкурентов
Кратко об основных чертах предметной области
Определили следующие сущности и связи между ними:
















