Ugrás a fő tartalomra

Széktorna napló WEB alkalmazás készítése

 Széktorna napló WEB alkalmazás készítése




Kiindulási elvek:



Egy kifejezetten idősebb korosztálynak szánt, széken végezhető tornára (széktorna) fókuszáló webalkalmazásnak óriási haszna van az egészségmegőrzésben és az életminőség javításában.

A legfontosabb tervezési szempont ennél a célcsoportnál a végletes egyszerűség, a nagyfokú átláthatóság (nagy betűk, kontrasztos színek) és a pozitív megerősítés. Kerülni kell a bonyolult menüket és a túlzottan technikai kifejezéseket.

Íme egy részletes terv a "SzékTorna Napló" (munkacím) webalkalmazás felépítésére és funkcióira.


1. Az Alkalmazás Filozófiája és Célközönsége

  • Célcsoport: 65+ éves korosztály, esetleg mozgásukban korlátozott fiatalabbak, akiknek a hagyományos torna megerőltető.
  • Fő cél: Rendszeres, biztonságos testmozgás ösztönzése otthoni környezetben, és a sikerélmény biztosítása a fejlődés nyomon követésével.
  • Design alapelvek (UI/UX):
    • Akadálymentesség: Nagy gombok, jól olvasható betűtípusok (minimum 18px), magas kontraszt.
    • Egyértelműség: Minden gomb felirata legyen magyar és pontosan írja le, mit csinál (pl. "Tovább" helyett "Következő gyakorlat").
    • Motiváció: Barátságos hangnem, dicséretek a teljesítményért ("Szép munka!", "Ma is tett az egészségéért!").

2. Fő Funkciók Részletezése

A. Gyakorlatok és Gyakorlatsorok (A Tartalom)

Ez az alkalmazás szíve. A tartalomnak szakmailag hitelesnek és biztonságosnak kell lennie.

  • Gyakorlat Adatbázis:
    • Minden gyakorlathoz tartozzon:
      • Világos név (pl. "Karkörzés előre").
      • Nagyméretű videó vagy animált GIF a helyes kivitelezésről (ez kritikus a biztonság miatt).
      • Rövid, egyszerű szöveges instrukció és a hatás leírása (pl. "Javítja a váll mozgathatóságát").
      • Szint (pl. Kezdő, Közepes).
  • Előre összeállított gyakorlatsorok (Routines):
    • Az idősek többsége nem akar magának összeállítani sort. Kész "csomagokat" kell kínálni.
    • Példák:
      • "Reggeli ébresztő (10 perc)" - Könnyű átmozgatás.
      • "Váll és nyak lazítása (15 perc)" - Fókuszált terület.
      • "Erősödjünk a székben! (20 perc)" - Kicsit intenzívebb, esetleg kis súlyzóval/vizespalackkal.

B. Végrehajtás Naplója (A "Lejátszó")

Amikor a felhasználó elindít egy tornát, egy speciális felületre kerül.

  • A "Torna Lejátszó" felület:
    • A képernyő 70%-át a videó/animáció foglalja el.
    • Hatalmas időzítő (visszaszámláló) és ismétlésszám kijelző.
    • Jól látható "Szünet" és "Következő gyakorlat" gombok.
    • Opció: Hangeffektek vagy narráció (pl. sípszó a gyakorlat végén, vagy "Most pedig emeljük a jobb lábat").
  • Visszajelzés a végén:
    • A torna befejezésekor egy gratuláló képernyő jelenik meg.
    • Fontos: Egy nagyon egyszerű kérdőív a naplózáshoz: "Hogy érezte magát torna közben?" (Választható: Könnyű volt / Pont jó volt / Nehéz volt / Fájt valamim). Ez segít a fejlődés követésében.

C. Ütemezés (A Naptár)

Nem kell bonyolult Google Calendar integráció. Egy egyszerű, átlátható heti nézet a cél.

  • Heti tervező: A felhasználó bejelölheti, mely napokon szeretne tornázni és melyik programot. (Pl. Hétfő, Szerda, Péntek: "Reggeli ébresztő").
  • Emlékeztetők (Opcionális): Ha megadja az email címét, az alkalmazás reggel küldhet egy kedves emlékeztetőt: "Ma van a torna napja! Készítse a székét."

D. Fejlődés Diagramok (A Motiváció)

