Pāriet uz saturu

CA Navigator — Roadmap

Atjaunots: 2026-05-07 • Horizonts: ~3 mēneši (2026-05 → 2026-08)

Šis ir dzīvs dokuments. Atjauno reizi 2 nedēļās retrospektīvā. Par konkrētiem uzdevumiem — sk. GitLab Issues + Milestones.


Viziālais stāvoklis šodien

                              ┌─────────────────┐
                              │  Mobile (APK)   │
                              │  v1.11.x        │
                              │  ~50 lietotāji  │
                              └────────┬────────┘
                                       │
                              HTTPS    │     LVM/VMD/LAD/DAP
                                       │     (publiski API)
                                       ▼
              ┌────────────────────────┴─────────────────────┐
              │  klm-vzd-service (Hetzner, dockerized)       │
              │  ├─ /api/property/<x>           (VZD spatial)│
              │  ├─ /api/forest/by-cadastre     (VMD MVR)    │
              │  ├─ /api/property/<x>/lad       (LAD spatial)│
              │  ├─ /api/property/<x>/mikroliegumi           │
              │  ├─ /api/heritage/nearby        (OSM)        │
              │  ├─ /api/forest/water-zones     (LVĢMC)      │
              │  ├─ /api/subscription/...                    │
              │  ├─ /metrics                    (Prometheus) │
              │  └─ /health                                  │
              └─┬────────────────────────────────────────────┘
                │ PostgreSQL (15 GB) — VZD KIS, VMD MVR, LAD, mikroliegumi, OSM
                │ Cron: VZD/VMD weekly Mon, LAD weekly Tue, backup 6h
                ▼
              ┌─────────────────────────────────────────────┐
              │  Observability (Hetzner)                    │
              │  Prometheus + Grafana + Alertmanager → ntfy │
              │  16 alert rules, 4 dashboards               │
              └─────────────────────────────────────────────┘

Kvalitātes stāvoklis (2026-05-07): - ✓ Backend production-grade, observability pilna - ✓ LAD integrācija (Phase 1 server, Phase 1.5 mobile-ar-fallback) - ✓ Sentry konfigurēts mobilajai (DSN aktīvs build_with_sentry.bat) - ✓ Maestro 30+ flows (smoke + critical paths + full regression) - ☐ Lielākā daļa servisu bez unit testiem — 8.7k jaunu lines no local-sync MR - ☐ Lauka/lietotāju validācija — anekdotiska, ne sistemātiska - ☐ Mobile CI/CD — Build manuāli ar build_with_sentry.bat, nav auto-deploy


Q3 mērķi (3 mēnešu horizonts)

Sprintā 12: Quality Foundation (2026-05-12 → 05-23)

Mērķis: Pārstāt deploy'ot kodu bez verifikācijas. Grīda zem nākamajiem feature'iem.

# Uzdevums Owner Acceptance
Q12-1 Sentry crash reporting verified ar test crash Andrievs Sentry dashboard rāda fake crash event
Q12-2 Unit testi: 5 svarīgākie servisi ≥10 testi katram Claude+Andrievs flutter test → 50+ testi pass
Q12-3 Maestro critical_paths.yaml skrien daily uz testa device'a Andrievs GitLab CI cron job + screenshots artifact
Q12-4 UX_AUDIT v1 — pirmie 5 ekrāni iziet Andrievs docs/UX_AUDIT_2026-05.md ar P0/P1 issue list
Q12-5 Mobile CI/CD: GitLab pipeline flutter build apk --release ar artifact Andrievs Push uz main → APK download links GitLab

Sprintā 13: Field Validation (2026-05-26 → 06-06)

Mērķis: Apliecināt, ka aplikācija strādā mežā ar reāliem mežstrādniekiem.

# Uzdevums Acceptance
Q13-1 3 lauka beta testētāji + Google Form 10 jautājumiem 3 nedēļas, vismaz 5 jautājuma atbildes katram
Q13-2 UX_AUDIT v2 — atlikušie 9 ekrāni + P0 issues fix Visi P0 issues GitLab Issues + 50% closed
Q13-3 Battery drain mērīts 8h field session ar Battery Historian <30% battery 8h GPS active
Q13-4 Offline mode regression — 24h bez interneta ievades Saglabā ievadītos datus + sinhronizē atjaunojot
Q13-5 Skaņas alarm dzirdams motorzāģa fonu Lauka video pierādījums

Sprintā 14: Polish & Telemetry (2026-06-09 → 06-20)

Mērķis: Datu virzīta UX uzlabošana — zinām, kur lietotāji aprausies.

