Skip to content
Snippets Groups Projects
Select Git revision
  • master default
  • msauth
  • set-sast-config-1
  • email-template
  • 1.4.20 protected
  • 1.4.19 protected
  • 1.4.18 protected
  • 1.4.17 protected
  • 1.4.16 protected
  • 1.4.15 protected
  • 1.4.14 protected
  • 1.4.13 protected
  • 1.4.12 protected
  • 1.4.11-3 protected
  • 1.4.11-2 protected
  • 1.4.11 protected
  • 1.4.10 protected
  • 1.4.9 protected
  • 1.4.8 protected
  • 1.4.7 protected
  • 1.4.6 protected
  • 1.4.5 protected
  • 1.4.4 protected
  • 1.4.3 protected
24 results

kszkepzes-backend

  • Clone with SSH
  • Clone with HTTPS
  • 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ó

    Tartalom

    Fejlesztés

    Ez a rész leírja, hogy hogyan kell a változtatásaid feltölteni úgy, hogy az productionbe menjen ki.

    Semantic release

    A becskasszaschv2 semantic-releaset használ, aminek lényege a verziózás automatizálása.
    Ez a folyamat az alkalmazás deployolásának a fontos része, ugyanis tagelés hatására fog megépülni az új docker image.
    Ahhoz, hogy ezt használjuk, a commit messagebe kell szöveget írni, az alábbi séma szerint git commit -m "<keyword>: <your_commit_message>"
    A keywordok az alábbiak:

    • fix: patch verziót növel
    • refactor: patch verziót növel
    • feat: minor verziót növel
    • BREAKING: major verziót növel

    Ezen felül a deployolás teljesen automatikusan történik, plz don't break!!!

    Setup - OLVASD EL!!!!

    1. Környezeti változókat tartalmazó fájl létrehozása
    2. 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 most password lesz. Nálad lehet más.
    • 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 a POSTGRES_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.

    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:

    1. 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
    1. 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 a POSTGRES_HOST környezeti változót db-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