diff --git a/Funkcionalnosti.md b/Funkcionalnosti.md index e69de29..4dd1a97 100644 --- a/Funkcionalnosti.md +++ b/Funkcionalnosti.md @@ -0,0 +1,58 @@ +# Funkcionalnosti + +## Magacin + +- Skladištenje artikala sa kategorijama, šiframa i barkodovima +- Praćenje stanja zaliha sa kritičnim nivoima +- Prometna kartica — istorija ulaza i izlaza za svaki artikal +- Nabavna cena u formi artikla +- Inventura (popis magacina) + +## Servis + +- Servisni nalozi sa kompletnim praćenjem statusa +- Inline promena statusa direktno iz detalja naloga +- Štampa servisnog naloga sa QR kodom +- Otpremnica pri preuzimanju uređaja +- Pregled troškova i auto-cena delova +- Javni status naloga za klijente + +## Prodaja + +- Fakture sa stavkama +- Obračun PDV-a (KIR, KPR) +- Formatiranje iznosa sa separatorom hiljada +- Avans na otpremnici + +## Nabavka + +- Nabavke po dobavljaču sa auto-vezom +- Predlog cene pri izboru artikla +- Filter artikala po dobavljaču +- Dvosmerno računanje marža ↔ prodajna cena + +## Klijenti + +- Baza firmi i fizičkih lica +- Filter po tipu (Svi / Firme / Fizička lica) +- Interaktivna pretraga sa paginacijom +- Vezani dobavljači na kartici artikla + +## Izveštaji + +- Prometni list magacina +- Stanje zaliha +- Popis magacina (inventura) +- Servisni prihod — broji samo preuzete naloge + +## Podešavanja + +- Logo firme u topbaru sa upload-om +- Tema sa slajderima za pozadinu i brzinu animacije +- Korisnici i RBAC dozvole (admin, korisnik) +- AJAX čuvanje podešavanja bez reload-a stranice + +## Dashboard + +- Statističke kartice sa linkovima na odgovarajuće stranice +- Hover efekti i glassmorphism dizajn diff --git a/Home.md b/Home.md index e69de29..f8a84cc 100644 --- a/Home.md +++ b/Home.md @@ -0,0 +1,37 @@ +# NTech — Servisni informacioni sistem + +**NTech** je veb aplikacija za male servise, knjigovodstvo i upravljanje magacinom. Pisana je u **Go** jeziku, radi u brauzeru i podatke čuva u **SQLite** bazi. + +## Osnovne mogućnosti + +- **Magacin** — artikli, kategorije, stanje zaliha, prometne kartice, inventura +- **Servis** — servisni nalozi, otpremnice, štampa sa QR kodom, praćenje statusa +- **Prodaja** — fakture, stavke, obračun PDV-a +- **Nabavka** — nabavke po dobavljaču, auto-predlog cena, filter artikala +- **Klijenti** — firme i fizička lica, filteri, interaktivna pretraga +- **Izveštaji** — prometni list, stanje zaliha, popis magacina, servisni prihod +- **Podešavanja** — logo, tema, slajderi, korisnici i dozvole + +## Tehnologije + +| Komponenta | Tehnologija | +|---|---| +| Jezik | Go (najnovija stabilna verzija) | +| Baza | SQLite (`modernc.org/sqlite`, bez CGO) | +| HTTP ruter | `go-chi/chi` | +| Šabloni | `html/template` (Go standardna biblioteka) | +| Autentifikacija | bcrypt, TOTP 2FA, serverske sesije | +| Frontend | HTMX, Alpine.js, Chart.js | + +## Bezbednost + +- CSRF zaštita na svim mutacijama (double-submit cookie) +- Lozinke heširane bcrypt-om (cost 12) +- 2FA preko TOTP-a +- Brute-force zaštita (5 neuspelih pokušaja → 15 minuta blokada) +- Security headeri (CSP, HSTS, X-Content-Type-Options) +- Anti-enumeracija pri prijavi + +## Licenca + +Proprietary — sva prava zadržana. diff --git a/Instalacija.md b/Instalacija.md index e69de29..494abc6 100644 --- a/Instalacija.md +++ b/Instalacija.md @@ -0,0 +1,62 @@ +# Instalacija + +## Preduslovi + +- **Go** 1.26 ili noviji +- [Git](https://git-scm.com/) (opciono, za kloniranje) + +## Kloniranje i pokretanje + +```bash +git clone https://git.vm-net.in.rs/Dasko/GoNtech.git +cd GoNtech +cp ntech.env.example ntech.env +# uredi ntech.env po potrebi +go run ./cmd/ntech +``` + +Aplikacija se pokreće na `http://localhost:8080`. + +## Build za produkciju + +```bash +./build.sh +``` + +Interaktivna skripta — biraš verziju, OS (Linux/Windows) i da li želiš UPX kompresiju. + +Ručni build: + +```bash +CGO_ENABLED=0 GOARCH=amd64 GOOS=linux go build -o ntech ./cmd/ntech +``` + +## Prvo pokretanje + +Pri prvom pokretanju pokreće se **Setup Wizard** gde podešavaš: + +1. Port servera +2. Admin korisničko ime i lozinku +3. Naziv firme + +Posle toga, `ntech.env` se automatski kreira i aplikacija je spremna za korišćenje. + +## Demo mod + +Postavljanjem `NTECH_DEMO=true` u `ntech.env`: + +- Setup wizard se preskače +- Bekapi su onemogućeni +- Promena lozinke je blokirana +- TOTP aktivacija nije dozvoljena + +## Konfiguracija + +Sva podešavanja su u `ntech.env` fajlu: + +| Promenljiva | Opis | Podrazumevano | +|---|---|---| +| `NTECH_PORT` | Port servera | `8080` | +| `NTECH_DB` | Putanja SQLite baze | `ntech.db` | +| `NTECH_DEMO` | Demo mod | `false` | +| `NTECH_DEV` | Dev mod (disk-first šabloni) | `false` |