# Uzdevums Acceptance
Q14-1 Mobile telemetrija: ekrānu apmeklējumi → backend event_log tabula Grafana dashboard "Mobile usage" rāda top 10 ekrāni
Q14-2 UX issues no Q12+Q13 fix batch ≥80% P0/P1 closed
Q14-3 onboarding atskate funkcija (Q12 UX_AUDIT P3 issue) Tester apstiprina, ka var atgriezties
Q14-4 Atļauju atteikums — UX flow ar konkrētiem soļiem (LAUKS-9.3) Test rāda skaidru "Iestatījumi → Atļaujas" CTA

Sprintā 15: Growth Prep (2026-06-23 → 07-04)

Mērķis: Sagatavot infra/apliecību nākamajai izaugsmes fāzei.

# Uzdevums Acceptance
Q15-1 Stripe abonementu pilna integrācija (jau skeleton) Reāls 1€ test abonements + cancel
Q15-2 Mobile auto-update channel (Firebase App Distribution vai GitLab) Pirmais auto-update push 5 testētājiem
Q15-3 Internal admin dashboard — Grafana folder "Business" ar abonementi/notifikācijas 3 paneļi ar reāliem datiem
Q15-4 NKMP heritage real integration (placeholder OSM aizvietošana) DAP NKMP datu piesaiste, ja publiski pieejams

Sprintā 16: Public Launch (2026-07-07 → 07-18)

Mērķis: Beta phase end → Play Store launch.

# Uzdevums Acceptance
Q16-1 Privacy Policy + Terms aktualizēti Juridiska review pabeigta
Q16-2 Play Store ieraksts: screenshots, apraksts, video Internal review pass
Q16-3 Marketing landing page (landing/ repo'ā) LV + EN versijas live
Q16-4 Support kanāls (e-pasts vai Telegram) <24h response SLA

Backlog (nav vēl prioritetēts)

Features

  • Multi-user company plāns (server app.py Stripe skeleton)
  • Apgrūtinājumu uzraudzība push (encumbrance_diff jau backend) — pievienot mobile UI
  • Forest health analītika (LIDAR vegetation height + slope risk)
  • LAD declared field gads selektors (pašlaik tikai pēdējais gads)
  • Offline LAD pakotnes .capack formātā (LAD docs Phase 2)
  • Sentinel-2 NDVI overlay
  • iOS build (pašreiz tikai Android)

Tech debt

  • DrawingToolbar M3 migrācija pabeigt (Sprint 11 batch 4)
  • PG VACUUM FULL cron — disk space optimization
  • Backend SaaS app.py un vzd_local_service.py apvienošana vienā Flask app'ā
  • Mobile pubspec dependency audit + bumps (vairāki ^pre-stable)
  • Replace home_widget ar native widget approach (battery + reliability)

Operacionālā

  • Backend disk space — Hetzner plāna upgrade vai PG external volume (75% pilns)
  • Backup verifikācija — restore drill 1× mēnesī
  • DR test plan: PG corruption recovery procedure (jau dokumentēts, ne testēts)

Lēmumu reģistrs

Datums Lēmums Iemesls
2026-05-06 LAD Phase 1 server-side (ne mobile-only) Spatial join lokāli ātrāks; viens HTTP mobilei
2026-05-06 LAD ainavu axis order = lon,lat LAD ArcGIS WFS neseko WFS 2.0 spec; empīrisks atklājums
2026-05-07 Observability stack pēc Variants C (Grafana + Prometheus) Ilgtermiņa skalējamība + alerting; +445 MB RAM, ~2 GB disk
2026-05-07 Local sync MR pirms unit testu rakstīšanas Lai testi runātu pret īsto kodu, ne diff'i

KPI — kā mēs zinām, ka virzāmies

Šie metric'i ir Grafana KLM Operations dashboard'a paneļos vai mērāmi manuāli:

KPI Šobrīd (2026-05-07) Q12 mērķis Q15 mērķis
Reģistrētas ierīces ~50 (estimate) 60 150
Aktīvas abonēšanas (Mani īpašumi) 19 30 100
Notifikācijas/24h delivered <10 20 50
Mobile crash-free % (Sentry) nezināms mērīt >99.5%
Backend /health p95 latency <2s <1s <500ms
Test coverage (flutter test) ~10% 30% 50%
Cron job success rate nezināms 99% 99.5%
Disk usage (Hetzner /) 75% <75% <75% (po PG VACUUM)

Kā šo dokumentu lieto

  1. Sprintā plānošana — ņem augstāko-prioritetes neuzsāktu uzdevumu, atbilstoši ietilpībai
  2. Retrospektīvā — atzīmē izpildītos, atklāj jaunos backlog'ā
  3. Stakeholder review — ja runā ar potenciālo investoru/partner — sākt no šī faila
  4. Onboarding — jaunais kontributors lasīs šo, lai saprastu kontekstu

Roadmap nav projekts plāns ar Gantt diagrammām — tas ir virziens + ne-pārkāpjamie lēmumi. Konkrētie soļi dzīvo GitLab Issues + Milestones.