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.pyStripe skeleton) - Apgrūtinājumu uzraudzība push (
encumbrance_diffjau 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
.capackformā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 FULLcron — disk space optimization - Backend SaaS
app.pyunvzd_local_service.pyapvienošana vienā Flask app'ā - Mobile pubspec dependency audit + bumps (vairāki ^pre-stable)
- Replace
home_widgetar 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¶
- Sprintā plānošana — ņem augstāko-prioritetes neuzsāktu uzdevumu, atbilstoši ietilpībai
- Retrospektīvā — atzīmē izpildītos, atklāj jaunos backlog'ā
- Stakeholder review — ja runā ar potenciālo investoru/partner — sākt no šī faila
- 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.