Fejlesztési naplók
Válogatás az általam fejlesztett és karbantartott projektekből, röviden a felépítésükről: platformok között megosztott kód, a rétegek világos szétválasztása, valamint hálózati és tűzjelző rendszerek telepítése.
01 / Multiplatform és mobilalkalmazások
MaturiMate
Kotlin Multiplatform • Fejlesztés alatt
A MaturiMate egy érettségi-felkészítő alkalmazás Androidra és asztali gépre (JVM), Kotlin Multiplatform és Compose Multiplatform segítségével írva. Az éles Kotlin kód kb. 95%-a közös a két platform között; a többi platform-belépési pont és kis platformspecifikus adapter.
A képernyők ViewModel-eket használnak, amelyek a változtathatatlan UI-állapotot Kotlin StateFlow-ként teszik közzé. A navigáció a Navigation3 (alpha) könyvtárat használja, a felhasználói beállításokat pedig multiplatform DataStore menti.
Állapot: a bevezető folyamat (onboarding), az érettségi visszaszámlálóval ellátott profilképernyő és az alkalmazkodó navigációs keret működik. A vizsgaadatbázis (SQLDelight) és a vizsgaadatok betöltése külön ágon készül, és még nincs beolvasztva. A vizsgakitöltő képernyő, az értékelés és a próbálkozások előzményei még nincsenek megépítve.
BoxWithConstraints {
// Determine if the device is considered a desktop based on maxWidth
val isDesktop = maxWidth > LayoutConstants.DesktopThreshold
if (isDesktop) {
// Desktop navigation side bar
Row(Modifier.fillMaxSize()) {
// ...
}
}
// ...
}
02 / Backend és rendszerszoftverek
Employee Records Database (Java)
Java 21 konzolos alkalmazás alkalmazotti nyilvántartások és a munkatársak közötti együttműködési kapcsolatok kezelésére. Kétfős egyetemi feladatként indult. A kód prezentációs, domain és adatréteg között oszlik meg, a domain pedig csak repository- és tárolási interfészektől függ. Futás közben az adatok egy memóriabeli tárolóban vannak, szöveges fájlos exporttal és egy SQLite-mentéssel, amely indításkor betöltődik, kilépéskor pedig mentésre kerül. A két alkalmazotti funkció egy szabályalapú kockázati pontszám és a közös kollégák elemzése. A legtöbb kapcsolattal rendelkező alkalmazott lekérdezése holtversenynél az alkalmazotti azonosító szerint dönt.
A domain szolgáltatást, a repository-t és a tárolási megvalósításokat JUnit 5 tesztek fedik le; a fájltárolási tesztek ideiglenes @TempDir könyvtárakban futnak. Egy GitHub Actions workflow a master ágra érkező minden push és pull request esetén lefuttatja az egységteszteket.
Többdomaines platform és médiafolyamat
Ez a weboldal. Egyetlen repó három független oldalt tartalmaz: egy fotós vállalkozói oldalt, egy központi hubot és ezt a mérnöki portfóliót. Helyi fejlesztéshez egy Alpine-alapú Nginx szerverrel ellátott Docker Compose környezetben futnak együtt, így a domainek közötti irányítás és a tiszta URL-ek élesítés előtt tesztelhetők. Mindegyik oldal külön Cloudflare Pages projektként települ a main ágra érkező push után.
A fotógalériák adatbázis nélkül készülnek. Egy kis Python CLI végignézi a képmappákat és egy JSON manifestet ír, amelyet a böngésző betölt, majd sima JavaScripttel masonry galériát épít belőle.
Secure Communication
Python • Egyetemi kurzusprojekt (BPC-AKR)
Egy terminálalapú csoportos csevegő, amely kriptográfiai játszótérként szolgál. A kliensek titkosított üzenetekkel (AES-GCM) kommunikálnak egy Diffie-Hellman kulcscsere révén egyeztetett kulcs segítségével, miközben egy beépített man-in-the-middle (közbeékelődéses) proxy szemlélteti, hogy a védelem mit képes megállítani, és mit nem. Biztonságos módban a kézfogást RSA-val írják alá, és a manipulált kulcscserét a rendszer automatikusan megszakítja; nem biztonságos módban viszont a proxy képes átvenni a munkamenet feletti uralmat.
A projekt négyfős egyetemi feladatként (BPC-AKR) indult; én feleltem a Diffie-Hellman kulcscsere és a HKDF kulcslevezetés megvalósításáért. Később refaktoráltam a kódot, kijavítottam 21 hibát, írtam egy 103 tesztből álló tesztcsomagot, valamint kiegészítettem egy GitHub Actions munkafolyamattal és egy Docker Compose demóval. Ez egy oktatási célú projekt; a részletek és a javított hibák listája a GitHub README-ben találhatók.
03 / Fizikai infrastruktúra és életvédelmi rendszerek
Intézményi Hálózat & L3 Felügyelet
Zöldmezős hálózat egy új oktatási intézményben: 19"-os rack, VLAN szegmentáció (menedzsment, CCTV, irodai LAN), Wi-Fi 6 és 8 IP kamera 250 W-os PoE kerettel, ~80 W tényleges terheléssel.
A rögzítési streamek a PoE switch backplane-jén maradnak. Kétszintű távmenedzsment: Omada felhő a napi ellenőrzéshez, WireGuard split tunnel távoli helyszínről az izolált alhálózatokhoz. Általam tervezve, telepítve és konfigurálva; távolról adminisztrálva.
Tűzjelzés és életvédelem: Bosch AVENAR 2000
Bosch AVENAR panel 2000 elektronikus tűzjelző rendszer egy oktatási intézményben: zárt LSN hurok, hat funkcionális zóna helyiségnevekkel a kijelzőn, FMC-420RW kézi jelzésadók.
Az RML 0008 A relék vezérlik a fail-safe ajtónyitást, a főelosztó munkaáramú kioldóját és a GSM átjelzést. Telepítés és LSN programozás Bosch AVENAR központon, a projekt terve szerint és egy felhatalmazott felügyelő irányítása alatt. A munka része volt a sínsorrend-ellenőrzés, a T-tap hibakeresés és az EN 54-4 szerinti akkumulátor-autonómia ellenőrzése (24 h + 30 perc).