54 lines
4.2 KiB
Markdown
54 lines
4.2 KiB
Markdown
# mechanic-pwa
|
|
|
|
Собственное приложение для **сотрудников-механиков PremiumPark** — замена вендорского приложения «Механик» (NaughtySoft, `com.naughtysoft.ttc`). Все данные осмотров уходят в собственную PostgreSQL внутри Premium CRM, фото — в собственный MinIO. Никакого вендора и его 1С на критическом пути.
|
|
|
|
## Контекст
|
|
|
|
Сейчас механики PremiumPark делают осмотры машин через приложение вендора NaughtySoft, поставляемое на условиях абонентки. Подрядчик заморозил разработку, парк хочет независимости. После разведки вендорского стека (см. `recon/findings/01-static-analysis.md`) принято решение строить собственное PWA — оно охватывает все ключевые сценарии вендора (фото, метки повреждений, история, дифф «было/стало») и хостится в нашей экосистеме.
|
|
|
|
## Объём проекта
|
|
|
|
Только **приложение механика**. Это первый sub-project в umbrella-плане замены вендорских приложений. Будущие sub-projects (не в этом репозитории):
|
|
|
|
| Sub-project | Описание | Статус |
|
|
|---|---|---|
|
|
| **mechanic-pwa** (этот репо) | PWA для сотрудников-механиков парка | в работе |
|
|
| driver-app | Приложение для водителей — балансы, штрафы, платежи, обращения | отложено, будем после mechanic |
|
|
| vendor-bridge | Импорт исторических осмотров от вендора | отложено |
|
|
|
|
## Структура
|
|
|
|
```
|
|
mechanic-pwa/ ← корень git репо
|
|
├── docs/superpowers/
|
|
│ ├── specs/
|
|
│ │ ├── 2026-05-11-driver-app-recon-design.md ← разведка обоих вендорских приложений
|
|
│ │ └── 2026-05-16-premium-mechanic-design.md ← дизайн нашего mechanic-приложения
|
|
│ └── plans/
|
|
│ └── 2026-05-16-premium-mechanic-phase1.md ← план реализации Phase 1 MVP
|
|
├── mechanic-pwa/
|
|
│ ├── frontend/ ← React+Vite PWA (создаётся в Phase G)
|
|
│ └── assets/vendor-reference/ ← извлечённые из APK иконки вендора
|
|
├── recon/
|
|
│ ├── findings/ ← отчёт разведки (карта API, диаграммы)
|
|
│ ├── scripts/ ← mitmproxy фильтры, frida-скрипты, утилиты
|
|
│ ├── artifacts/ ← APK, декомпил, mitm dumps (не в git, .gitignore)
|
|
│ └── patched/ ← патченые APK для перехвата трафика (не в git)
|
|
├── ops/
|
|
│ ├── Caddyfile.fragment ← конфигурация Caddy для mechanic.pptaxi.ru
|
|
│ └── minio-cors.json ← CORS policy для bucket pp-inspections
|
|
└── README.md
|
|
```
|
|
|
|
> **Внимание:** backend-модуль `mechanic` (Phase B-F плана) живёт **не в этом репо**, а в виде ветки `feat/mechanic-mvp` внутри репозитория [`premium-crm`](http://100.64.0.9:3001/tremble7681/premium-crm). Этот репо — только frontend + специфика, документация и ops.
|
|
|
|
## Текущая фаза
|
|
|
|
**Phase 1 MVP** — см. [docs/superpowers/plans/2026-05-16-premium-mechanic-phase1.md](docs/superpowers/plans/2026-05-16-premium-mechanic-phase1.md). 10 phases (A-J), ~40 задач, 3-4 недели разработки.
|
|
|
|
## Деплой
|
|
|
|
Production URL: **https://mechanic.pptaxi.ru** (поддомен от 100.64.0.12, обслуживается Caddy)
|
|
Бэкенд: модуль `mechanic` в FastAPI Premium CRM (тот же VDS)
|
|
Хранилище фото: MinIO `pp-inspections` (тот же VDS)
|