A fejlődés itt nem az izomtömeg növekedését jelenti, hanem a rendszerességet és a közérzet javulását. A diagramok legyenek nagyon egyszerűek, könnyen értelmezhetőek.

  • "A hónapom" naptár nézet: Egy egyszerű naptár, ahol zöld pipával vagy csillaggal vannak jelölve azok a napok, amikor tornázott. A cél minél több zöldet látni.
  • Rendszerességi diagram (Oszlopdiagram): Hány percet tornázott az elmúlt hetekben.
  • Közérzet trend (Vonaldiagram): A torna utáni visszajelzések alapján (Amit a B. pontban említettünk). Láthatóvá válik, ha idővel egyre könnyebbnek érzi ugyanazt a gyakorlatsort.

3. Alkalmazás Struktúra (Oldaltérkép)

  1. Kezdőlap (Dashboard):
    • Üdvözlés (Névvel).
    • "A mai teendő": Ha van ütemezett torna, egy nagy gomb az indításhoz.
    • Gyors indítás: A legutóbb végzett gyakorlatsor gombja.
    • Heti összefoglaló: "Ezen a héten már 2 alkalommal tornázott! Csak így tovább!"
  2. Tornák (Gyakorlatsorok listája):
    • Kártyás elrendezésben a választható programok (kép, cím, időtartam).
  3. Naptáram (Ütemezés):
    • Egyszerű naptár nézet a tervezéshez és a múltbeli teljesítések megtekintéséhez.
  4. Eredményeim (Fejlődés):
    • A diagramok és statisztikák helye.
  5. Profil/Beállítások:
    • Nagyon egyszerű beállítások: Név módosítása, betűméret növelése, kijelentkezés.

4. Technológiai Megvalósítás (Javaslat fejlesztőknek)

  • Frontend (Amit a felhasználó lát): React.js vagy Vue.js. Ezekkel könnyű interaktív "lejátszót" és dinamikus diagramokat készíteni. A stílusozáshoz Tailwind CSS ajánlott az egyszerű reszponzivitás és akadálymentes design miatt.
  • Backend (A motor): Node.js (Express) vagy Python (Django/Flask).
  • Adatbázis: PostgreSQL (felhasználói adatok, naplók tárolására).
  • Diagramok: Chart.js vagy Recharts (egyszerűen implementálható, szép diagramok).
  • Hitelezés (Auth): Firebase Auth vagy Auth0 (egyszerűsített bejelentkezés érdekében, pl. Google fiókkal vagy "varázslattal" emailben, hogy ne kelljen jelszavakkal bajlódniuk).

5. Egy felhasználói példa (Marika néni útja)

  1. Marika néni (72) megnyitja az oldalt tableten. A felület nagy betűkkel üdvözli.
  2. A főoldalon látja: "Jó reggelt, Marika! Ma szerda van. Tervezett torna: Váll és nyak lazítása".
  3. Rákattint a hatalmas zöld "Torna Indítása" gombra.
  4. Elindul a videó. Egy szimpatikus gyógytornász mutatja a fejkörzést. Marika néni utánozza a székében ülve.
  5. A 15 perces torna végén az alkalmazás megkérdezi: "Hogy esett a mai mozgás?". Marika néni a mosolygós arcra kattint ("Jól esett, pont jó volt").
  6. Az alkalmazás kiírja: "Gratulálunk! Ma is sokat tett az egészségéért. Találkozunk pénteken!".
  7. Marika néni ránéz az "Eredményeim" fülre, és örömmel látja, hogy ebben a hónapban már 8 zöld pipája van a naptárban.


Módosítás


PHP és az SQLite kombinációja tökéletes ehhez a projekthez.

Miért jó ez a választás?

  1. Egyszerűség: Az SQLite nem igényel külön adatbázis-szervert (mint a MySQL vagy PostgreSQL), az egész adatbázis egyetlen fájlban van. Könnyű mozgatni, menteni.
  2. Költséghatékony: Szinte bármilyen olcsó tárhelyen elfut.
  3. Jövőbiztos (Apache Cordova): Ez a legfontosabb. Ahhoz, hogy később ebből könnyen mobilapplikáció (Cordova) legyen, nem szabad hagyományos PHP weboldalt építenünk, ahol minden kattintás újratölti az oldalt.

A Stratégia: API-alapú megközelítés

