dal-license-server/README.md
djuka dc0114e4b7 Inicijalni commit: kompletna implementacija + dokumentacija + testovi
- Kompletna Go implementacija licencnog servera (19 Go fajlova)
- Klijentski API: activate, deactivate, validate
- Admin API: CRUD licence, stats, audit log
- Admin dashboard: htmx + Go templates
- RSA-2048 potpisivanje licencnih podataka
- Rate limiting i API key autentifikacija
- MySQL migracije i seed podaci (ESIR, ARV, LIGHT_TICKET)
- Unit testovi: keygen, crypto, model, middleware (24 testa)
- Dokumentacija: SPEC.md, ARCHITECTURE.md, SETUP.md, API.md, TESTING.md, README.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 07:42:25 +00:00

59 lines
1.5 KiB
Markdown

# DAL License Server
Univerzalni licencni server za sve DAL proizvode (ESIR, ARV, Light-Ticket).
## Funkcionalnosti
- Kreiranje i upravljanje licencama za N proizvoda
- RSA-2048 potpisivanje licencnih podataka
- Aktivacija/deaktivacija licenci sa machine fingerprint-om
- Admin dashboard (htmx) za upravljanje
- REST API za klijentske aplikacije i admin operacije
- Audit log svih akcija
- Rate limiting na klijentskim endpointima
## Tech stack
- **Backend:** Go 1.22+ (net/http, bez framework-a)
- **Baza:** MySQL 8.0
- **Admin UI:** htmx + Go html/template
- **Kripto:** RSA-2048 (potpis), AES-256-GCM (enkripcija na klijentima)
## Brzi start
```bash
# 1. Kopiraj konfiguraciju
cp .env.example .env
# Uredi .env sa pravim vrednostima
# 2. Kreiraj MySQL bazu
mysql -u root -e "CREATE DATABASE dal_license_db CHARACTER SET utf8mb4;"
mysql -u root -e "CREATE USER 'license'@'localhost' IDENTIFIED BY 'TVOJA_LOZINKA';"
mysql -u root -e "GRANT ALL ON dal_license_db.* TO 'license'@'localhost';"
# 3. Generiši RSA ključeve (ako ne postoje)
openssl genrsa -out crypto/private.pem 2048
openssl rsa -in crypto/private.pem -pubout -out crypto/public.pem
chmod 600 crypto/private.pem
# 4. Pokreni server
go run cmd/server/main.go
# Server dostupan na http://localhost:8090
```
## Dokumentacija
- [Specifikacija](docs/SPEC.md)
- [Arhitektura](docs/ARCHITECTURE.md)
- [Setup i deployment](docs/SETUP.md)
- [API dokumentacija](API.md)
- [Test checklista](TESTING.md)
## Port
Server radi na portu **8090** (konfigurisano u `.env`).
---
*DAL d.o.o. | Mart 2026*