NTech — Servisni informacioni sistem
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.
Osnovne mogućnosti
| 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 |
Tehnološki stek
| 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 |
Arhitektura
- 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...)
Linkovi