SEO + GEO mašina

Opis za rad

Node 22 + Express 4, baza je SQLite preko `sql.js` (jedan fajl), nalazi i dokazi su append-only JSONL. Novo lice je statički HTML/CSS/JS bez build koraka — servira ga isti proces ispod `/novi`.

Kako se pokreće

npm ci                                   # 29 zavisnosti
PORT=3100 node server.js                 # normalan rad (baza database.sqlite)

# demo režim (sintetički podaci, bez prave baze)
SEOGEO_DEMO=1 SEOGEO_DATA_DIR=data-demo PORT=3100 node server.js

node data-demo/seed-demo.mjs http://127.0.0.1:3100   # napuni demo
node _qa/smoke.mjs                                   # 18/18 provera (testovi)
node ui/build-pages.mjs                              # regeneriši landing i opis

API

metodputanjašta radi
GET/api/novi/pregledklijenti + nalazi + dokazi + šta čeka (jedan ulaz kokpita)
GET/api/novi/klijentilista klijenata (demo ili baza)
GET/api/novi/nalazi?klijentId=nalazi sa izvorom i hashom
POST/api/novi/nalaziupis nalaza — server računa hash
GET/api/novi/dokazi?klijentId=dokazi pre → posle
POST/api/novi/dokaziupis dokaza za nalaz
GET/api/novi/summary?klijentId=koliko nalaza, koliko dokazano
GET/api/healthda li radi (postojeća ruta)

Podaci

Ograničenja — šta ovaj demo ne radi

Kako se postavlja

Jedan Node proces iza nginx-a, systemd servis, Let’s Encrypt, demo režim kroz env. Recept: E:\poslovi\DEMO-REGISTAR.md.

Demo ne troši novac na model: režim je sintetički, ključevi nisu postavljeni.