Foglaló- és stúdiókezelő rendszer
Foglalás, bérlet, edzésterv – egy telefonos alkalmazásban
A pécsi MIÉRT Mozgásműhely saját rendszere. A vendég telefonról vesz bérletet, foglal és mond le, látja az edzéstervét; a stúdió ugyanitt vezeti a naptárat, az ügyfeleket, a befizetéseket és az ajtó okoszárát. Egy WordPress-alapú foglalót váltott ki, amelyben az alkalmak egyenlege több helyen élt, és a számok elcsúsztak egymástól.
- Szerepem
- tervezés, fejlesztés, adatátvétel, üzemeltetés
- Élesben
- 2026 nyara óta
- Terjedelem
- 40 képernyő · négy szerepkör
- Alapok
- React · PostgreSQL · PWA

Egy stúdió működése, hibátlan egyenlegekkel
A számok a rendszer saját ellenőrzéseiből és tesztfutásaiból származnak. A képeken és a felvételen kitalált mintaadat látszik.
0eltérés
a régi rendszerből átvett egyenlegekben
Az adatátvételkor minden ügyfél alkalom-egyenlegét egyenként egyeztettem a régi rendszerrel.
13062
automata ellenőrzés minden élesítés előtt
6262 ellenőrzés az adatbázis szabályait, 6800 teszt a felületet vizsgálja.
96,5%
tesztlefedettség a felületi kódon
Az első hetekben 38% volt; az adatbázisban élő üzleti szabályokat külön tesztkészlet fedi.
3óránként
titkosított mentés, minden alkalommal próba-visszaállítással
A mentés csak akkor számít sikeresnek, ha egy próba-adatbázisba visszatöltve is ép. A havi mentés 8 évig megmarad.
10ponton
napi gépi egyenleg-ellenőrzés, riasztással
Az egyenlegnek egyetlen forrása van, és a rendszer nem enged negatív egyenleget.
44lépés
az ellenőrző kapu, amelyen minden változtatás átmegy
Élesítés után visszamérem az éles rendszert: ugyanaz fut-e, amit teszteltem.
Ahol az egyenleg nem tévedhet
Egy bérletes stúdióban az alkalmak egyenlege pénz. A korábbi foglalóban ez az egyenleg több helyről íródott, és a számok idővel elváltak egymástól; nem volt telefonra telepíthető felület, értesítés, edzésterv és méréskövetés sem.
Olyan rendszer kellett, amelyben a vendég néhány koppintással foglal, a stúdió egy helyen lát mindent, és az egyenleg bizonyíthatóan stimmel.
Egy főkönyv, egy alkalmazás
Az egyenlegnek egyetlen forrása van: egy főkönyv, amelyből az egyenleg összeadással számolódik. Egy foglalás, a hozzá tartozó alkalom-levonás és a férőhely ellenőrzése egyetlen lépésben történik, így két vendég nem kaphatja meg ugyanazt a helyet.
A vendég és a stúdió ugyanazt a telepíthető alkalmazást használja, más-más szerepkörrel. A régi rendszer adatait egyeztetve vettem át, a napi ellenőrzés pedig azóta is méri, hogy a számok rendben vannak.
A vendég telefonjától a stúdió naptáráig
Foglalás néhány koppintással
A vendég előbb az óratípust, aztán a szabad időpontot választja heti nézetben, és közben látja, mennyi alkalma marad.
- Egyszerre több időpont is kijelölhető
- Lemondás határidőn belül egy gombbal, az alkalom visszakerül
- Visszaigazolás és emlékeztető értesítésben és e-mailben
- A foglalás a saját naptárba menthető
Bérletek és befizetések
A vendég az alkalmazásban veszi meg a bérletét; a stúdió egy jelöléssel könyveli a beérkezett pénzt.
- A bérlettípusok ára és alkalomszáma a felületről szerkeszthető
- Készpénzes fizetésnél az alkalmak azonnal jóváíródnak
- A stúdió látja a kintlévőséget, és sztornózhat
A stúdió naptára
A hét rejtve készül elő, és egy gombbal vagy időzítve nyílik meg a vendégeknek, akik erről értesítést is kaphatnak.
- Új óra egy üres sávra koppintva
- A jól beállított hét sablonként elmenthető
- Foglalás az ügyfél nevében, áthelyezés, jelenlét jelölése
- Több naptár: mozgásterápia, terembérlés, konzultáció
Edzésterv és visszajelzés
Az edző a gyakorlattárból állít össze tervet, és kiadja a vendégnek, aki gyakorlatonként kipipálja, és pár szóban megírja, hogy ment.
- Gyakorlatkönyvtár kategóriákkal és újrahasználható tervekkel
- A nap órái egy munkalapon: kinek van terve, kinek nincs
- Mérések és a változásuk a vendég telefonján
Okoszár az ajtón
A termet bérlő vendég időablakra szóló kódot kap a zárhoz. A lejárt kódokat a rendszer magától leveszi; a stúdió látja a zár állapotát és naplóját.
Értesítések három csatornán
Telefonos értesítés, e-mail és értesítési központ az alkalmazásban. A vendég típusonként kikapcsolhatja, amit nem kér.
Statisztika a döntésekhez
Havi bevétel, az órák kihasználtsága és a kintlévőség egy helyen – eladás, befolyt pénz és teljesítés szerint külön.
Adatvédelem
A vendég adatexportot és törlést kérhet. A dokumentumok elfogadása verzióhoz kötött, az egészségügyi adathoz külön hozzájárulás kell.
Visszanézhető napló
Érzékeny adatnál látszik, ki mit csinált és mikor. Minden levél, értesítés és zárkód feladatsoron megy át, újrapróbálással és hibajelzéssel.
Telepíthető, világos és sötét témával
A böngészőből a telefon kezdőképernyőjére tehető; külön áruházi alkalmazás nem kell hozzá.
A régi foglalótól a mai rendszerig
| Terület | Előtte | Utána |
|---|---|---|
| Alkalom-egyenleg | több helyen tárolva, a számok elcsúsztak | egyetlen főkönyv, napi gépi ellenőrzéssel |
| Telefonos használat | nem volt telepíthető felület és értesítés | telepíthető alkalmazás értesítésekkel |
| Edzésterv, mérések | nem volt | terv pipálással és visszajelzéssel, méréskövetés |
| Felületi tesztek | 263 az első hetekben | 6800 |
| Tesztlefedettség a felületi kódon | 38% | 96,5% |
| Mentés | naponta egyszer | 3 óránként, próba-visszaállítással |
| A teljes ellenőrző kapu futásideje | 667 másodperc | 186 másodperc |
A pénzt kezelő rendszer fegyelme
Szabályok az adatbázisban
A pénzt, a foglalást és az egészségügyi adatot a felület közvetlenül nem írhatja, csak ellenőrzött adatbázis-műveleten keresztül.
Tesztek, amelyek el tudnak bukni
A teszteket szándékosan elrontott kóddal is kipróbálom. Példa: zárolás nélkül 8 egyidejű foglalásból 7 átmenne egy 2 férőhelyes órára – a teszt ezt megfogja.
Kapuzott élesítés
Adatbázis-változtatás csak friss mentéssel megy élesre; utána visszamérem, hogy az éles rendszer egyezik-e a tesztelttel.
Naplózott döntések
Minden döntést indoklással és az árával együtt leírok, így később is tudni lehet, mi miért lett úgy.
- 6262
- adatbázis-ellenőrzés
- 6800
- felületi teszt
- 628
- adatbázis-változtatás, verziókövetve
- 494
- naplózott döntés
- 22
- kiszolgálóoldali függvény
Amire építettem
- React 19
- TypeScript
- Vite
- Tailwind CSS
- PostgreSQL 17 (Supabase)
- Sorszintű jogosultság
- PWA · telefonos értesítés
- Brevo levélküldés
- Nuki okoszár
- Vercel
- Sentry
- Playwright
- Vitest
- GitHub Actions
Hasonló feladat előtt áll?
Írja meg, mire van szüksége, és megmutatom, mit jelentene ez az Ön vállalkozásánál – mérhető célokkal, kipróbálható bemutatóval.