- 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>
59 lines
1.5 KiB
Markdown
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*
|