liftman/README.md
2026-05-22 23:05:37 +02:00

5.2 KiB

LiftEllenőr

Magyar nyelvű liftellenőrzési és naplózási rendszer technikusok számára.

Az alkalmazás főbb részei:

  • nyilvános landing oldal: /
  • bejelentkezés: /bejelentkezes
  • regisztráció: /regisztracio
  • technikusi kezelőfelület: /alkalmazas
  • kereshető naplóoldal: /naplo

Funkciók

  • JWT alapú hitelesítés
  • PostgreSQL adatbázis
  • külön kezelt eszközök és naplóbejegyzések
  • modalos új eszköz / új napló folyamat
  • PDF csatolmányok feltöltése egy naplóhoz
  • közelgő ellenőrzési határidők műszerfala
  • Adminer webes adatbázis-kezelő a stack részeként
  • nagy mennyiségű tesztadat generálása seed scripttel

Stack

A compose.yaml alapján a rendszer ezekből a szolgáltatásokból áll:

  • frontend Nginx konténer, a statikus frontend kiszolgálására és az API proxyzására.
  • backend Node.js + Express alkalmazás, API-val és hitelesítéssel.
  • postgres PostgreSQL adatbázis a felhasználók, eszközök, naplók és fájlmetaadatok tárolására.
  • adminer Webes adatbázis-kezelő a PostgreSQL gyors böngészéséhez és ellenőrzéséhez.

Portok

  • alkalmazás: http://localhost:8080
  • PostgreSQL: localhost:5432
  • Adminer: http://localhost:8090

Előfeltételek

  • Node.js 22 körüli verzió
  • npm
  • Podman Compose vagy Docker Compose

Gyors indítás

  1. Függőségek telepítése:
npm install
  1. A teljes stack indítása:
podman compose up -d

Ha Docker Compose-t használsz:

docker compose up -d
  1. Nyisd meg az alkalmazást:
http://localhost:8080

Stack kezelése

Indítás:

podman compose up -d

Leállítás:

podman compose down

Leállítás kötetekkel együtt:

podman compose down -v

Logok megtekintése:

podman compose logs -f

Csak a backend logjai:

podman compose logs -f backend

Adminer használata

Az Adminer a http://localhost:8090 címen érhető el.

Bejelentkezési adatok:

  • rendszer: PostgreSQL
  • szerver: postgres Ha a böngészőből közvetlenül a hoston futó PostgreSQL-re csatlakozol, használhatod a 127.0.0.1 címet is, de a compose stacken belül a szolgáltatás neve postgres.
  • felhasználó: lift_admin
  • jelszó: lift_secret
  • adatbázis: lift_manager

Adminerben hasznos műveletek:

  • users tábla ellenőrzése
  • elevators tábla böngészése
  • logs és log_files kapcsolatok megtekintése
  • seed után gyors ellenőrzés, hogy a tömeges tesztadat bekerült-e

Seed adatok

A projekt tartalmaz egy seed scriptet sok tesztadat előállításához:

npm run seed

Ez több útvonalat, technikust, eszközt és sok kapcsolódó naplóbejegyzést hoz létre.

Alap teszt jelszó:

teszt123

Teljes újratöltéshez, a meglévő adatok törlésével:

npm run seed:reset

Egyedi mennyiségekkel:

node scripts/seed.js --reset --routes 8 --users-per-route 4 --elevators-per-route 20 --logs-per-elevator 16

Elérhető paraméterek:

  • --reset Törli a meglévő adatokat seed előtt.
  • --routes Hány technikusi útvonal készüljön.
  • --users-per-route Hány felhasználó készüljön útvonalanként.
  • --elevators-per-route Hány eszköz készüljön útvonalanként.
  • --logs-per-elevator Hány napló készüljön eszközönként.

Fejlesztői használat

Ha nem konténerből akarod indítani a backendet:

  1. gondoskodj róla, hogy a PostgreSQL fusson
  2. telepítsd a függőségeket
  3. indítsd a szervert
npm install
npm start

Alapértelmezett backend port:

http://localhost:3000

Ebben az esetben a frontend proxyzása nélkül a teljes alkalmazás használatához továbbra is a compose-os Nginx a legegyszerűbb út.

Környezeti változók

Az alapértelmezett értékek az .env.example fájlban vannak összegyűjtve.

Fontos változók:

  • PORT
  • JWT_SECRET
  • DATABASE_URL
  • SEED_PASSWORD Opcionális. Ezzel felülírható a seedelt felhasználók alap jelszava.

Adatmodell röviden

  • users Technikusi felhasználók és útvonalak.
  • elevators Az eszközök aktuális állapota és következő ellenőrzési adatai.
  • logs Történeti naplóbejegyzések, eszközhöz kapcsolva.
  • log_files A naplóbejegyzésekhez tartozó PDF fájlmetaadatok.

Tipikus használati folyamat

  1. Indítsd el a stack-et.
  2. Ha kell, seedeld az adatbázist npm run seed:reset paranccsal.
  3. Nyisd meg az alkalmazást a http://localhost:8080 címen.
  4. Jelentkezz be vagy regisztrálj.
  5. Az /alkalmazas oldalon kezeld az eszközöket és hozz létre új naplóbejegyzéseket.
  6. A /naplo oldalon keresd és szűrd a bejegyzéseket.
  7. Adminerben ellenőrizd az adatokat, ha fejlesztés vagy hibakeresés közben szükséges.

Fontos fájlok

  • server.js Express route-ok, auth, adatbázis-műveletek
  • compose.yaml frontend + backend + postgres + adminer stack
  • nginx/default.conf frontend route-ok és API proxy
  • public/index.html landing oldal
  • public/app.html kezelőfelület
  • public/logs.html külön naplóoldal
  • public/style.css központi stíluslap
  • scripts/seed.js tesztadat-generáló script