BecskasszaSCH 2 | README
Írta: Maxi, Dátum: 2025.04.29.
BecskasszaSCH 2 az eredeti BecskasszaSCH továbbfejlesztett verziója. A baceknd Go helyett Python-ban íródott Flask-et használva.
-
Volt funkciók:
- Vásárlás (Bekattintás)
- Költési előzmények megtekintése
- Pult
- Feltöltés
-
Főbb újdonságok:
- Tételek kezelése:
- Új hozzáadása
- Módosítás
- Inaktiválás
- Készlet követése
- Felhasználókezelés:
- Egyenleg lekérdezés
- Költések nyomon követése
- Jogok kezelése
- Ikonok kezelése:
- Feltöltés
- Módosítás
- Törlés
- Minden tranzakció megjelenítése
- Pult újragondolása és egyszerű felírás
- Mobilon és gépen is jól hasnzálható reszponzív dizájn
- Keresés és szűrés funkciók
- Dokumentáció
- Tételek kezelése:
Tartalom
Setup - OLVASD EL!!!!
- Környezeti változókat tartalmazó fájl létrehozása
- Környezet konfiguráláshoz két opció van:
Környezeti változókat tartalmazó fájl létrehozása
Futtasd a create_env.py
fájlt az alábbi paranccsal a környezeti változókat tartalmazó .env
fájl létrehozásához:
python create_env.py
VAGY
Hozz létre kézzel a projekt mappájában egy .env
fájlt, és az alábbi dolgokat másold bele, majd:
# Flask app futtatásához szükséges környezeti változók
HOST=localhost
PORT=5000
FLASK_SECRET_KEY=valami_titkos_kulcs # Ide valamit ídj meg, bármi lehet
DEBUG_MODE=False # (True / False) Ha igaz, akkor minden oldal elérhető admin jogosultság nélkül is, különben bejelentkezés szükséges admin felhasználóval
BYPASS_AUTH_SCH=False # (True / False) Ha igat, akkor nem használ AuthSCH-t a bejelentkezéshez, hanem rögtön bejelentkezik a 'Teszt Elek' felhasználóval
# Postgress adatbázishoz szükséges környezeti változók
POSTGRES_DRIVER=postgres
POSTGRES_HOST=localhost # docker futtatása esetén ezt írd át 'db'- re aposztrófok nélkül
POSTGRES_PORT=5432
POSTGRES_NAME=becskassza
POSTGRES_USER=postgres
POSTGRES_PASSWORD=password
POSTGRES_DB=becskassza
# AuthSCH bejelentkeztetés, AuthSCH-n a fejleszőti konzolban tudod elkészíteni
AUTH_SCH_CLIENT_ID=auth_sch_kliens_azonosító
AUTH_SCH_CLIENT_SECRET=auth_sch_kliens_kulcs
AUTH_SCH_REDIRECT_URI=http://localhost:5000/callback # A fent megadott HOST és PORT-ot helyettesítsd be ide, ilyen formában: 'http://HOST:PORT/callback', különben nem tud redirectelni
Ne felejtsd el az AuthSCH-s környezeti változókat kitölteni AuthSCH-n kapott értékek alapján!
Megjegyzés: Ha a koliban vagy, akkor
localhost
helyett lehet a géped publikus ip-je is, de akkor AuthSCH-n és a.env
fájlban is azt kell megadnod ip-nek. Ezesetben bárhonnan elérhető lesz a gépedről hostolt webserver.
Lokálisan Postgresql-el (Docker nélkül)
PostgreSQL setuppolás
-
Ha nincs telepítve a PostgreSQL, akkor töltsd le innen, majd telepítsd fel és indítsd el.
- Telepítés során meg kell adni az alap
postgres
felhasználó jelszavát, ezt mostpassword
lesz. Nálad lehet más.
- Telepítés során meg kell adni az alap
-
Telepítés után add hozzá a Környezeti változóknál a PATH-hoz a PostgreSQL
/bin
mappáját, ami valszeg ez lesz:C:\Program Files\PostgreSQL\17\bin
-
Ellenőrzés képpen futtasd egy terminálban az alábbi parancsot:
psql --version
Ha kiírja a verziót, akkor sikeres a telepítés.
-
Lépj be a postgres felhasználóval:
psql -U postgres
-
Hozz létre egy új adatbázist
becskassza
néven (ugyanaz kell legyen, mint ami a.env
fájlban aPOSTGRES_DB
értéke):CREATE DATABASE becskassza OWNER postgres;
-
Adj a felhasználódnak minden jogot az adatbázishoz:
GRANT ALL PRIVILEGES ON DATABASE becskassza TO postgres;
-
Kapcsolódj az adatbázishoz:
\c becskassza
-
Majd képj ki a
\q
paranccsl.
Python setuppolás
- Ha ezzel megvagy, nézd meg, hogy telepítve van-e a python:
python --version
- Ha kiírja a verziót, akkor a python telepítve van, ha nincs, akkor:
- Lehet nincs még telepítve a python, vagy nincs hozzáadva a könyvtár a környezeti változókhoz.
- Ha előbbi Ezt töltsd le innen, majd telepítsd.
- Ezután add hozzá a környezeti változókhoz a python mappájának elérési útvonalát, ami valahogy így néz majd ki:
C:\Users\felhasználónév\AppData\Local\Programs\Python\Python3x
- Ezután már működni fog a fenti parancs.
- Ha kiírja a verziót, akkor a python telepítve van, ha nincs, akkor:
Könvytárak telepítése
- Ha a python működik, akkor telepítsük a szükséges könyvtárakat:
Szükséges könyvtárak a requirements.txt-ben találhatóak.
python -m venv venv
venv\Scripts\activate # Windowson
source venv/bin/activate # Linuxon
pip install -r requirements.txt
Futtatás
Ha készen vagy a könyvtárak telepítésével, akkor el is indíthatod a Flask webszervert:
- Lépj be a virtuális környezetbe (Ez ha kilépsz a terminálból, mindig kell, kivéve, ha globálisan telepíted a könyvtárakat.)
venv\Scripts\activate
- Majd futtasd a
main.py
fájlt a Flask webszerver elindításához:
python main.py
Ha mindent jól csináltál, akkor sikeresen fut a szerver, és a http://127.0.0.1:5000
címen el is éred a futó BecskasszáSCH-t.
Hibakeresés
- Ha hibába ütköztél, nézd meg elölről a fenti lépéseket, lehet valamit kihagytál.
- Nézd meg a
.env
fájlt, lehet elírtál valamit benne. (pl: postgres felhasználó adatai, adatbázis neve) - Ha sikeresen fut, de AuthSCH-n bejelentkezés után ilyen hibaüzenetet kapsz:
redirect_uri_mismatch
, akkor valószínűleg az AuthSCH-n megadott adatok (redirect uri) a fejlesztői konzolban, és a.env
fájlban nem egyeznek. - Lehet, hogy a VS Code-os terminálban elindítva hiábt fog dobni a környezeti változók beolvasásánál. Erre a legegyszerűbb, ha egy külső terminálból futtatod.
Dockerrel
- Telepítsd a Dokker-t.
- A
.env
fájlban írd át aPOSTGRES_HOST
környezeti változótdb
-re, különben nem látja majd az adatbázist a program. - Futtasd az alábbi parancsot a projekt mappában:
docker compose up