Ugrás a tartalomra
Jónás Gergely
Saját projekt · Honlap + portál + app

Klímahalom

Honlap, admin portál és Android app egy klímaszerelő cégnek

Élesben 2026. július – augusztus
rész, közös adatokkal
3
települési aloldal
~20
sor TypeScript a portálban
11 000
sor Kotlin az appban
22 000

01Röviden

Egy helyi klíma- és hőszivattyú-szerelő cég rendszere három részből. A honlapon a környékbeliek megtalálják a céget, és két perc alatt visszahívást kérnek. A webes admin portálon a cég teljes napi munkája egy helyen van. Az Android appal a szerelő a helyszínen készíti el a munkalapot vagy az árajánlatot.

A három rész ugyanazt az adatot használja: a honlapról érkező ajánlatkérés azonnal megjelenik a portálon, a telefon értesítést küld róla, a honlap árai pedig a portálról szerkeszthetők.

2026. augusztus

Honlap

Bemutatkozó és ajánlatkérő weboldal, helyi keresésre építve

Sötét, „műszeres” hangulatú oldal. A cél: aki a környéken klímát keres, megtalálja, és két perc alatt visszahívást kérjen. Élő szolgáltatási térkép, kétlépéses, gombos ajánlatkérő, közel 20 települési aloldal, és az árak a cég saját admin portáljáról jönnek, kódmódosítás nélkül.

01

Két perc, és visszahívják

Az ajánlatkérő első lépése csak gombokból áll: szolgáltatás, ingatlan, gépek száma, időzítés. A gépelős mezők a végén vannak, captcha nincs.

02

Élő szolgáltatási térkép

MapLibre GL saját hosztolású könyvtárral és sötét térképstílussal; a kiszállási kör és a települések jelölve, kattintásra nagyítható.

Nyitóképernyő a beltéri egység fotójával és a mért hőmérsékletekkel
Árlista, az admin portálról szerkeszthető árakkal
Ajánlatkérő, kitöltött második lépés
Települési aloldal: klímaszerelés Halásztelken
Görgetés a főoldalon, beúszó elemekkel
Mobil · 1 képernyő
A honlap mobilon
01

Mit tud

  • Saját arculat (Archivo betűcsalád, éjkék alap, narancs kiemelés); a heróban valódi beltéri egység fotója a mért hőmérsékletekkel, alatta animált légáram-ívek.
  • Szolgáltatási térkép MapLibre GL-lel (saját hosztolású könyvtár, OpenFreeMap csempék): a kiszállási kör és a települések jelölve.
  • Kétlépéses ajánlatkérő: az első lépés csak gombokból áll (szolgáltatás, ingatlan, gépek száma, időzítés), a gépelős mezők a végén vannak.
  • Védelem captcha nélkül: rejtett csalimező, kitöltési idő mérése, IP-alapú óránkénti és napi korlát, szerveroldali értéklista-ellenőrzés.
  • Települési aloldalak a helyi kereséshez; strukturált adatok (helyi vállalkozás kiszállási körrel, 30+ kiszolgált településsel, GYIK), sitemap, llms.txt.
  • Az árak build időben a portál API-jából jönnek, éjszakai újraépítéssel.
  • Animált oldalváltás, minden animáció csak transformmal és opacityvel; csökkentett mozgás mindenhol, a mobilmenü JavaScript nélkül is működik.
Astro 6TypeScriptMapLibre GLsaját CSSNode.js APIBrevonginxGitHub Actions

A képek lokálisan futtatott példányról készültek; az űrlap adatai kitaláltak, beküldés nem történt.

2026. július – augusztus

Admin portál

Belső webalkalmazás a napi munkához, a telefonos appal élő szinkronban

A cég teljes napi munkája egy helyen, böngészőből: nyitott munkalap, ügyfelek, termékkatalógus, anyagcsomagok, naptár, éves szerviz-emlékeztető, statisztika és a honlapról érkező ajánlatkérések. Ugyanazt az adatot szerkeszti, mint a telefonos app, élő szinkronban. Asztali gépen oldalsávos, telefonon alsó menüs, világos és sötét témával.

01

A teljes napi munka egy helyen

Nyitott munkalap, ügyfelek, katalógus, naptár, szerviz-emlékeztető, statisztika és a honlap ajánlatkérései, élő szinkronban a telefonos appal. Világos és sötét téma.

Klíma Portál bemutató kép: asztali és mobil nézet
Nyitott munkalap tételekkel és végösszeggel
A honlapról érkezett ajánlatkérések
Éves karbantartásra esedékes ügyfelek
Statisztika: bevétel és havi diagram
Egy ügyfél lapja a munkákkal és a felszerelt gépekkel
Statisztika sötét témában
Mobil · 1 képernyő
A portál mobilon
01

