Skip to content

Latest commit

 

History

History
50 lines (41 loc) · 3.55 KB

second_round_descripton.md

File metadata and controls

50 lines (41 loc) · 3.55 KB

Accenture Java Competition / REBOARDING 2.0

2. FELADAT

A létszám alapú foglalási rend nem felel meg a globális, távolság alapú elkülönítési szabályoknak, ezért a meglévő alkalmazást módosítani szükséges:

A mellékelt iroda alaprajzon halványzöld háttérszínnel jelöltük azon munkahelyeket, melyek foglalhatóak a rendszerben. 1 képpontot 10x10 cm-es területnek számolva, ez az alaprajz alkalmas az egyes munkahelyek közötti távolság megállapítására.
A rendszernek a módosítás után a konfigurációban megadott minimális távolság figyelembe vételével kell kiosztania a munkahelyeket. Az induló érték 5 méter (50 képpont), melyet az újranépesítés egyes lépcsőiben 4, 3, 2 majd 1 méterre kíván a HR csökkenteni.
Ennek megfelelően most nem elegendő a bent tartózkodók létszámával számolni, hanem konkrét munkahelyet kell (a foglaláskor vagy legkésőbb a belépéskor) kiosztani, melynek a helyét egy erre a célra kialakítandó HTTP GET végponton vizuálisan is meg kell tudni jeleníteni. A foglaláskor a rendszer adja meg azt az URL-t, amin elérhető a kép, melyen a kiosztott munkahely egyértelműen látható. Ezt a képet az applikáció fogja letölteni és a felhasználó részére megjeleníteni.

A megoldás részeként javasoljuk a megadott iroda alaprajz direktben történő felhasználását, esetleg egyszerű transzformáció alkalmazásával módosítva (pl.: székek egyértelműen eltérő színnel történő jelzése), hiszen az is elképzelhető, hogy a HR az iroda egyes részeit lezárja, vagy megnyitja a még lezárt (jelenleg még más háttérszínnel jelölt) részeket, és ezt a rendszer konfiguráció módosításával kell tudni támogatni.

A HR szeretné, ha folyamatosan követhető lenne vizuális formában is az iroda foglalása, ezért egy további endpoint megvalósítása is szükséges, melyen HTTP GET kérés formájában a /layout URL-en képi formában letölthető az aktuális alaprajz, rajta eltérő színnel jelölve azon munkahelyek, amelyek foglaltak (piros színnel), azok, amelyekre van foglalás, de a munkatárs még nem érkezett be (sárga színnel), valamint a szabad munkahelyek, amelyek még kioszthatóak az aktuális védőtávolság betartása mellett (zöld színnel).

A rendszernek ezen felül támogatni kell a VIP vendégek és munkatársak kezelését, akik számára nem szükséges helyet foglalni, és ők minden más korlátozás ellenére is beléphetnek, ezzel akár a létszám, akár a távolság alapú szabályokat is felülbírálva. A VIP személyek listáját a konfiguráció kell tartalmazza.

A felhasználók kényelmét szolgálva a rendszernek nemcsak a várólista pozíció megadásával kell támogatni az irodába történő indulási időpont meghatározását, hanem egy Kafka topicba történő esemény küldéssel is értesíteni kell az applikációt (ami a foglaláskor történő várólistára kerülés esetén automatikusan feliratkozik erre a csatornára), amikor a felhasználó a várólistában eléri a 3. (preferáltan konfigurálható) pozíciót.

A vezető architektúra szakértő kifogásolta a korábbi megvalósítást, hogy nem elegendően felel meg a funkció orientált architektúrának. Ezen igény figyelembe vételével a fenti módosításokkal együtt az architektúra átszervezése is végrehajtható.

Feladat leadás:
A megoldások beadása GitHub/GitLab repository megosztásával a JunctionApp felületén történik.
Leadási határidő: 06.29 23.59

BACK TO README