projects/org/@biz-pusk/@it-app-pusk/DESIGN.md

← Назад в оглавление

DESIGN — Архитектура ПУСК

Версия: 1.0
Источник: ТЗ 4 компонента v2.0
Дата: 2026-03-07


1. Обзор системы

┌─────────────────────────────────────────────────────────┐
  КЛИЕНТЫ                                                
  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  
    Мобильное        Веб-app        PWA (буфер)   
    (прораб,        (директор,      для прораба   
    бригадир)       инженер,ПТО)    офлайн        
  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘  
└─────────┼─────────────────┼─────────────────┼──────────┘
          └─────────────────┼─────────────────┘
                            
              API GATEWAY + AUTH (JWT, 5 ролей)
                            
┌─────────────────────────────────────────────────────────┐
  BACKEND СЕРВИСЫ (Node.js)                              
  Projects  Storage  Chat  Notifications  Reports    
└─────────────────────────┬───────────────────────────────┘
                          
       PostgreSQL + S3 + Redis + Elasticsearch

2. Четыре компонента (бизнес-логика)

Компонент 1: Хранилище

Обслуживает все остальные компоненты. Фото с GPS/watermark, документы, сертификаты, чертежи.

Компонент 2: Знания

Статический. Каталог операций, инструкции, чек-листы, нормативы. Читается Процессом.

Компонент 3: Процесс

Живой, по каждому объекту. Обследование → Ордер → Этапы → Работы → Приёмка → ИД.

Компонент 4: Финансы

Параллельный. Читает данные из Процесса. Контракт, смета, закупки, КС-2/КС-3.


3. Каскад разработки (7 уровней)

Уровень Содержание Статус
1 — ЯДРО БД + авторизация + JWT + роли ⏳ В работе
2 — ПРОЦЕСС Проекты, этапы, чек-листы, приёмка
3 — ФАЙЛЫ Загрузка фото, watermark, хранилище
4 — КОММУНИКАЦИИ WebSocket чат, Web Push уведомления
5 — PWA manifest.json, Service Worker, офлайн
6 — ОТЧЁТНОСТЬ PDF фотоотчёт, ИД-пакет, реестр
7 — КОММЕРЦИЯ Биллинг, онбординг, мультитенант

4. Уровень 1 — ЯДРО (детали)

Структура проекта

pusk-backend/
├── server.js               Express сервер
├── database.js             SQLite схема + миграции
├── routes/
   ├── auth.js             /login /logout /invite /me
   ├── users.js            пользователи, роли
   └── org.js              организация, настройки
├── middleware/
   ├── auth.js             JWT-проверка
   └── roles.js            проверка прав
└── package.json

pusk-frontend/
├── index.html
├── app.js
├── screens/
   ├── Login.jsx
   ├── Dashboard.jsx
   └── ...
└── api.js                  вызовы к бэкенду

docker-compose.yml
nginx.conf

Технология БД

MVP: SQLite — встроенная, не нужен отдельный сервер. Переход на PostgreSQL — замена одной строки конфига.

Watermark на фото: Node.js + sharp — наложение на каждое фото: [Логотип] [Объект] | [GPS] [Дата/время] [ФИО]

Офлайн: Service Worker кэширует фото при плохом интернете, загружает при появлении связи.


5. YAML-конфигуратор (перспектива)

Ключевая дифференциация — адаптация под любую нишу без изменения кода. В архитектуру заложены хуки:
- Конфигурируемые этапы и их порядок
- Кастомные чек-листы по типу работ
- Шаблоны отчётов
- Расширяемые роли и права

Спецификация: требует отдельного документа DESIGN-yaml.md (не написан).


← Назад в оглавление