Версия: 1.0
Источник: ТЗ 4 компонента v2.0 + Каскадный план
Дата: 2026-03-07
organizations (
id, name, logo, plan, created_at
)
users (
id, org_id, name, email, password_hash,
role ENUM(director, engineer, foreman, brigade, pto),
invited_by, created_at, active
)
sessions (
id, user_id, token, expires_at, created_at
)
projects (
id, org_id, name, customer, address,
deadline, status, foreman_id, created_at
)
stages (
id, project_id, name, order, status,
template_key, created_at
)
tasks (
id, stage_id, name, assignee_id,
status, due_date, created_at
)
checklist_items (
id, task_id, text, type, required,
done, done_by, done_at
)
operations (
id, org_id, name, description, yaml_template, created_at
)
files (
id, org_id, entity_type, entity_id,
name, path, size, mime,
gps_lat, gps_lng, device,
uploaded_by, created_at
)
chat_messages (
id, project_id, user_id, text,
file_id, created_at, read_by
)
notifications (
id, user_id, type, payload, read_at, created_at
)
contracts (
id, project_id, number, amount,
customer, signed_at, created_at
)
estimates (
id, project_id, contract_id,
total, created_at
)
estimate_items (
id, estimate_id, name, unit,
quantity, price, created_at
)
purchases (
id, project_id, name, quantity,
unit, price, supplier, date, created_at
)
equipment (
id, org_id, name, type,
reg_number, created_at
)
equipment_records (
id, equipment_id, project_id,
hours, date, operator_id, created_at
)
brigades (
id, org_id, name, foreman_id, created_at
)
brigade_members (
id, brigade_id, user_id, rate, created_at
)
work_orders (
id, project_id, brigade_id,
task_id, amount, status, created_at
)
planning → in_progress → completed → archived
locked → in_progress → submitted → accepted | rejected
pending → in_progress → submitted → accepted | rejected