licence-server/docs/loggerservice/00-vizija-i-mvp.md
Nenad Djukic 1abe7176ec Preimenovanje: dal-license-server -> licence-server (+ debrendiranje)
Vlasnik izlazi iz DAL price za ovaj projekat - postaje samostalan proizvod.
Preimenovanje je mehanicko (import putanje, imena fajlova/baze/UI naslova),
NIJEDNA linija poslovne logike u internal/handler ili internal/service nije
dirana - go build, go vet i go test ./... prolaze cisto pod novim imenom.

- go.mod: module dal-license-server -> licence-server; 28 import linija u
  13 .go fajlova usaglaseno
- internal/config/config.go (+test): default DB_NAME licence_db
- HTML sabloni (7 stranica) + 7 Playwright e2e spec fajlova: "DAL License
  Server" -> "Licence Server" u title/nav-brand, testovi usaglaseni u istom
  prolazu (nista ne moze da se razdvoji)
- package.json/package-lock.json/.gitignore/.claude/project.json: ime
  projekta/binarnog fajla/work_dir
- Usput: package.json je u repository.url nosio OTVORENU Gitea lozinku u
  cistom tekstu - uklonjena (URL sad bez kredencijala). Lozinka je i dalje
  u staroj git istoriji - preporuka: rotirati je posebno.
- CLAUDE.md/README/API/TESTING/docs/SPEC/ARCHITECTURE/SETUP: naslovi, ASCII
  dijagrami, git clone URL, mysqldump primer, systemd predlozak u SETUP.md
  zamenjen stvarnim (obrazac terminia.service - journal log + graceful
  shutdown, ne stari minimalni predlozak)
- Debrendiranje: "Univerzalni licencni server za sve DAL proizvode" ->
  "za vise proizvoda i klijenata"; potpis "Nenad Djukic / DAL d.o.o." ->
  "Nenad Djukic". NE dirano: nazivi ESIR/ARV/LIGHT_TICKET (tudji proizvodi,
  ne DAL brend), "DAL" kao stvaran naziv org-a u RBAC modelu
  (docs/loggerservice/README.md) - to je podatak, ne branding ovog servera.
- docs/asp-terminia/, docs/loggerservice/: prozni pomeni imena servera

Baza (dal_license_db -> licence_db) i deploy na 151 idu u posebnom koraku,
posle preimenovanja Gitea repoa - vidi CLAUDE.md istorijsku belesku na dnu.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-25 07:55:26 +02:00

64 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# LoggerService — vizija i MVP (DOGOVORENO sa vlasnikom, 2026-07-24 uveče)
> Ovaj dokument je ISPRED svih ostalih u folderu: definiše ŠTA se gradi.
> Ostali fajlovi (0105) opisuju delove; gde se razlikuju, ovaj je merodavan.
## Vizija
**LoggerService je samostalna aplikacija za servisne firme** — praćenje opreme,
ljudi i posla. **Kreće interno (vlasnikova firma), kasnije se PRODAJE drugim
servisnim firmama** (od prvog dana više-firmi u bazi — RBAC stablo iz 01).
Naši pametni terminali su **MODUL „Uređaji"** koji se **uključuje u opcijama**
po firmi — nisu centar aplikacije.
## Jezgro (uvek prisutno)
| # | Celina | Dogovor |
|---|---|---|
| 1 | **Firme/nalozi** | vlasnikova firma prva; multi-tenant od starta (orgs stablo + 4 role iz `01-rbac-model.md`) |
| 2 | **Oprema — KIČMA aplikacije** | tačno se prati **SVAKI komad** (serijalizovan): identitet, istorija, kod kog klijenta je ugrađen. Zalihe/delovi (količine) takođe postoje, ali serijalizovana oprema je suština |
| 3 | **Klijenti** | zavode se **pri otvaranju PRVOG naloga** za tog klijenta; uz klijenta se vezuju oprema, reklamacije i servisi |
| 4 | **Nalozi za posao** | tipovi: **ugradnja / servis / reklamacija** → dodeljen serviseru → ishod se upisuje u ISTORIJU OPREME |
| 5 | **Zaduženja** | ko je od servisera šta poneo/vratio (naslanja se na opremu/robu) |
| — | Evidencija rada (sati/obračun) | **KASNIJE** — vlasnik već ima softver za to |
## Modul „Uređaji" (uključiv u opcijama) — MVP obim
Za sada **najosnovnije**, sa dve tvrde odrednice od vlasnika:
1. **Upravljanje firmverom**: biće **VIŠE firmvera** (linija ASP: ASP-Terminia,
parking, garderoba…) — modul zna koji proizvod/verzija ide na koji uređaj i
omogućava podešavanje/dodelu FW (naslanja se na katalog `fw.terminia.net`,
vidi `03-provisioning-i-fw-katalog.md`).
2. **Direktno vezan za licencni server** (`licence-server`): modul
komunicira sa njim (proizvodi, licence po MAC-u, entitlements) — NE gradi
svoju paralelnu evidenciju licenci. Vidi paket [`docs/asp-terminia/`](../asp-terminia/README.md).
Uz to iz postojećeg: uređaji se sami javljaju (heartbeat/discovery formati u
`02-uredjaji-heartbeat-discovery.md`) → status u modulu.
**Prirodna sprega sa jezgrom:** terminal JE serijalizovana oprema (celina 2) —
modul „Uređaji" je specijalizacija komada opreme koji se uz to i sam javlja.
## Šta ovo menja u zadacima (04-zadaci.md)
- S1 (šema) se PROŠIRUJE jezgrom: `oprema` (serijalizovana, istorija),
`klijenti`, `nalozi` (ugradnja/servis/reklamacija), `zaduzenja`, `zalihe`
pored već dogovorenih orgs/users/devices/entitlements/grants.
- „Dashboard" (S4) = MVP LoggerService aplikacije (jezgro), ne samo pregled
uređaja; modul „Uređaji" = toggle po firmi (entitlements).
- Infrastruktura je POSTAVLJENA 2026-07-24: `loggerservice.com` (+www) služi sa
151 (`/var/www/loggerservice`, nginx sajt `loggerservice`, Let's Encrypt);
`licenca.terminia.net` → backend 8090; `fw.terminia.net``/var/www/fw`.
## Redosled gradnje (predlog za agenta)
1. Šema jezgra (migracije, multi-tenant od starta) — uz postojeći MySQL.
2. Minimalni tok koji vlasnikova firma odmah koristi: **klijent (pri prvom
nalogu) → nalog (ugradnja) → komad opreme zaveden kod klijenta → istorija**.
3. Zaduženja.
4. Modul „Uređaji" (toggle): lista terminala + status + dodela FW + veza na
licencni server.
5. Prodajna spremnost (onboarding drugih firmi) — tek kad interno proradi.