Ažurirana wiki: početna, instalacija, funkcionalnosti
@@ -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` |
|
||||||
|
|||||||
Reference in New Issue
Block a user