3.7 KiB
LiftEllenőr
Magyar nyelvű liftellenőrzési és karbantartás-naplózási rendszer felvonószerelők és technikusok számára.
🌟 Funkciók
- 🔒 Biztonságos hozzáférés: JWT alapú hitelesítés és felhasználókezelés.
- 📝 Nyilvántartás: Eszközök és hozzájuk tartozó karbantartási naplók elkülönített kezelése.
- ⚡ Gyors adatrögzítés: Modális felületek új eszközök és naplóbejegyzések gyors felviteléhez.
- 📎 Dokumentumkezelés: PDF formátumú jegyzőkönyvek csatolása a naplóbejegyzésekhez.
- 📊 Műszerfal: Közelgő és lejárt ellenőrzési határidők vizuális nyomon követése.
- 🛠️ Beépített eszközök: Kereshető napló, Adminer adatbázis-kezelő és seed script teszteléshez.
🛠 Tech Stack
- Frontend: HTML/CSS/JS statikus fájlok, Nginx (webszerver és API proxy)
- Backend: Node.js (Express)
- Adatbázis: PostgreSQL
- Infrastruktúra: Docker / Podman Compose
🚀 Gyors indítás
Előfeltételek
- Node.js (v22+)
- Docker és Docker Compose (vagy Podman)
Telepítés és futtatás
- Függőségek telepítése:
npm install
- A környezeti változók beállítása (opcionális, alapértelmezések az
.env.example-ben):
cp .env.example .env
- A teljes stack (Nginx, API, DB, Adminer) indítása:
docker compose up -d
(Ha Podmant használsz, cseréld a docker-t podman-ra.)
4. Nyisd meg az alkalmazást a böngészőben: http://localhost:8080
🔌 Hálózat és Portok
| Szolgáltatás | Port | Cím |
|---|---|---|
| Alkalmazás (Nginx) | 8080 |
http://localhost:8080 |
| Backend API | 3000 |
http://localhost:3000 |
| PostgreSQL | 5432 |
localhost:5432 |
| Adminer | 8090 |
http://localhost:8090 |
🗄️ Adatbázis és Tesztadatok (Seeding)
A projekt tartalmaz egy generátort (seed script), amellyel pillanatok alatt feltölthető az adatbázis tesztadatokkal (technikusok, útvonalak, liftek, naplók).
Alapértelmezett teszt jelszó: teszt123
Tesztadatok generálása:
npm run seed
Adatbázis teljes törlése és újragenerálása:
npm run seed:reset
Egyedi seed paraméterek
Testreszabhatod a generált adatok mennyiségét a CLI argumentumokkal:
node scripts/seed.js --reset --routes 8 --users-per-route 4 --elevators-per-route 20 --logs-per-elevator 16
Adminer (Adatbázis böngésző)
Az adatbázis közvetlen eléréséhez nyisd meg a http://localhost:8090 címet az alábbi adatokkal:
- Rendszer:
PostgreSQL - Szerver:
postgres(ha hostról csatlakozol:127.0.0.1) - Felhasználó:
lift_admin - Jelszó:
lift_secret - Adatbázis:
lift_manager
💻 Helyi fejlesztés (Docker nélkül)
Ha a backendet natívan, konténeren kívül szeretnéd futtatni fejlesztéshez (a PostgreSQL-nek futnia kell):
# Adatbázis indítása compose-zal
docker compose up -d postgres
# Backend indítása
npm install
npm start
Megjegyzés: A frontend statikus fájljait és az API proxy-t alapértelmezetten az Nginx kezeli. Helyi backend fejlesztésnél érdemes a compose stacket használni, és csak a backend konténert újraépíteni változáskor.
📂 Projekt struktúra
.
├── nginx/ # Nginx konfiguráció (default.conf)
├── public/ # Statikus frontend fájlok (HTML, CSS, JS)
├── scripts/ # Segédscriptek (pl. seed.js)
├── compose.yaml # Docker Compose konfiguráció
├── server.js # Express backend belépési pont
└── .env.example # Környezeti változók sablonja