A SmartTable egy webes (asztali + mobilbarát) éttermi foglalási és menedzsment rendszer.
Célja, hogy a vendégek gyorsan tudjanak éttermet keresni, idősávot választani, asztalt foglalni, majd értékelést írni, míg az admin felületen az üzemeltető foglalásokat kezel, statisztikákat lát, és tartalmat menedzsel.
A projektet 3 fő készítette:
- Koncz Gábor Sándor –
KG,kgabor016,koncz - Boros Róbert –
BR,Carl0s69 - Kovács Kristóf –
Kristof0724,KK,kk
- Regisztráció / bejelentkezés
- Éttermek listázása, keresése, népszerű és top listák
- Étterem részletező oldal: nyitvatartás, étlap, hot deals, értékelések
- Asztalfoglalás idősáv és létszám alapján
- Saját foglalások megtekintése, módosítása és lemondása (ha a státusz engedi)
- Saját értékelés írása csillaggal és szöveggel
- Admin dashboard összesítő statisztikákkal
- Foglalások kezelése és státusz módosítása
- Értékelések áttekintése és válasz írása
- Étlap és hot deal tartalmak kezelése
- Vendéglista megtekintése
- Backend: Python + Flask
- Adatbázis: MySQL / MariaDB + PyMySQL
- Frontend: HTML + Bootstrap + JavaScript
- Hitelesítés: session / cookie alapú beléptetés
- Adatbázis indulás: automatikus létrehozás és SQL import az első futáskor
Smarttable/
backend_flask/
app.py
db.py
requirements.txt
.env.example
frontend_web/
index.html
restaurants.html
restaurant.html
reservations.html
my_reservations.html
login.html
register.html
admin.html
css/style.css
js/*.js
assets/*
database/
smarttable.sqlIndítsd el a MySQL/MariaDB szervert, például XAMPP alatt.
Fontos: a projekt nem igényel kézi adatbázis-létrehozást vagy kézi SQL importot.
Az első induláskor a backend automatikusan:
- létrehozza a
smarttableadatbázist, ha még nem létezik,- létrehozza a
user_smarttableadatbázis-felhasználót, ha szükséges,- importálja a
database/smarttable.sqlfájl tartalmát, ha a séma még hiányzik.
Nyisd meg a projektet a Smarttable/backend_flask mappában, majd futtasd:
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python app.pyA frontendet a Flask szolgálja ki, ezért a böngészőben ezt nyisd meg:
Az első automatikus import után a rendszerben elérhető mintafelhasználók:
- Admin:
admin@example.com/admin123 - User:
user@example.com/user123
Ha teljesen tiszta állapotból akarod újra feltölteni az adatbázist, akkor töröld a smarttable adatbázist MySQL-ben, majd indítsd újra a backendet.
A backend a következő induláskor ismét automatikusan létrehozza és feltölti az adatbázist.
A projekt oktatási célra készült vizsgaremek, ezért a fókusz a funkcionalitáson, az átlátható felépítésen és a bemutathatóságon volt.