Modern fullStack és mobil fejlesztői verseny
VERSENY IDEJE, HELYSZÍNE
- 05. 11. 18:00-21:00, QBF14-15
VERSENYRE JELENTKEZÉS
Kérlek jelezd előre részvételi szándékod, hogy tudjuk mennyi pizzával készüljünk 😊
Modern fullstack és mobil fejlesztői verseny
VERSENYFELELŐS TANSZÉK
Automatizálási és Alkalmazott Informatikai Tanszék
VERSENYFELELŐS OKTATÓK
Dr. Ekler Péter, Dr. Forstner Bertalan, Pásztor Dániel, Dr. Kővári Bence, Albert István, Dr. Imre Gábor
A VERSENY SZÖVEGES LEÍRÁSA
A verseny feladata egy oktatás szervezéssel kapcsolatos portál fullstack megvalósítása. A pontos feladatot a verseny kezdésekor ismerik meg a résztvevők.
A versenyzők célja egy olyan teljes alkalmazás elkészítése, amely backendből, adatbázisból, valamint frontend és mobil felületből áll, és lokális gépen futtatható/kipróbálható. A megoldás során több felhasználói szerepkör kezelését is meg kell valósítani, és törekedni kell a minél gazdagabb, kreatívabb funkciók beépítésére.
A verseny kiemelten a fullstack fejlesztési kompetenciákat méri, vagyis a résztvevőknek egyszerre kell megfelelő adatmodellt tervezniük, üzleti logikát megvalósítaniuk, biztonságos és jól használható kliensoldali felületet készíteniük, ügyelni kell a skálázhatóságra, karbantarthatóságra, valamint biztosítani kell az alkalmazás működőképességét és telepíthetőségét.
A beadott alkalmazásnak egyszerűen telepíthetőnek és futtathatónak kell lennie. Ennek megfelelően a versenyzőknek rövid, világos telepítési és futtatási leírást is mellékelniük kell.
A verseny során a megoldásnak mobil eszközön is működnie (vagyis egy megfelelő funkcionalitású frontendnek helyesen megjelennie) kell. Külön extra pont jár, ha a versenyző natív/crossplatform mobilalkalmazást is készít, és azon valamilyen natív/mobil specifikus funkcionalitást is megvalósít. Ilyen lehet például egy helyzet- vagy kontextusfüggő funkció, mint a telefon intelligens némítása, értesítések kezelése, kamera vagy helyadatok használata stb.
A fejlesztéshez AI-technológia használható, azonban ilyen esetben a versenyzőnek külön nyilatkozatban rögzítenie kell, hogy pontosan milyen módon, milyen promptokkal, milyen eszközöket és milyen mértékben használt a fejlesztés során. Ennek kitöltése a versenyidő részét képezi.
A versenyt minden résztvevő saját laptopján teljesíti, ezért javasolt a szükséges fejlesztői környezetek, keretrendszerek és eszközök előzetes telepítése és kipróbálása. A végső beadás megosztott GitHub repository formájában történik.
VERSENYEREDEMÉNY BESZÁMÍTÁSA
A versenyen elért eredményt egyetlen, a tanszék által gondozott, BSc specializációs (Szoftverfejlesztés / AUT AI Engineering ágazat), MSc fő- vagy mellékspecializációs, vagy szabvál, a szoftverfejlesztéshez, natív vagy multiplatform mobilszoftver-fejlesztéshez, rendszertervezéshez és modern alkalmazásfejlesztési technológiákhoz kapcsolódó tárgy értékelésénél plusszpontként vesszük figyelembe az aktuális vagy a rákövetkező félévben következő szerint:
- A tárgyat a számonkérés megírása előtt kell kiválasztanod
- 1-3 helyezett: +25%-nak megfelelő pont a ZH vagy vizsga eredményéhez
4-10 helyezett: +10%-nak megfelelő pont a ZH vagy vizsga eredményéhez
ÍZELÍTŐ A VERSENYFELADATBÓL
A modern oktatási rendszerekben egyre nagyobb igény van olyan digitális platformokra, amelyek többféle szereplőt támogatnak, átláthatóan kezelik az oktatási folyamatokat, és megfelelő felhasználói élményt nyújtanak asztali és mobil környezetben egyaránt.
A verseny célja egy ilyen oktatási, oktatásszervezési portál elkészítése, amely alkalmas lehet például hallgatók, oktatók és adminisztratív szereplők kiszolgálására. A versenyzőknek olyan alkalmazást kell létrehozniuk, amely jól strukturált, biztonságos, skálázható és bővíthető, miközben a megoldás ergonómiai, UX- és accessibility-szempontból is magas színvonalat képvisel.
A jó megoldás nem pusztán technológiai demonstráció, hanem egy átgondolt, gyakorlatban is használható rendszer prototípusa, amelyben a backend, az adatbázis és a kliensoldali megoldások szerves egységet alkotnak.
ELŐKÉSZÜLETEK
A versenyen minden résztvevő a saját számítógépén dolgozik, ezért a szükséges fejlesztői környezetek előzetes előkészítése különösen ajánlott. Érdemes a választott fullstack technológiai stackhez tartozó eszközöket, adatbázist, futtatókörnyezetet, csomagkezelőket és IDE-ket előre telepíteni és kipróbálni.
A versenyre tetszőleges technológia használható. A teljesség igénye nélkül például:
- Adatbázis: MySQL, PostgreSQL, MSSQL stb.
- Backend: Spring, NodeJS, .NET, Python stb., akár több modulból vagy komponensből felépítve
- Frontend: React, Angular, Blazor, natív Android, iOS, cross-platform mobil megoldás, PWA stb.
A beadás megosztott GitHub repository formájában történik, ezért javasolt a verziókezelési környezet előzetes beállítása is. A megoldásnak lokálisan futtathatónak kell lennie, felhőspecifikus szolgáltatások használata nélkül.
HASZNÁLHATÓ SEGÉDESZKÖZÖK
A verseny során tetszőleges fejlesztői eszköz, dokumentáció, könyvtár és keretrendszer használható. AI-alapú fejlesztési technológiák is igénybe vehetők, de használatuk esetén kötelező az erről szóló nyilatkozat kitöltése a versenyidő terhére.
Emberi segítség igénybe vétele a versenyből történő azonnali kizárást vonja maga után.
TÉMAKÖRÖK
- Fullstack fejlesztés
- Backend fejlesztés
- Adatbázistervezés
- Frontend fejlesztés
- Mobil alkalmazás fejlesztés
- UX és accessibility
- Security
- Reszponzív alkalmazásfejlesztés
FELKÉSZÜLÉST SEGÍTŐ ANYAGOK
A versenyre való felkészüléshez javasolt bármely korszerű fullstack fejlesztési technológia alapos ismerete, különösen az adatmodellezés, REST vagy egyéb kommunikációs megoldások, autentikációs és autorizációs technikák, valamint modern frontend- és mobilfejlesztési eszközök területén.
Hasznos lehet továbbá a következő területek áttekintése:
- reszponzív felületfejlesztés
- szerepköralapú hozzáférés-kezelés
- biztonságos autentikáció és adatkezelés
- API-tervezés és kliens-szerver kommunikáció
- telepíthetőség, futtathatóság és dokumentáció
- Git és GitHub-alapú projektbeadás
- mobil alkalmazásfejlesztés
ÉRTÉKELÉSI SZEMPONTOK
| Értékelési terület | Szempont | Pont |
| Kompakt működés | Kulcs funkciók, menüpontok és funkciók átláthatósága, kompakt működés | 10 |
| Részletes funkcionalitás | Üzleti logika átgondoltsága és funkcionalitás gazdagsága | 10 |
| Szerepkörök és kapcsolódó funkciók megvalósítása | Szerepkörkezelés és jogosultsági modell kidolgozottsága | 5 |
| Kommunikáció | Kommunikációs technológiák, gyors és hatékony adatelérés | 10 |
| Adatkezelés és architektúra | Adatmodell bővíthetősége | 5 |
| Architektúra | Architektúra, modularitás, skálázhatóság | 10 |
| Karbantarthatóság | Kódminőség, karbantarthatóság, hatékonyság | 10 |
| Hibakezelés | Hibakezelés, naplózás, megbízhatóság | 5 |
| Minőség és megbízhatóság | Biztonsággal kapcsolatos implementációk | 5 |
| Felhasználói felület és élmény | Felhasználói élmény, UX, accessibility, logikus navigáció, reszponzivitás | 5 |
| Mobilitás | Mobil kliens megléte és funkcionalitása (dedikált natív vagy cross platform mobil kliens / natív funkciók előny, elég csak egy platformra) | 10 |
| Fejlesztési és üzemeltetési érettség | Telepíthetőség és futtatási dokumentáció minősége | 5 |
| Fejlesztési és üzemeltetési érettség | GitHub repository rendezettsége, projektstruktúra átláthatósága | 5 |
| Innováció | Kreativitás és innovatív megoldások | 5 |
| Összesen | 100 |
DÍJAZÁS
I. helyezett: 35.000 Ft
II. helyezett: 25.000 Ft
III. helyezett: 15.000 Ft
Dicséret (zsűri döntése alapján): 10.000 Ft