# Rendszerterv
1. **A rendszer célja :**
A csapatunk egy letisztult könnyen kezelhető, több egyszerű és szórakoztató játékot tartalmazó oldalt szeretne létrehozni. Nem volt célunk bonyolult, időigényes játékokat hozzáadni csak egyszerű de nagyszerű alkalmi játékokat akartunk hozzáadni.
2. **Projekt terv :**
Projekten dolgozó fejlesztők:
* **Asztalos Attila** - fejlesztő
* **Nagy Sándor** - fejlesztő
* **Parókai Dominik** - fejlesztő
**Ütemterv**
A projekt véglegesítéséig rendelkezésre álló idő: 13 hét.
* **1.hét** : Projekt ötletének kitalálása.Egységes terv kialakítása, funkciók átbeszélése, feladatok felosztása
* **2.hét** : Fejlesztői környezet egyeztetése, véglegesíteni a projekt tervet.
* **3.hét** : Követelmény specifikáció és funkcionális specifikáció megírása.
* **4.hét** : Fejlesztés, tesztelés ...
* **5.hét** : Alap oldal elkészül ,egyszemélyes játékokkal (Mini-projekt bemutatása)
* **6-13.hét** : Oldal továbbfejlesztése, tesztelése és kétszemélyes játékmód kialakítása.
* **13.hét** : A projekt bemutatása.
**Kiosztott feladatok**
* *Asztalos Attila* - Kő-papír-olló (egy- és többjátékos mód)
* *Nagy Sándor* - Akasztófa (egy- és többjátékos mód)
* *Parókai Dominik* - Memória játék (egy- és többjátékos mód)
* Közös feladat: Dokumentáció készítése, projekt működőképessé tétele.
3. **Funkcionális terv :**
Rendszer szereplők:
- **Felhasználó**
- Funkcionális követelmények :
- Képes a játékot újraindítani
- Képes könnyen átváltani menüből játékra
- Képes váltani a játékok között
- Képes a játékon belül használni a játék elemeit
- Beállíthatja a nevét és elmentheti elért pontjait (Nagy projekt)
- Nem funkcionális követelmények :
- Igényes, letisztult UI
4. **Fizikai környezet :**
- Böngésző (webalkalmazás)
- Fejlesztői eszközök
- git
- Visual Studio Code
- Bitbucket repo
- Jira Software
- Node.js szerver
- HackMD.io
- MongoDB
5. **Architekturális terv:**
o Az alkalmazás rétegei, fő komponensei, ezek kapcsolatai:
* **Főmenü** : index.ejs az főoldal váza, index.css a kinézetért felel, itt érhetjük el a játékok oldalait.(akasztofa.ejs,memoria.ejs,kopapirollo.ejs)
* **Akasztófa játék**: akasztofa.ejs a játék váza, akasztofa.css a játék kinézetéért felel, akasztofa.js-en keresztül válik a játékmechanika működőképessé.
* **Memória játék**: memoria.ejs a játék váza, memoria.css a kinézetért felel, memoria.js-en keresztül válik a játékmechanika működőképessé.
* **Kő-papír-olló játék**: kopapirollo.ejs a játék váza,kopapirollo.css a kinézetért felel, kopapirollo.js-en keresztül válik a játékmechanika működőképessé.
o Változások kezelése: A bitbucket felületén keresztül, a git verziókezelő használatával.
o Rendszer bővíthetősége: Az oldal a jelenlegi 3 játékon kívül még több játék befogadására is képes lehet. A játékokat lehet bővíteni több személyes móddal, akár több gépen játszva.
6. **Implementációs terv**
Egyszerű játékok projekt HTML, CSS, és Javascript nyelven íródik. A felhasználói felület kinézetét a webböngésző segítségével valósítjuk meg a Node.js webalkalmazáson keresztül.
7. **Technology Stack**
- Frontend:
- HTML
- CSS
- JavaScript
- Backend:
- Node.js
- JSON
8. **Tesztterv:**
Tesztelés elvei:
- Játékok működésében és a szerveri oldalon található hibák megtalálása és javítása
- Szeretnénk, ha mindkét oldalán hibamentesen működne
Tesztelés folyamata:
- Manuális tesztelés