127 lines
3.7 KiB
Markdown
127 lines
3.7 KiB
Markdown
|
|
# 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
|