1. A programkövetelmény, illetve az ennek alapján szervezhető szakmai képzés
1.1. Megnevezése: Junior Fullstack API fejlesztő
1.2. Ágazat megnevezése: Informatika és távközlés ágazat
1.3. Besorolása a képzési területek egységes osztályozási rendszere (KEOR) szerinti kód alapján: 0613 Szoftverek és alkalmazások fejlesztése és elemzése
2. A programkövetelmény alapján szervezhető szakmai képzéssel megszerezhető szakképesítés
2.1. Megnevezése: Junior Fullstack API fejlesztő
2.2. Szintjének besorolása
2.2.1. Az Európai Képesítési Keretrendszer (EKKR) szerint: 5
2.2.2. A Magyar Képesítési Keretrendszer (MKKR) szerint: 5
2.2.3. A Digitális Kompetencia Keretrendszer szerint: 6
3. A programkövetelmény alapján szervezhető szakmai képzéssel megszerezhető szakképesítés és az azzal betölthető munkakör vagy végezhető tevékenység kapcsolata, összefüggése:
3.1. A szakmai képzéshez kapcsolódóan megszerezhető szakképesítéshez szükséges kompetenciákkal szakmajegyzékben szereplő szakma körébe vonható munkaterület, tevékenység vagy munkakör magasabb szinten gyakorolható, vagy a szakmai képzés szakmajegyzékben szereplő szakma képzési és kimeneti követelményeiben meg nem határozott speciális szakmai ismeretek és szakmai készségek megszerzésére irányul.
3.2. A szakmai képzéshez kapcsolódóan megszerezhető szakképesítés jogszabályban meghatározott képesítési követelmény munkakör betöltéséhez vagy tevékenység folytatásához.
A képesítési követelményt előíró jogszabály:
4. A programkövetelmény alapján szervezhető szakmai képzéshez kapcsolódóan megszerezhető szakképesítéssel ellátható legjellemzőbb munkaterület, tevékenység vagy munkakör leírása:
A Junior Fullstack API fejlesztő a szoftverfejlesztés munkaterületen belül egy speciális munkakört képvisel. Munkája során elvégzi a Junior frontend fejlesztő munkakör minden jellemző feladatát (képes létező API-k kliens-oldali használatára, tesztelésére)
A fentieken felül:
- Saját fejlesztésű API-kat tervez és megír.
- Használja a RESTful alapú API szabványokat, valamint az azon alapuló API-tervezés és dokumentáció-generálás folyamatát és eszközeit.
- Elvégzi a szolgáltatásokhoz és erőforrásokhoz való hozzáférés jogosultságokhoz kötött szabályozását.
- Tisztában van a NoSQL megoldások alapvető fajtáival és használati módjaival, tisztában van azok előnyeivel és hátrányaival. A NoSQL megoldásokat célszerűen alkalmazza.
- Ismeri a konténerizációs technológia előnyeit, és képes annak segítségével az API-t kiszolgáló és felhasználó alkalmazásokat publikálni.
5. A programkövetelmény alapján szervezhető szakmai képzéssel megszerezhető szakképesítéshez szükséges képzési tartalom szabadalmi vagy szerzői jogi oltalom alatti állása:
5.1. Szabadalmi vagy szerzői jogi oltalom alatt áll: -
5.1.1. Az oltalom típusának megjelölése:
5.1.2. Nyilvántartó hatóság:
5.1.3. Azonosító vagy nyilvántartásba vételi száma:
6. A programkövetelmény alapján szervezhető szakmai képzés megkezdéséhez szükséges bemeneti feltételek:
6.1. Iskolai előképzettség: középfokú végzettség
6.2. Szakmai előképzettség: 06134004 Junior frontend fejlesztő szakképesítésben meghatározott szakmai kompetenciák megléte a végzettségről szóló tanúsítvánnyal, vagy ennek hiányában, a képző által szervezett előzetes szintfelmérő vizsga sikeres teljesítésével bizonyítottan.
6.3. Egészségügyi alkalmassági követelmény: nem szükséges
6.4. Szakmai gyakorlat területe és időtartama:
7. A programkövetelmény alapján szervezhető szakmai képzés elvégzéséhez szükséges foglalkozások minimális és maximális óraszáma (Amennyiben a programkövetelmény modulszerű felépítésű, a minimális óraszám a modulonként meghatározott minimális, a maximális óraszám a modulonként meghatározott maximális óraszámok összege):
7.1. Minimális óraszám: 160
7.2. Maximális óraszám: 320
8. A szakmai követelmények leírása:
8.1. Nem modulszerű felépítés esetén:
Képesség:
- Frontend-oldali alkalmazásokat készít, amelyek létező és jól dokumentált REST API-kat használnak.
- API kiszolgáló programot fejleszt.
- Az alkalmazáshoz, melyet fejleszt, unit és integrációs teszteket ír és futtat.
- API kiszolgáló architektúrát tervez és dokumentál.
- Felméri a szükséges biztonsági szinteket, és használja az autentikáció és a hozzáférés-hitelesítés alapvető megoldásait (API credentials)
- NoSQL adatbázist tervez, létrehoz és dokumentál.
- Az alkalmazás elkészítéséhez frontend felületet hoz létre, mely a létrehozott API végpontokat használja kérések küldésekor.
- Alkalmazásokat és az adatbázist konténerizált környezetben futtat.
Tudás:
- Ismeri a REST webszolgáltatás-architektúrát, és annak kliensoldali használatát.
- Ismer legalább egy backend-oldali technológiát, aminek segítségével képes API-végpontokat fejleszteni.
- Ismeri a unit és integrációs teszteszközöket és technikákat, azok limitációit, és a problémák megoldásait.
- Ismeri a RESTful alapú API szabványokat (OpenAPI), valamint az azon alapuló API-tervezés és dokumentáció-generálás folyamatát és eszközeit (Swagger Editor, Swagger UI).
- Ismeri az autentikáció és a hozzáférés-hitelesítés alapvető megoldásait (API credentials).
- Ismer egy NoSQL adatbázist, és egy ehhez kapcsolódó ODM-et, melyet az API fejlesztés során adatok tárolására felhasznál.
- Ismer egy Frontend keretrendszert, mely segítségével komponens alapú szemléletmód segítségével alkalmazást fejleszt.
- Ismer egy konténerizációs technológiát és hogy hogyan kell konténereket létrehozni és kezelni.
Attitűd:
- Törekszik a legjobb gyakorlatoknak és a tiszta kód elveinek megfelelő kliensoldali kód írására.
- Motivált egy API- végpontokat kiszolgáló hatékony alkalmazás fejlesztésére.
- Törekszik a hibamentes kód írására, ehhez tesztekkel lefedi a teljes általa készített kódot.
- Törekszik a szabványos API architektúrában való gondolkodásra.
- Törekszik védett, biztonságos API kiszolgáló alkalmazást készíteni.
- Törekszik az adatbázisok biztonságának, konzisztenciájának megőrzésére.
- Motivált egy API- végpontokat használó, önállóan működő webes felhasználói felület elkészítésére.
- Törekszik arra, hogy az alkalmazásait úgy írja meg, hogy azok konténerizált környezetben is futtathatóak legyenek.
Autonómia és felelősség:
- Önállóan el tud készíteni egy REST API-t használó frontend-oldali alkalmazást.
- Önállóan ír API kiszolgáló programot.
- Önállóan választ teszt eszközöket, teszteseteket ír és futtat melyekkel a funkcionális helyesség biztosítható, és automatizáltan újra tesztelhető.
- Önállóan tervez meg és dokumentál egyszerűbb API-t.
- Önállóan hoz létre hozzáférés-hitelesített API kiszolgáló programot.
- Önállóan készít NoSQL adatbázist használó API-t, mely során egy ODM adta funkcionalitást is felhasznál.
- Önállóan tervez meg, és hoz létre kliensoldali alkalmazást, mely egy szerveroldali alkalmazással kommunikál megadott API végpontokon keresztül.
- Önállóan hoz tervezési döntéseket az alkalmazás konténerizált környezetben történő futtatásához.
8.2. A szakmai képzés megszervezhető kizárólag távoktatásban: igen/nem
9. A programkövetelmény alapján szervezhető szakmai képzéssel megszerezhető szakképesítés társadalmi-gazdasági hasznosíthatóságának bemutatása (munkaerőpiaci relevanciája):
Ma a különféle alkalmazások a vállalatok között, de akár egy terméken belül is egyre inkább API-kon (alkalmazásprogramozási interfész, application programming interface) keresztül kapcsolódnak egymáshoz. Nagy kereslet van azok szaktudására, akik nemcsak kliensoldalon képesek már létező API-kat használni, hanem backend oldalon is ki tudnak alakítani API végpontokat. Az ilyen megoldások terjedésével még nagyobb a jelentősége annak, hogy szabványos, jól megtervezett és jól használható és könnyen deployolható API szolgáltatások szülessenek. Kiemelkedő igény mutatkozik az olyan szakemberek iránt, akik képesek ilyen interfészek megtervezésére és megírására.
Junior frontend fejlesztő szakképesítéssel vagy máshogyan megszerzett alapszintű frontend fejlesztési készségekkel már rendelkező informatikusok számára az Junior Fullstack API szakképesítés olyan továbbfejlődési és specializálódási lehetőséget teremt, amivel nagyobb eséllyel találnak maguknak magasabb presztízsű munkahelyet.
10. A képesítő vizsga megszervezéséhez szükséges feltételek és a képesítő vizsga vizsgatevékenységeinek részletes leírása:
10.1. A képesítő vizsgára bocsátás feltétele:
A szakmai képzés követelményeinek igazolásáról a képző intézmény által, a felnőttképzési adatszolgáltatási rendszerben kiállított tanúsítvány.
Egyéb feltételek:
10.2. Írásbeli vizsga
10.2.1. A vizsgatevékenység megnevezése: Junior Fullstack API fejlesztési ismeretek
10.2.2. A vizsgatevékenység, vagy részeinek leírása:
A vizsgatevékenység egy feleleletválasztós teszt, amelynek célja a képzés
elméleti tudásanyagának számonkérése. Az írásbeli vizsga kérdéseit a
következők szerint kell összeállítani:
- Kérdések száma, típusa: 40 db feleletválasztásos tesztkérdés, kérdésenként legalább 4, legfeljebb 6 válaszlehetőséggel, amelyből egyetlen a helyes válasz.
- A tesztkérdések témakörei és témakörönkénti darabszámai a következők kell legyenek:
- Szoftver Architektúrák: 4 kérdés
- Node JS alapok: 6 kérdés
- Tesztelés: 6 kérdés
- NoSQL adatbázisok: 6 kérdés
- Node JS API fejlesztés: 8 kérdés
- JavaScript keretrendszer haladó ismeretek: 6 kérdés
- Konténerizáció: 4 kérdés
10.2.3. A vizsgatevékenység végrehajtására rendelkezésre álló időtartam: 60 perc
10.2.4. A vizsgatevékenység aránya a teljes képesítő vizsgán belül: 20%
10.2.5. A vizsgatevékenység értékelésének szempontjai:
Az írásbeli vizsgát a következők szerint kell értékelni:
Maximálisan elérhető pontszám/százalék: 100 pont/100%
- 40 x 2,5 pont = 100 pont/100%.
Egyéb értékelési szempontok az írásbeli vizsgaértékeléssel kapcsolatban:
- A helyes válasz 2,5 pontot ér, a helytelen válasz 0 pontot ér.
- A rossz válasz megjelöléséért pontlevonás nem jár.
10.2.6. A vizsgatevékenység akkor eredményes, ha a vizsgázó a megszerezhető összes pontszám legalább 51%-át elérte.
10.3. Projektfeladat
10.3.1. A vizsgatevékenység megnevezése: Junior Fullstack API gyakorlati feladatok
10.3.2. A vizsgatevékenység, vagy részeinek leírása:
A gyakorlati vizsga egy vizsgaremekből és egy programozási feladatból áll.
A) Fullstack webes alkalmazás vizsgaremek
A vizsgázónak a vizsgát megelőzően egy fullstack webes alkalmazást kell
elkészítenie, tesztekkel lefedve, konténerizálva.
Az alkalmazással kapcsolatos elvárások:
- Valós életből vett igényeket elégítsen ki
- Adattárolást/adatkezelése segítségével.
- Háromrétegű architektúra használatával legyen megvalósítva az alkalmazás.
- A kliens oldali rész legyen responsive.
- A forráskódnak a tiszta kód elveinek meg kell felelnie.
- Az alkalmazáshoz markdawn formátumban készüljön el a dokumentációja, mely tartalmazza az alkalmazás telepítését, konfigurálását, célját, valamint a végpontok legyenek az OpenAPI szabványnak megfelelően dokumentálva.
A vizsgaremek benyújtásának módja:
A kész csomagot a vizsga előtt minimum 7 nappal kell a vizsgabizottsághoz
benyújtani verziókövető rendszeren keresztül (pl. GitHub, GitLab, BitBucket,
stb.).
A vizsgafeladat során a vizsgázó gyakorlati bemutatóval összekapcsolt szóbeli előadás formájában mutatja be a
- szoftver célját
- műszaki megvalósítását
- működését
- forráskódját
A vizsgaremek bemutatására és megvédésére maximum 15 perc áll a vizsgázó rendelkezésére.
B) A gyakorlati vizsga öt különböző programozási feladatból áll.
- 1 db API-t használó kliensoldali feladat
- 2 db feladat konténerizált API-végpontok írásáról
- 1 db feladat API tervezéssel kapcsolatban
- 1 db feladat adatbázissal kapcsolatban
A vizsgázó a feladatokat szöveges formátumban kapja meg. A feladatleírás tartalmazza a feladat szöveges leírását. A projekt vázát, valamint az automata teszteseteket verziókövető rendszeren keresztül kapja meg. A vizsgázó feladata a szöveges leírás megértése, a tesztesetek értelmezése. Ezek alapján meg kell terveznie a megoldást. A tervezés során meg kell határoznia a megoldást biztosító modulokat. A tervezés után implementálnia kell a megoldást a megfelelő fejlesztőeszközben:
- Meg kell nyitnia a projekt vázát, melyben a tesztesetek nem fognak lefordulni.
- A vizsgázónak létre kell hoznia a megtervezett modulokat, mely után a projekt lefordítható, de funkcionálisan nem működőképes, azaz a tesztesetek már lefutnak, de hibát adnak.
- Ezután úgy kell implementálnia a hiányzó részeket, hogy mind a leírásnak, mind a teszteseteknek megfeleljenek, azaz a tesztesetek lefuttatása sikeres legyen.
A munkája során figyelnie kell a programozási paradigmák betartására, valamint a clean code elvekre, azaz olvasható és karbantartható kód kell írnia. A forráskódot ellenőrizni kell a kódolási konvenciók alapján. Az alkalmazást le kell buildelni. Amennyiben a vizsgázó elkészült a munkájával, azt verziókövető rendszeren vagy egy webes felületen keresztül vagy e-mailen kell beadnia.
A vizsgafeladat elkészítésére 195 perc áll a vizsgázó rendelkezésére.
10.3.3. A vizsgatevékenység végrehajtására rendelkezésre álló időtartam: 210 perc
10.3.4. A vizsgatevékenység aránya a teljes képesítő vizsgán belül: 80%
10.3.5. A vizsgatevékenység értékelésének szempontjai:
A vizsgatevékenységgel 100 pontot lehet szerezni, az alábbi bontásban:
A.) Fullstack webes alkalmazás vizsgaremek vizsgarész (összesen 50 pont):
- az alkalmazás átfogó értékelése (a komplexitás és kidolgozottság mértéke, milyen mértékben és minőségben valósította meg a szoftver a kitűzött célt, felhasználói élmény minősége): 15 pont
- adatok kezelésének tervezése és megvalósítása: 10 pont
- funkcionalitás: 5 pont
- megjelenés és használhatóság különböző képernyőméretek esetén: 5 pont
- a kód minősége: 5 pont
- a dokumentáció minősége és részletezettsége: 5 pont
- az alkalmazás bemutatása során a vizsgázó előadásának szakszerűsége: 5 pont
B.) Gyakorlati vizsga (összesen 50 pont):
- 0 - 2 pont: az adott projekt nem fordul le, többségében nem futnak le a
tesztesetek, az elvárt funkcionalitást nem valósítja meg. Azonban több
teszteset nem fut le, és a kód is olvashatatlan.
- 3 - 6 pont: a projekt lefordul, a tesztesetek legtöbbje lefut, ezek nagyrészt
funkcionálisan is helyesek, és a clean code elvek nagyrészt betartásra
kerültek.
- 7 - 10 pont: ha a projekt lefordul, a tesztesetek lefutnak, funkcionálisan
helyesek, és csak apróbb funkcionális vagy clean code hibák szerepelnek a
megoldásban.
A részletes, adott projektfeladatra személyre szabott értékelés a mérés-értékelési útmutatóban fog szerepelni.
10.3.6. A vizsgatevékenység akkor eredményes, ha a vizsgázó a megszerezhető összes pontszám legalább 51 %-át elérte.
10.4. A vizsgatevékenységek lebonyolításához szükséges személyi feltételek:
A vizsgabizottság legalább egy tagjának jártasnak kell lennie a Full stack technológiákban és legalább 2 éves szakmai gyakorlattal és/vagy felsőfokú szakirányú (informatikai) végzettséggel szükséges rendelkeznie.
A vizsga lebonyolításához szükséges technikai feltételek biztosítása/felügyelete és a vizsga zavartalan lebonyolítása érdekében egy technikai szakember (rendszergazda) biztosítása szükséges.
10.5. A vizsgatevékenységek lebonyolításához szükséges tárgyi feltételek:
- Számítógép / laptop:
- Internetkapcsolat
- Szoftverek:
- Integrált fejlesztő környezet (IDE)
- NodeJS LTS
- Választott NoSQL GUI
- A képzésen használt és a vizsgára nyilvánosságra hozott szoftverlista szerinti szoftverek
10.6. A vizsgatevékenységek alóli felmentések speciális esetei, módja, és feltételei:
10.7. A képesítő vizsgán használható segédeszközökre és egyéb dokumentumokra vonatkozó részletes szabályok:
- Papír és toll/ceruza használata megengedett.
- A vizsgaközpont által ellenőrzött és jóváhagyott, a technikai feltételeknek
megfelelő, saját számítógép használata engedélyezett.
- A vizsgatevékenység végrehajtásához internetkapcsolat áll a vizsgázók rendelkezésére. Az internetkapcsolat biztosításának módját és formáját az adott vizsgafeladathoz kiadott útmutató tartalmazza. Ennek megfelelően az internetkapcsolat korlátozódhat meghatározott internetes címekre és/vagy hozzáférési időtartamra, de mindenképpen biztosítani kell, hogy az internetkapcsolatot a vizsgázók kizárólag általános keresésre használhassák, mással történő kommunikációra vagy a vizsgához célirányosan elkészített anyagok letöltésére ne.
10.8. A vizsgatevékenységek megszervezésére, vizsgaidőszakokra vonatkozó sajátos feltételek:
A képesítő vizsga online/virtuális formában is megszervezhető.
11. A szakmai képzés megszervezéséhez kapcsolódó különös, egyedi, speciális feltételek