Mit tud

  • Munkalap: ügyfélkereső, tételek mennyiség-léptetéssel, anyagcsomagok, lezárás gépenkénti sorozatszámokkal és ügyfél-aláírással; munkalap és árajánlat nyomtatható nézetben vagy egy gombbal e-mailben.
  • Naptár a betervezett kiszállásokkal, egy gombbal a napi útvonal, Google Naptár kapcsolat.
  • Szerviz: ki esedékes éves karbantartásra, ügyfelenként felülírható gyakoriság, emlékeztető e-mail egy gombnyomásra (ügyfelenként napi egy levél), reggeli összesítő a tulajdonosnak.
  • Katalógus: átárazás kijelölésből százalékkal, fix összeggel és kerekítéssel, élő előnézettel; sorrend húzással vagy billentyűzettel.
  • A honlap ajánlatkérései és árlistája innen kezelhető, a honlap magától újraépül.
  • Statisztika: bevétel időszakonként, havi diagram mozgóátlaggal, idei és tavalyi év, legjobb ügyfelek és tételek.
  • Belépés engedélyezési listával, kétirányú szinkron a telefonnal adatvesztés nélkül, offline olvasás. Kb. 11 000 sor TypeScript.
React 18TypeScriptViteFirebase (Firestore, Auth, Storage)saját CSSNode.js APIBrevoGitHub Actions

Generált mintaadatok (kitalált ügyfelek, munkák, összegek); a képek az éles szolgáltatásoktól leválasztott példányról készültek.

2026. július – augusztus · v1.10.0

Android app

Klíma Kalkulátor: helyszíni munkalap- és árajánlat-készítő szerelőknek

A szerelő a helyszínen nagy gombokkal felviszi az anyagokat és a munkákat, az app azonnal kiszámolja a végösszeget, és PDF munkalapot vagy árajánlatot készít, amit egy gombbal elküld WhatsAppon, e-mailben vagy Viberen. Offline-first: a telefon saját adatbázisa az igazság forrása, így térerő nélkül, pincében is működik.

Idősebb, gyengébb látású felhasználónak készült, munkakesztyűs ujjakkal: két gombméret és három betűméret, csúszkák helyett +/− gombok és saját, nagy gombos számbillentyűzet, rezgés-visszajelzés, körbevezetés első indításkor.

01

Nagy gombok, munkakesztyűvel is

Csúszkák helyett +/− gombok és saját, nagy gombos számbillentyűzet. A végösszeg számjegyenként pörög, a munka lezárásakor konfetti jön.

02

Fülek, amik követik az ujjat

Lebegő, rugóra ugró alsó menü; a fülek oldalra húzással is lapozhatók, a jelző folyamatosan követi az ujjat.

Klíma Kalkulátor bemutató kép: telefonképernyők a munkalappal és a statisztikával
Mobil · 5 képernyő
Aktuális munka a végösszeg-kártyával
Naptár a betervezett kiszállásokkal
Esedékes karbantartások
Statisztika: bevétel és havi diagram
Ügyfél lapja: munkák és felszerelt gépek sorozatszámmal
01

Mit tud

  • PDF munkalap és árajánlat céges fejléccel, ügyféladatokkal és aláírással (aláíró pad, vagy fotóból kivágott aláírás).
  • Lezáráskor gépenként beltéri és kültéri sorozatszám, kézzel vagy a matricáról fotóval.
  • Automatikusan épülő ügyfélnyilvántartás híváshoz, e-mailhez, térképhez és Waze-indításhoz; címkiegészítés API-kulcs nélkül.
  • Termékek és csomagok, naptár, szerviz-értesítés szerver nélkül, offline is; ajánlatkérések értesítéssel, statisztika, előzmények újragenerálható PDF-fel.
  • Számjegyenként pörgő végösszeg, konfetti a munka lezárásakor, oldalra húzással lapozható fülek.
02

Mérnöki megoldások

  • Offline-first szinkron: a Room az igazság forrása, a Firestore tükör; soronkénti ujjlenyomat, idempotens feltöltés, törlés „sírkővel”, és a visszatöltés soha nem töröl helyi adatot.
  • A web és a telefon azonosítói nem ütközhetnek (pozitív és negatív tartomány).
  • PDF külső könyvtár nélkül (android.graphics.pdf), helyes magyar ékezetekkel.
  • CI/CD: unit teszt és lint minden pushra, aláírt release verziótagre, a kiadás automatikusan letölthető lesz a portálon. Kb. 22 000 sor Kotlin.
Kotlin 2.2Jetpack ComposeMaterial 3RoomDataStoreWorkManagerFirebasekotlinx.serialization

A képek valódi telefonon (Galaxy S22 Ultra) futó teszt buildről készültek, generált mintaadatokkal, az éles felhőtől leválasztva.