# 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](https://nodejs.org/) (v22+) - Docker és Docker Compose (vagy Podman) ### Telepítés és futtatás 1. Függőségek telepítése: ```bash npm install ``` 2. A környezeti változók beállítása (opcionális, alapértelmezések az `.env.example`-ben): ```bash cp .env.example .env ``` 3. A teljes stack (Nginx, API, DB, Adminer) indítása: ```bash 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: ```bash npm run seed ``` Adatbázis teljes törlése és újragenerálása: ```bash npm run seed:reset ``` ### Egyedi seed paraméterek Testreszabhatod a generált adatok mennyiségét a CLI argumentumokkal: ```bash 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): ```bash # 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 ```text . ├── 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