Ažurirana wiki: početna, instalacija, funkcionalnosti

Dasko
2026-06-21 02:12:39 +02:00
parent 20f55eb90d
commit d2bf789731
3 changed files with 157 additions and 0 deletions
+58
@@ -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
+37
@@ -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.
+62
@@ -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` |