3
Home
Dasko edited this page 2026-06-21 02:16:00 +02:00

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