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>
62 lines
3.8 KiB
Markdown
62 lines
3.8 KiB
Markdown
# 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:** ESP32‑S3 terminali (linija ASP; prvi proizvod ASP‑Terminia —
|
||
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).
|