Mikroszolgáltatásokra épülő konténer-alapú rendszer megvalósítása

2019-2020 tavasz

Szoftver

Téma leírása

A mikroszolgáltatások szoftver architektúra előnye, hogy magas rendelkezésre állású, stabil, tranziens hibáknak ellenálló, jól skálázható rendszereket építhetünk. Mindezt kombinálva a konténer technológiákkal, könnyen telepíthető és jól karbantartható rendszert kapunk, ahol akár naponta többször is lehetőségünk van új verziót kiadni a szoftverből (pl. egy webalkalmazás esetén) - ha megfelelő CI/CD folyamataink vannak.

A téma során egy ilyen rendszert kell kifejlesztened.

Konkrét feladat

A konkrét feladat egy egy olyan webalkalmazás megvalósítása, amely legalább három mikroszolgáltatásra bomlik, és azok együtt adnak egy funkcionális alkalmazást. A mikroszolgáltatásoknak Docker konténerben kell futniuk.

A webalkalmazás témája lehet egy az alábbiak közül, vagy saját ötlet:

- Projektek és "meeting minutes"-ek kezelése: megbeszélésekről napló vezethető, amelyet eltárol a rendszer, és visszakereshetőek; a projektekhez emberek rendelhetőek, csak ők látják a projekt naplóit. A napló elkészültéről email kerül kiküldésre.
- Hirdetési portál: hirdetők kampányokat indíthatnak (itt: reklám képek feltöltése), amelyet a hirdető megjelenít (itt: egy weboldalon megjelenített képek). A kampányokhoz feltételek köthetőek, pl. megjelenési szám, gyakoriság. A hirdetési kampányért fizetni kell (itt: aszinkron fizetési rendszer véletlen eredménnyel).
- Saját ötlet hasonló komplexitással.

Félév végére elérendő cél

Minimum követelmény (azaz a teljesítéshez feltétlenül szükséges)
- Legalább három mikroszolgáltatás tetszőleges technológiával megvalósítva
- A mikroszolgáltatások REST Api-val rendelkeznek, szolgáltatásaik publikusan így érhetőek el
- Api gateway használata a rendszerben
- Működést bemutató dokumentáció
- Szorgalmi időszak végéig személyesen bemutatott eredmény

Elvárt követelmény (ez szükséges a jó jegy eléréséhez)
- Működőképes felhasználói felület tetszőleges webes technológiával
- Tranziens hibák elleni védekezés: bármely szolgáltatás kiesése esetén a többi működőképes marad
- Üzenetsor alapú kommunikáció legalább egy esetben
- OAuth identitás kezelés
- A mikroszolgáltatások futtatása Docker vagy Kubernetes környezetben

A jeleshez szükséges
- Rendszeres konzultáció és folyamatos előrehaladás
- A rendszer publikusan elérhető telepítése
- Érvényes HTTPS tanúsítvány beszerzése Let's Entrypt használatával

Maximális létszám: 4 fő