Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
Translation pending
DXF/DWG/PDF tervrajzból automatikus mennyiségkimutatás és árajánlat generálás villamos kivitelezőknek. 60+ normaidő-tétel, 80% időmegtakarítás.
Translation pending
BusinessJavaScript · PythonGitHub @hrvt7OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Magyar nyelvű webalkalmazás villanyszerelési tervrajzok feldolgozására: tervfeltöltés → elemfelismerés → mennyiségszámítás → kábelbecslés → árajánlat generálás. • Villanyszerelő vállalkozók, kalkulátorok akik DXF/DWG (vagy PDF) tervrajzból akarnak gyorsan mennyiségi kiírást és árajánlatot készíteni • Fő érték: terv-alapú felmérés gyorsítása — a tervrajzból kinyert blokkok és vonalhosszak alapján automatikus mennyiségszámítás, manuális felülvizsgálattal • Kimenet: formázott PDF árajánlat (tömör / összesített / részletes), CSV export, BOMRead the full README ↗
Magyar nyelvű webalkalmazás villanyszerelési tervrajzok feldolgozására: tervfeltöltés → elemfelismerés → mennyiségszámítás → kábelbecslés → árajánlat generálás.
/api/parse-dwg), utána a standard DXF pipeline dolgozik1. Projekt létrehozása → ügyfél, projekt név, emelet/diszciplína
2. Tervrajz feltöltés → DXF / DWG / PDF fájl → planStore (IndexedDB)
3. Elemfelismerés → DXF parser (client-side JS + web worker) kinyeri:
blokkok (INSERT), vonalhosszak, rétegek, attribútumok
4. Felülvizsgálat → felismert blokkok → assembly hozzárendelés
(szabály-alapú + 3-tier recognition memory + manuális review)
5. Kalkuláció → anyagköltség + munkadíj + kábelbecslés → összesítés
6. Árajánlat kimenet → PDF generálás (3 részletességi szint) / CSV / nyomtatás
| Réteg | Technológia |
|---|---|
| Frontend | React 18 + Vite 4, egyetlen SPA |
| Viewer | dxf-viewer (WebGL, Three.js) DXF-hez, pdfjs-dist PDF-hez |
| Persistence | Local-first: localStorage + IndexedDB (localforage) |
| Cloud sync | Opcionális Supabase (auth, quotes, settings sync) |
| Serverless API | Vercel Python functions (DWG konverzió, PDF parse, AI meta-vision) |
| Tesztek | Vitest (1077 unit), Playwright (54 E2E) |
| Build | Vite, code-split: vendor-pdf, vendor-dxf, vendor-supabase |
├── api/ # Vercel serverless Python functions
│ ├── parse-dxf.py # DXF feldolgozás (ezdxf) — fallback, ritkán használt
│ ├── parse-dwg.py # DWG → DXF konverzió (ODA engine)
│ ├── parse-pdf.py # PDF raszterizálás + blokk-detekció
│ ├── parse-pdf-vectors.py # PDF vektor-alapú parse
│ ├── cable-agent.py # Kábel-agent (AI-asszisztált kábelbecslés)
│ ├── meta-vision.py # AI tervrajz metaadat-kinyerés
│ ├── convert-dwg.py # DWG → DXF batch konverzió
│ ├── ai.py # AI helper endpoint
│ ├── create-checkout.py # Stripe checkout
│ └── stripe-webhook.py # Stripe webhook handler
├── src/
│ ├── App.jsx # Fő alkalmazás shell (1733 sor): routing, quote szerkesztés, PDF output
│ ├── Landing.jsx # Landing page
│ ├── dxfParser.js # Client-side DXF parser (blokkok, vonalak, rétegek, attribútumok)
│ ├── pdfTakeoff.js # PDF marker-alapú felmérés + kábelbecslés (MST)
│ ├── cableAgent.js # AI kábel-agent kliens
│ ├── supabase.js # Supabase auth + sync kliens
│ ├── components/
│ │ ├── TakeoffWorkspace.jsx # Központi munkaterület (2954 sor): viewer + felismerés + review
│ │ ├── DxfViewer/ # WebGL DXF megjelenítő (Three.js OrthographicCamera)
│ │ ├── PdfViewer/ # PDF megjelenítő (pdf.js canvas)
│ │ ├── Sidebar.jsx # Navigáció
│ │ ├── DetectionReviewPanel.jsx # AI detekció felülvizsgálat
│ │ ├── LegendPanel.jsx # Jelmagyarázat kezelés
│ │ ├── PdfMergePanel.jsx # Több PDF terv összefésülése
│ │ ├── CableConfidenceCard.jsx # Kábelbecslés konfidencia megjelenítés
│ │ ├── ManualCableModePanel.jsx # Manuális kábelbecslés
│ │ ├── ErrorBoundary.jsx # Globális hibakezelés
│ │ └── ui.jsx # Közös UI komponensek (badge, toast, fmt)
│ ├── pages/
│ │ ├── Dashboard.jsx # Áttekintő dashboard
│ │ ├── Quotes.jsx # Árajánlat-lista
│ │ ├── Projektek.jsx # Projekt-kezelés
│ │ ├── Assemblies.jsx # Assembly katalógus szerkesztő
│ │ ├── WorkItems.jsx # Munkatétel katalógus
│ │ ├── Materials.jsx # Anyag katalógus
│ │ └── Settings.jsx # Beállítások (cég, logó, API kulcsok)
│ ├── data/
│ │ ├── store.js # localStorage persistence (settings, quotes, items)
│ │ ├── planStore.js # IndexedDB terv-fájl tárolás + metaadat
│ │ ├── projectStore.js # Projekt persistence
│ │ ├── recognitionMemory.js # 3-tier elemfelismerési memória (projekt → fiók → globális)
│ │ ├── evidenceExtractor.js # DXF evidence kinyerés (réteg, attrib, szöveg)
│ │ ├── workItemsDb.js # Beépített munkatétel-adatbázis + normaidők
│ │ ├── legendStore.js # Jelmagyarázat template tárolás
│ │ └── ... # schema versioning, concurrency guard, category map
│ ├── utils/
│ │ ├── pricing.js # Árazási motor (anyag + munka + overhead)
│ │ ├── generatePdf.js # HTML → PDF generálás (html2canvas + jsPDF)
│ │ ├── dxfParseContract.js # Parser output normalizálás (browser/worker parity)
│ │ ├── cableModel.js # Kábelbecslés modell
│ │ ├── reviewState.js # Review workflow állapotgép
│ │ ├── csvExport.js # CSV árajánlat export
│ │ ├── bomExport.js # BOM (Bill of Materials) export
│ │ └── ... # audit, merge, template matching, workflow
│ ├── workers/
│ │ ├── dxfParser.worker.js # Web Worker DXF parser (nagy fájlokhoz)
│ │ └── dxf-viewer.worker.js
│ └── __tests__/ # 39 test suite, 1077 teszt
├── e2e/ # 30 Playwright E2E spec (54 teszt)
├── vite.config.js
├── vercel.json
├── requirements.txt # Python dependencies (ezdxf, stripe, openai, stb.)
└── .env.example # Environment változók dokumentáció
npm install
npm run dev
Frontend: http://localhost:5173
cp .env.example .env
# Kitöltés: VITE_SUPABASE_URL, VITE_SUPABASE_ANON_KEY
# Supabase nélkül az app offline módban fut (localStorage-only)
| Parancs | Leírás |
|---|---|
npm run dev | Vite dev server (HMR) |
npm run build | Production build → dist/ |
npm run preview | Build előnézet |
npm run lint | ESLint (src/ — .js, .jsx) |
npm test | Vitest unit tesztek (1077) |
npm run test:watch | Vitest watch mód |
npm run test:e2e | Playwright E2E tesztek (54) |
npx playwright installnpm run build, Output: dist.env.example)requirements.txt Python dependency-ket a Vercel automatikusan telepítivercel.json tartalmazza az API route konfigurációt/api/parse-dwg endpoint-on (server-side ODA engine)A DXF fájlok általában mm-ben vannak. A UI automatikusan kezeli a mértékegységeket, de manuálisan is kalibrálható:
mm → m: 0.001 szorzó ← legtöbb esetben ezcm → m: 0.01 szorzóm → m: 1:1Ellenőrzés: mérd meg egy ismert falszakasz hosszát a DXF-ben a beépített mérőeszközzel.
dxfParser.js (main thread) és dxfParser.worker.js (web worker) — azonos logika, dxfParseContract.js normalizálja a kimenetet mindkét útvonalrólA workspace erős, de törékeny. Kis, célzott változtatásokat preferáld. Kerüld a széles refaktorokat a kritikus flow-kban (TakeoffWorkspace, App.jsx, generatePdf, dxfParser).
npm run build (zero error) + npm test (1077 pass) + npm run test:e2e (54 pass)dxfParser.js és dxfParser.worker.js mindig szinkronban kell legyen — a dxfParserConsistency.test.js ellenőrzisignalType nélkül block_name-ként kezelődnekgeneratePdf.js) html2canvas-alapú: CSS page-break szabályok nem érvényesülnek, spacer injection kezeli a tördelést