licence-server/docs/loggerservice/README.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

62 lines
3.8 KiB
Markdown
Raw Permalink 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 — radni paket za agenta (kontrolna ravan)
> **Misija:** izgraditi serversku kontrolnu ravan za flote terminala — RBAC stablo
> organizacija, uređaji + heartbeat, servisni grantovi, provisioning i katalog
> firmvera — kao **proširenje postojećeg `licence-server`-a** (server 151).
> Jedan backend, **dva lica**: `terminia.net` = vendor (licence/fw),
> **`loggerservice.com` = serviserski brend** (isti mozak, drugi izgled).
>
> **Jezik projekta:** srpski (ekavica), latinica; Go komentari srpski ASCII.
> **Poreklo:** paket je nastao u firmverskom repou (`asp-terminia/serviseri/`) i
> prebačen ovde 2026-07-25 — isti backend/baza kao paket `docs/asp-terminia/`
> (licenciranje), koordinacija migracija mora ići kroz jedan repo. Firmverska
> strana (`svc.cpp`, discovery/heartbeat) je gotova i ostaje u firmverskom repou.
> „**ASP repo**" u tekstu znači <https://git.terminia.net/djuka/asp-terminia>.
## Sadržaj foldera
| Fajl | Šta je unutra |
|---|---|
| [00-vizija-i-mvp.md](00-vizija-i-mvp.md) | **ČITATI PRVO** — LoggerService je aplikacija za servisne firme (oprema/klijenti/nalozi/zaduženja); uređaji su MODUL; MVP obim (dogovor 2026-07-24 uveče) |
| [01-rbac-model.md](01-rbac-model.md) | ZAKLJUČEN model: stablo orgs, 4 role, grantovi, invarijante, šeme tabela |
| [02-uredjaji-heartbeat-discovery.md](02-uredjaji-heartbeat-discovery.md) | šta uređaj VEĆ šalje (UDP formati) i šta server treba da primi |
| [03-provisioning-i-fw-katalog.md](03-provisioning-i-fw-katalog.md) | Model B/A, postojeći bootstrap FW, katalog `.bin`-ova, potpisani URL |
| [04-zadaci.md](04-zadaci.md) | zadaci redom sa kriterijumima prihvatanja |
| [05-pravila-rada.md](05-pravila-rada.md) | **OBAVEZNO prvo** — produkcija, backup, granice |
## Kontekst u 6 redova
1. **Proizvod:** ESP32S3 terminali (linija ASP; prvi proizvod ASPTerminia —
kontrola prolaza za bazene/spa). Terminal je autonoman i radi offline;
platforma je **opcioni sloj** za flote (više vlasnika, servis, prodaja, OTA).
2. **Hijerarhija:** **Terminia = vendor/koren stabla** (vlasnik svega);
**DAL = KUPAC** (org pod Terminijom) — ne vendor.
3. **Serviseri NISU nivo u stablu** nego **grant preko stabla** (razdvaja
vlasništvo od servisnog pristupa) — detalji u 01.
4. **Server:** isti `licence-server` (Go/MySQL, produkcija!) — RBAC se DODAJE
migracijama; koordinacija sa paketom [`docs/asp-terminia/`](../asp-terminia/README.md) (deli bazu i admin sloj).
5. **Uređaj već emituje:** LAN discovery (UDP 46464, upit `TERMINIA?` → JSON
identitet), heartbeat (UDP JSON na podesiv interval), dbg dnevnik (UDP) —
formati u 02. `devices.status` na serveru se hrani iz heartbeat-a.
6. **Brend:** `loggerservice.com` domen kupuje vlasnik (kredencijali kod njega);
do tada se sve gradi i testira na IP-u / internim rutama.
## Šta agent NE radi
- Ne kupuje/podešava domene (vlasnik) — ali priprema nginx blokove da se uključe.
- Ne dira postojeće proizvode/licence, `terminia` SaaS, ESIR, Gitea-u.
- Ne implementira ništa na SAMOM uređaju (firmware) — uređaj je gotov za ovaj obim;
ako zatreba izmena FW, zapisati ZAHTEV u 04 (sekcija „Zahtevi ka firmveru").
## Veze
- **Firmware repo (ASP repo):** <https://git.terminia.net/djuka/asp-terminia>
(servisni kanal: `firmware/10_terminia/svc.cpp`; bootstrap: `firmware/00_inicijalni/`).
Firmverska strana je GOTOVA za ovaj obim — ovaj paket je ne dira.
- Istorijat odluka: ASP repo `docs/21-platforma-i-provisioning.md` (dogovor 2026-07-24).
- Licencna strana: [`docs/asp-terminia/`](../asp-terminia/README.md) (isti server; Z-zadaci tamo idu PRE RBAC UI-ja
jer odblokiraju uređaje na terenu).
- Serverski kod i konvencije: [../../CLAUDE.md](../../CLAUDE.md),
[../ARCHITECTURE.md](../ARCHITECTURE.md), [../../API.md](../../API.md).