Dokumentáció 2. beadandó - abnagy/alkfejl GitHub Wiki
Alkalmazások fejlesztése 2. beadandó
0. Leírás
Az alkalmazás egy család pénzügyeit tudja kezelni. A bevételek és kiadások összességét lehet kezelni az alkalmazásban kategóriák szerint minden családtag számára.
1. Követelményanalízis
1.1 Követelmények
- funkcionális:
- lehet regisztrálni és bejelentkezni, különböző szerepkörönként
- lehet tagokat hozzáadni/törölni/szerkeszteni a családhoz
- lehet termékenként/családtagonként listázni
- lehet a kiadásokat/keresetet hozzáadni/törölni/szerkeszteni
- bevételeket es kiadásokat lehet kategorizalni pl. Bevétel: fizetés, zsebpénz. Kiadás: rezsi, élelmiszer
- nem funkcionális:
- legyen felhasználóbarát, egyszerűen kezelhető
- jelszóval védett felhasználói felület
1.2 Szerepkörök
- családfő/admin:
- látja az összes felhasználó bevételeit és kiadásait
- tudja módosítani az összes felhasználó bevételeit és kiadásait
- adhat hozzá új tpusokat, üzeneteket
- családtag/felhasználó:
- látja a saját bevételeit és kiadásait
- módosíthatja a saját bevételeit és kiadásait
- a többi felhasználó bevételeit és kiadásait nem láthatja és nem módosíthatja
- adhat hozzá új típusokat, üzeneteket
1.3 Szakfogalmak
- fizetés: rendszeres munkahelyen megkeresett pénzösszeg
- zsebpénz: rendszeres családon belül cserélt pénzösszeg
- ajándék: családon belülről vagy családon kívülről származó nem rendszeres bevétel vagy kiadás
- kiadás/kereset: negatív vagy pozitív pénzmozgás egy adott felhasználónál
- családfő: a család azon tagja, aki a pénzügyeket kezeli és hozzáférése van minden felhasználó tanzakcióihoz
- családtagok: a család azon tagjai, akik nem családfő szerepkörben vannak, tehát nem férnek hozzá más felhasználók tanzakcióihoz
2. Fejlesztői környezet és használt technológiák
- NetBeans használata
- h2 adat-báziskezelő rendszer
- Java Spring Boot technológia használata
- MVC modell
- REST API
- authorizált végpontokkal
3. Adatbázis-terv
3.1 Adatbázis-táblák
- Transaction
- User
- Type
- Message
3.2 UML-diagram
4. Tervezés
4.1 Oldaltérkép
- Bejelentkezés
- Bejelentkezett adminisztrátor funkciói
- Összes tranzakció megtekintése
- Tranzakciók módosítása
- Tranzakciók törlése
- Tranzakció felvétele
- Bejelentkezett felhasználó funkciói
- Saját tranzakciók megtekintése
- Saját tranzakciók módosítása
- Saját tranzakciók törlése
- Saját tranzakciók felvétele (Minden felhasználó és adminisztrátor az új tranzakciók felvételekor fel tud venni új típusokat, üzeneteket.)
4.2 Végpontok
- GET/ Főoldal
- POST/register Regisztráció
- POST/login Bejelentkezés
- TRANZAKCIÓK
- GET/transactions Tranzakciók listája
- GET/transactions/id Tranzakciók ID alapján történő listázása
- POST/transactions Új tranzakció felvétele
- PUT/transactions/id Meglévő tranzakció ID alapján történő szerkesztése
- Megkeresi az adott ID-t a tranzakciók listájában és ha megtalálta akkor elmenti a rá vonatkozó változtatásokat, ha pedig nem talál olyan ID-t, akkor visszatér NotFound-dal.
- DELETE/transactions/id Meglévő tranzakció ID alapján történő törlése
- GET/transactions/id/messages Tranzakciókhoz tartozó üzenetek listája ID alapján
- POST/transactions/id/messages Tranzakciókhoz tartozó üzenet hozzáadása ID alapján
- GET/transactions/id/types Tranzakciókhoz tartozó típusok listája ID alapján
- POST/transactions/id/types Tranzakciókhoz tartozó típus hozzáadása ID alapján
- PUT/transactions/id/types Tranzakciókhoz tartozó típusszerkesztése ID alapján
- TÍPUSOK
- GET/types Típusok listája
- GET/types/id Típusok listája ID alapján
- POST/types Típusok hozzáadása
- PUT/types/id Típusok szerkesztése ID alapján
- DELETE/types/id Típusok törlése ID alapján
- ÜZENETEK
- GET/messages Üzenetek listája
- GET/messages/id Üzenetek listája ID alapján
- POST/messages Üzenetek hozzáadása
- PUT/messages/id Üzenetek szerkesztése ID alapján
- DELETE/messages/id Üzenetek törlése ID alapján
4.3 Felhasználói modell
- Adminisztrátor
- Felhasználó