Модель данных и основные сущности

Модель данных FirstWork является фундаментом всей архитектуры системы. Она определяет структуру информации, взаимосвязи между сущностями и правила, по которым данные проходят через различные уровни платформы. В отличие от традиционных CMS, где модель данных формируется вокруг страниц или шаблонов, FirstWork использует модель, ориентированную на процессы. Это означает, что сущности описывают не только статические данные, но и поведение системы, включая сделки, транзакции, роли и финансовые операции.

Основой модели данных является пользователь. Пользователь может иметь роль, которая определяет доступные действия и сценарии взаимодействия с системой. Роли не являются декоративным элементом, а формируют логику поведения интерфейса, доступ к операциям и участие в сделках. Пользователь связан с балансом, транзакциями, заказами и другими сущностями, которые формируют его активность в системе.

Сущность услуги описывает предложение исполнителя. Она содержит параметры, необходимые для формирования заказа, включая стоимость, описание и дополнительные условия. На основе услуги создаётся заказ, который фиксирует намерение пользователя приобрести конкретную работу или услугу. Заказ является промежуточной сущностью между услугой и сделкой. Он фиксирует параметры, которые затем переходят в сделку.

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

Финансовая часть модели данных представлена балансом и транзакциями. Баланс является индивидуальным для каждого пользователя и отражает доступные средства. Транзакции фиксируют любые изменения баланса, включая пополнения, списания, комиссии и возвраты. Каждая транзакция связана со сделкой или системным событием, что обеспечивает прозрачность финансовых операций.

Дополнительными сущностями являются продвижение, уведомления, арбитраж и другие элементы, которые расширяют функциональность платформы. Эти сущности взаимодействуют с основными через события и внутренние механизмы ядра. Модель данных построена таким образом, чтобы каждая сущность имела чёткое назначение и не пересекалась по ответственности с другими частями системы.

Вся модель данных FirstWork ориентирована на предсказуемость, безопасность и масштабируемость. Она обеспечивает строгую структуру, которая позволяет системе работать стабильно даже при высокой нагрузке и большом количестве операций. Благодаря этому архитектура остаётся гибкой, а расширение функциональности не требует изменения фундаментальных частей платформы.