Hogy a későbbi mobilapp simán fusson, ketté kell választanunk az alkalmazást:

  1. Backend (PHP + SQLite): Ez lesz az "agy". Nem gyárt HTML-t, csak adatokat szolgál ki (JSON formátumban). Például: "Add ide a mai tornát!", és a PHP visszaadja az adatokat.
  2. Frontend (HTML + CSS + JavaScript): Ez lesz az "arc". Ez fut majd a böngészőben (és később a mobilon). JavaScripttel kéri el az adatokat a PHP-től, és jeleníti meg a felületen anélkül, hogy az oldal újratöltődne.

KEZDJÜNK BELE: 1. FÁZIS - Alapok és Adatbázis

Először hozzuk létre a könyvtárszerkezetet és az adatbázist.

1. Könyvtárszerkezet

Hozz létre egy mappát a számítógépeden (pl. szektorna_app), és benne a következő almappákat és fájlokat. Ha használsz helyi webszervert (pl. XAMPP, WAMP, MAMP), akkor annak a htdocs vagy www mappájában dolgozz.

/szektorna_app

── /api           <-- Ide kerülnek a PHP szkriptek (a backend)

│   └── db.php     <-- Az adatbázis kapcsolatért felelős fájl

── /assets        <-- Képek, videók, stílusok

│   ── /css

│   │   └── style.css

│   ── /js

│   │   └── app.js

│   └── /videos    <-- Ide tedd majd a gyakorlatok videóit/gif-jeit

── /db            <-- Itt lakik majd az SQLite adatbázis fájl

└── index.html     <-- A főoldal (a frontend belépési pontja)

2. Az Adatbázis Tervezése (Séma)

Az SQLite-ban létre kell hoznunk a táblákat. Íme a javasolt szerkezet a céljainkhoz:

  • exercises: A gyakorlatok listája.
  • routines: A gyakorlatsorok (pl. "Reggeli torna").
  • routine_items: Kapcsolótábla, ami megmondja, melyik sorban milyen gyakorlatok vannak és milyen sorrendben.
  • workout_logs: A napló. Ki, mikor, mit tornázott, és hogy érezte magát.


3. Az Adatbázis Létrehozása (PHP segítségével)

Most írjunk egy egyszeri PHP szkriptet, ami létrehozza nekünk az adatbázist és a táblákat.




Lépés 2.1: A Backend API - Tornák listázása

Hozz létre egy új fájlt: api/get_routines.php.

Ez a fájl lesz a "pincérünk". Amikor a frontend kéri, ez a fájl megy oda az adatbázishoz, kiszedi a menüt (a gyakorlatsorokat), és tálalja JSON formátumban.

Lépés 2.3: Stílusozás (CSS) - Fókuszban az idősek

Hozz létre egy fájlt: assets/css/style.css.

Itt alapozzuk meg a designt. A legfontosabb szabályok a célcsoportnak:

  1. Nagy alap betűméret.
  2. Magas kontraszt (sötét szürke szöveg fehér alapon).
  3. Nagy gombok és érintési felületek.



Lépés 2.4: Az "agy" (JavaScript)

Végül hozzuk létre az assets/js/app.js fájlt.

Ennek a feladata most:

  1. Amikor az oldal betöltődik, elindítani a folyamatot.
  2. Lekérni az adatokat az api/get_routines.php-től.
  3. Végigmenni az adatokon, és minden tornához gyártani egy szép HTML kártyát, amit beszúr a főoldalra.



Akkor vágjunk bele a projekt legizgalmasabb részébe: a Torna Lejátszóba.

Ez a funkció fogja vezarolnia a felhasználót a gyakorlatokon: mutatja a videót, számolja vissza az időt, és léptet a következő feladatra.

Mivel egy "egyoldalas alkalmazást" (Single Page Application) építünk a későbbi mobilapp miatt, nem fogunk új HTML fájlt létrehozni. Ehelyett a JavaScript fogja lecserélni a főoldal tartalmát a lejátszó felületére, amikor a felhasználó rákattint egy tornára.

A lépések ugyanazok: Backend API -> Stílusok -> JavaScript logika.


Lépés 3.1: Backend API - Egy konkrét torna adatainak lekérése

Szükségünk van egy új "pincérre", aki nem az étlapot hozza (mint az előző), hanem egy konkrét menüsor részleteit.


 

Lépés 3.2: Stílusok a Lejátszóhoz (CSS)

Nyisd meg az assets/css/style.css fájlt, és add a végéhez a következőket. A cél: hatalmas időzítő, jól látható videó terület és óriási vezérlőgombok.






Link a kiprobáláshoz:  https://mierdekel.frw.hu/szektorna/

Megjegyzések