Page:
Home
Clone
3
Home
Dasko edited this page 2026-06-21 02:16:00 +02:00
Table of Contents
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...)