PDF dokumentumokból QR kódokat és azonosító kártyákat generáló webalkalmazás.
- PDF dokumentumok automatikus feldolgozása és adatkinyerése
- QR kód generálás és beolvasás
- Azonosító kártya generálás testreszabható elrendezéssel
- Magyar nevek és céges formátumok támogatása
- Reszponzív webes felület
- Drag-and-drop fájl feltöltés
- Kamera használat QR kód beolvasáshoz
- Node.js 18 vagy újabb
- Docker (konténerizált telepítéshez)
-
Függőségek telepítése:
npm install
-
Fejlesztői szerver indítása:
npm start
Az alkalmazás elérhető lesz a http://localhost:3000 címen.
-
Docker image építése:
docker build -t qr-code-web . -
Konténer futtatása:
docker run -p 3000:3000 qr-code-web
Az alkalmazás elérhető lesz a http://localhost:3000 címen.
PORT: Szerver port (alapértelmezett: 3000)NODE_ENV: Környezeti mód (development/production)
.
├── public/ # Statikus fájlok
│ ├── index.html # Fő QR kód generátor oldal
│ ├── uvegkapu.html # Azonosító kártya generátor oldal
│ ├── styles.css # Globális stílusok
│ └── scripts/ # Kliens oldali JavaScript
├── server.js # Express szerver és API végpontok
├── package.json # Projekt függőségek
├── LICENSE # MIT licenc
├── Dockerfile # Konténer konfiguráció
└── .dockerignore # Docker build kizárások
POST /generate: QR kód generálása szövegbőlPOST /process-pdf: Adatok kinyerése PDF dokumentumbólPOST /save-data: Azonosító kártya generálása űrlap adatokból
A Docker image többlépcsős build folyamattal készül:
-
Builder fázis:
- Node.js Alpine alapkép használata
- Függőségek telepítése
- Forrásfájlok másolása
-
Produkciós fázis:
- Minimális Alpine alapú kép
- Csak produkciós függőségek
- Non-root felhasználó
- Méret és biztonság optimalizálás
-
Adatvédelem
- PDF fájlok memóriában történő feldolgozása
- Nincs fájl tárolás a lemezen
- Nincs adatmegőrzés kérések között
- Azonnali tisztítás feldolgozás után
-
Konténer Biztonság
- Non-root felhasználó
- Minimális alapkép
- Nincs adatmegőrzés
- Csak memória műveletek
-
Bemenet Validáció
- Fájltípus ellenőrzés
- Méretkorlátok (max 5MB)
- Biztonságos PDF feldolgozás
- Tartalom validáció
-
Legjobb Gyakorlatok
- HTTPS produkciós környezetben
- Biztonságos fejlécek
- Bemenet tisztítás
- Hibakezelés
A fejlesztői módban részletes naplózás érhető el:
$env:NODE_ENV='development'; npm startA naplófájlok a logs könyvtárban találhatók:
debug.log: Részletes fejlesztői naplóapp.log: Produkciós napló (szenzitív adatok rejtve)
A projekt nyílt forráskódú, minden közreműködést szívesen fogadunk! A forráskód elérhető a GitHub oldalon.
- Fork-old a projektet
- Hozz létre egy új branch-et a fejlesztéshez
- Commit-old a változtatásokat
- Push-old a branch-et
- Nyiss egy Pull Request-et
Ez a projekt az MIT licenc alatt áll. További információért lásd a LICENSE fájlt.