Repository navigation
Home
Dalibor edited this page Jun 21, 2026
·
2 revisions
NTech je veb aplikacija za male servise, knjigovodstvo i upravljanje magacinom. Pisana je u Go jeziku i radi u brauzeru. Podatke čuva u SQLite bazi — sve je upakovano u jedan binarni fajl, bez Docker-a, bez spoljnih servera.
| Modul | Opis |
|---|---|
| Magacin | Artikli, kategorije, stanje zaliha, prometne kartice, inventura |
| Servis | Servisni nalozi, otpremnice, štampa sa QR kodom, praćenje statusa, troškovi |
| Prodaja | Fakture, stavke, obračun PDV-a (KIR/KPR), avans |
| Nabavka | Nabavke po dobavljaču, auto-predlog cena, zavisni troškovi, nivelacije |
| Klijenti | Firme i fizička lica, filteri, interaktivna pretraga, vezani dobavljači |
| Izveštaji | Prometni list, stanje zaliha, popis magacina, servisni prihod |
| Podešavanja | Logo, tema, slajderi, animacije, korisnici, dozvole, backup |
| Komponenta | Tehnologija |
|---|---|
| Jezik | Go (1.26+) |
| Baza |
SQLite (modernc.org/sqlite — čist Go, bez CGO) |
| HTTP ruter |
go-chi/chi v5 |
| Šabloni |
html/template (Go stdlib) |
| Frontend | HTMX (navigacija), Alpine.js (reaktivnost), Chart.js (grafikoni) |
| Autentifikacija | bcrypt (cost 12), TOTP 2FA, serverske sesije |
| Sesije | HTTP-only kolačić sa tokenom (UUID), server-side u SQLite |
| Embed |
//go:embed — šabloni, statika, migracije u binarnom fajlu |
- Repository obrazac — handleri ne znaju za SQL; rade preko interfejsa
- Jedan binarni fajl — sve je embed-ovano, nema spoljnih foldera u produkciji
- Server-side sesije — token u HTTP-only kolačiću, bez podataka u brauzeru
- Migracije pri pokretanju — 61 SQL migracija, idempotentne, rastuće numerisane
- Bezbednost po difoltu — CSRF, bcrypt, TOTP, brute-force zaštita, CSP, security headeri
- Modularni handleri — jedan Go fajl po domenu (magacin.go, servis.go, prodaja.go...)