docs(readme): ažuriran spisak funkcija (srpski i engleski)
Dodato/ispravljeno u oba README-a: - TOTP: tajna šifrovana u bazi (AES-256-GCM) umesto netačne tvrdnje o rezervnim kodovima (nisu implementirani — premešteni u Planirano) - RBAC: naglašeno sprovođenje provere na nivou ruta i u handlerima - Backup: dodato vraćanje baze iz kopije (bezbedno, bez prekida rada) - Dodato: strukturisano logovanje (slog) i automatski testovi
This commit is contained in:
@@ -29,7 +29,7 @@ The goal is simple: everything the repair shop needs to track is located in one
|
|||||||
- Database migration system
|
- Database migration system
|
||||||
- User interface — sidebar navigation, theme system (dark/light), dashboard with statistics
|
- User interface — sidebar navigation, theme system (dark/light), dashboard with statistics
|
||||||
- User login — server-side sessions, account locking
|
- User login — server-side sessions, account locking
|
||||||
- Two-factor authentication (TOTP) — activation with a QR code, backup codes
|
- Two-factor authentication (TOTP) — activation with a QR code; secret encrypted at rest (AES-256-GCM, key kept outside the database)
|
||||||
- Brute-force protection — IP locking after 5 failed attempts within 15 minutes
|
- Brute-force protection — IP locking after 5 failed attempts within 15 minutes
|
||||||
- CSRF protection — double-submit cookie pattern, automatic token injection into all forms
|
- CSRF protection — double-submit cookie pattern, automatic token injection into all forms
|
||||||
- Security HTTP headers (CSP, X-Frame-Options, Referrer-Policy, nosniff...)
|
- Security HTTP headers (CSP, X-Frame-Options, Referrer-Policy, nosniff...)
|
||||||
@@ -45,16 +45,19 @@ The goal is simple: everything the repair shop needs to track is located in one
|
|||||||
- Settings — company name, address, Tax ID (PIB), logo; theme toggle
|
- Settings — company name, address, Tax ID (PIB), logo; theme toggle
|
||||||
- Background images — login page and app, with blur, transparency and glass effect
|
- Background images — login page and app, with blur, transparency and glass effect
|
||||||
- Personal theme and background — each user can set their own theme and background image
|
- Personal theme and background — each user can set their own theme and background image
|
||||||
- Permission matrix (RBAC) — admin panel for setting permissions by role
|
- Permission matrix (RBAC) — admin panel for permissions by role; enforced at the route level (both mutations and views) and in handlers
|
||||||
- Flash messages — one-time feedback after an action
|
- Flash messages — one-time feedback after an action
|
||||||
- Automatic SQLite backup — with configurable number of retained copies
|
- Automatic SQLite backup — with configurable number of retained copies; restore from a copy (safe, with no downtime)
|
||||||
- Charts — monthly revenue on reports (Chart.js)
|
- Charts — monthly revenue on reports (Chart.js)
|
||||||
|
- Structured logging — `log/slog` (JSON in production, text in development); separate auth log in fail2ban format
|
||||||
|
- Automated tests — unit and integration over a SQLite database (crypto, RBAC, login flows, form validators, reports)
|
||||||
|
|
||||||
### Planned
|
### Planned
|
||||||
|
|
||||||
- Fiscalization and VAT calculation (specification in Project.md)
|
- Fiscalization and VAT calculation (specification in Project.md)
|
||||||
- PostgreSQL support (for multi-user environments)
|
- PostgreSQL support (for multi-user environments)
|
||||||
- WebAuthn / Passkey login (database schema is already prepared)
|
- WebAuthn / Passkey login (database schema is already prepared)
|
||||||
|
- Backup (one-time) codes for 2FA
|
||||||
- Notifications (email / WhatsApp) — deferred to a later phase
|
- Notifications (email / WhatsApp) — deferred to a later phase
|
||||||
- Barcode scanning via camera — deferred to a later phase
|
- Barcode scanning via camera — deferred to a later phase
|
||||||
|
|
||||||
|
|||||||
+6
-3
@@ -29,7 +29,7 @@ Cilj je jednostavan: sve što servis treba da prati nalazi se na jednom mestu, b
|
|||||||
- Sistem migracija baze podataka
|
- Sistem migracija baze podataka
|
||||||
- Korisnički interfejs — sidebar navigacija, sistem tema (tamna/svetla), dashboard sa statistikama
|
- Korisnički interfejs — sidebar navigacija, sistem tema (tamna/svetla), dashboard sa statistikama
|
||||||
- Prijava korisnika — sesije na serveru, zaključavanje naloga
|
- Prijava korisnika — sesije na serveru, zaključavanje naloga
|
||||||
- Dvofaktorska autentifikacija (TOTP) — aktivacija sa QR kodom, rezervni kodovi
|
- Dvofaktorska autentifikacija (TOTP) — aktivacija sa QR kodom; tajna šifrovana u bazi (AES-256-GCM, ključ van baze)
|
||||||
- Bruteforce zaštita — IP zaključavanje nakon 5 neuspelih pokušaja u 15 minuta
|
- Bruteforce zaštita — IP zaključavanje nakon 5 neuspelih pokušaja u 15 minuta
|
||||||
- CSRF zaštita — double-submit cookie pattern, automatska injekcija tokena u sve forme
|
- CSRF zaštita — double-submit cookie pattern, automatska injekcija tokena u sve forme
|
||||||
- Bezbednosni HTTP headeri (CSP, X-Frame-Options, Referrer-Policy, nosniff...)
|
- Bezbednosni HTTP headeri (CSP, X-Frame-Options, Referrer-Policy, nosniff...)
|
||||||
@@ -45,16 +45,19 @@ Cilj je jednostavan: sve što servis treba da prati nalazi se na jednom mestu, b
|
|||||||
- Podešavanja — naziv, adresa, PIB, logo firme; promena teme
|
- Podešavanja — naziv, adresa, PIB, logo firme; promena teme
|
||||||
- Pozadinske slike — login stranica i aplikacija, sa zamućenjem, providnošću i glass efektom
|
- Pozadinske slike — login stranica i aplikacija, sa zamućenjem, providnošću i glass efektom
|
||||||
- Lična tema i pozadina — svaki korisnik može svoju temu i pozadinsku sliku
|
- Lična tema i pozadina — svaki korisnik može svoju temu i pozadinsku sliku
|
||||||
- Matrica dozvola (RBAC) — admin panel za podešavanje dozvola po ulogama
|
- Matrica dozvola (RBAC) — admin panel za dozvole po ulogama; provera se sprovodi na nivou ruta (i mutirajućih i pregleda) i u handlerima
|
||||||
- Flash poruke — jednokratne povratne informacije nakon akcije
|
- Flash poruke — jednokratne povratne informacije nakon akcije
|
||||||
- Automatski backup SQLite baze — sa podešavanjem broja čuvanih kopija
|
- Automatski backup SQLite baze — sa podešavanjem broja čuvanih kopija; vraćanje baze iz kopije (bezbedno, bez prekida rada)
|
||||||
- Grafikoni — mesečni prihod na izveštajima (Chart.js)
|
- Grafikoni — mesečni prihod na izveštajima (Chart.js)
|
||||||
|
- Strukturisano logovanje — `log/slog` (JSON u produkciji, tekst u razvoju); zaseban auth log u fail2ban formatu
|
||||||
|
- Automatski testovi — jedinični i integracioni nad SQLite bazom (kripto, RBAC, tokovi prijave, validatori forme, izveštaji)
|
||||||
|
|
||||||
### Planirano
|
### Planirano
|
||||||
|
|
||||||
- Fiskalizacija i PDV obračun (specifikacija u Project.md)
|
- Fiskalizacija i PDV obračun (specifikacija u Project.md)
|
||||||
- Podrška za PostgreSQL (za višekorisničko okruženje)
|
- Podrška za PostgreSQL (za višekorisničko okruženje)
|
||||||
- WebAuthn / Passkey prijava (šema baze je pripremljena)
|
- WebAuthn / Passkey prijava (šema baze je pripremljena)
|
||||||
|
- Rezervni (jednokratni) kodovi za 2FA
|
||||||
- Obaveštenja (e-pošta / WhatsApp) — odloženo za kasniju fazu
|
- Obaveštenja (e-pošta / WhatsApp) — odloženo za kasniju fazu
|
||||||
- Skeniranje barkodova putem kamere — odloženo za kasniju fazu
|
- Skeniranje barkodova putem kamere — odloženo za kasniju fazu
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user