---
# System prepended metadata

title: Rendszerterv

---

# 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


