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> |
||
|---|---|---|
| .. | ||
| 01-postojece-stanje.md | ||
| 02-api-ugovor-firmware.md | ||
| 03-zadaci.md | ||
| 04-pravila-rada.md | ||
| 05-enforcement-odluke.md | ||
| README.md | ||
ASP-Terminia — licenciranje (radni paket)
Misija: dovesti licenciranje ASP‑Terminia terminala do produkcije na postojećem
licence-server-u (server 151), bez lomljenja ijednog postojećeg klijenta (ESIR/ARV/LIGHT_TICKET su ŽIVI u produkciji).Jezik projekta: srpski (ekavica), latinica. Kod/komentari na serveru su Go — komentari srpski ASCII.
Poreklo: paket je nastao u firmverskom repou (
asp-terminia/licence/) i prebačen ovde 2026-07-24, jer je sav posao serverski. Firmverska strana je gotova i ne dira se. „ASP repo" u tekstu znači https://git.terminia.net/djuka/asp-terminia.
Sadržaj foldera
| Fajl | Šta je unutra |
|---|---|
| 01-postojece-stanje.md | šta VEĆ postoji: server (Go/MySQL/nginx/kripto) i firmware klijent (gotov!) |
| 02-api-ugovor-firmware.md | tačan ugovor koji firmware očekuje — polja, potpis, greške |
| 03-zadaci.md | šta treba uraditi, redom, sa kriterijumima prihvatanja |
| 04-pravila-rada.md | OBAVEZNO pročitati prvo — produkcija, backup, tajne, granice |
| 05-enforcement-odluke.md | pitanja E1–E6 za vlasnika: šta uređaj radi bez licence |
Kontekst u 5 redova
- Šta se licencira: ESP32‑S3 terminal za kontrolu prolaza (bazeni/spa), proizvod
„ASP‑Terminia" (Autonomni Sistem Prolaza). Licenca je vezana za MAC čipa
(eFuse, nepromenljiv) preko
machine_fingerprint. - Server već postoji:
licence-server(Go, MySQL, RSA‑2048/SHA‑256) na157.180.119.151, u produkciji sa 3 proizvoda / ~140 licenci / ~19 aktivacija. - Firmware klijent je GOTOV (modul
licenca.h/.cppu firmveru, od verzije 0.10.0): aktivacija, offline verifikacija potpisa javnim ključem, UI. Čeka samo proizvod i ključ na serveru. - Dva sloja: potpisana lokalna licenca (radi offline) + serverska provera/obnova (opoziv). Mrežna greška NIKAD ne obara uređaj.
- Domeni (kupuje vlasnik):
licenca.terminia.net→ 157.180.119.151 (Let's Encrypt). Dok domena nema, uređaj radi preko IP‑a sasetInsecure()— odluku ionako štiti RSA potpis, ne TLS kanal.
Šta agent NE radi
- Ne donosi odluku o ponašanju uređaja bez licence (gašenje funkcija) — to je odluka vlasnika (pitanja u 03-zadaci.md §Z4). Priprema se predlog, čeka se DA.
- Ne dira postojeće proizvode (ESIR, ARV, LIGHT_TICKET) niti
terminiaSaaS (portovi 8091/8092 na istom serveru — TO NIJE OVAJ POSAO). - Ne čita niti loguje tajne (
.env, privatni ključ) — vidi 04-pravila-rada.md.
Veze ka ostatku projekta
- Firmware repo (ASP repo): https://git.terminia.net/djuka/asp-terminia
(klijent:
firmware/10_terminia/licenca.h,licenca.cpp; javni ključ ugrađen). Firmverska strana je GOTOVA od FW 0.10.0 — ovaj paket je ne dira. - Dizajn/istorijat:
ASP repo docs/18-licenciranje-po-mac.md(pisan PRE nego što je pravi API poznat — gde se razlikuju, ovaj folder je merodavan),ASP repo docs/21-platforma-i-provisioning.md. - Serviserska strana (RBAC, uređaji, LoggerService):
ASP repo: serviseri/— isti backend, drugi radni paket; koordinacija preko šeme baze (vidi tamo 01). (Taj paket se seli u ovaj repo posebno — vidi dogovor od 2026-07-24.) - Serverski kod i konvencije: ../../CLAUDE.md, ../ARCHITECTURE.md, ../../API.md.