# 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)