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