Aplikácia je postavená na Flasku.
- Prístup k databáze je riešený cez Flask SQLAlchemy.
- API je postavené na Flask Marshmallow
- Pre dokumentáciu k API sa využíva Swegger
Odkazy na jednotlive použité frameworky a knižnice
Knižnica | Dokumentácia |
---|---|
Flask-SQLAlchemy | https://flask-sqlalchemy.palletsprojects.com/en/2.x/ |
flask-marshmallow | https://flask-marshmallow.readthedocs.io/en/latest/ |
marshmallow-sqlalchemy | https://marshmallow-sqlalchemy.readthedocs.io/en/latest/ |
marshmallow | https://marshmallow.readthedocs.io/en/stable/ |
connexion[swagger-ui] | https://connexion.readthedocs.io/en/latest/quickstart.html |
! Testované na pre Windows 10 ! Preto sa inštalácia môže v niektorých miestach líšiť naprieč rôznymi OS.
Spustiť si vo windowse príkazový riadok alebo WIN + R a napísať cmd.exe
Treba sa nastaviť do priečinka s projektami, napr:
cd C:\Kod\2022\
Vytvorenie priečinku, nazveme si ho napr. micro:
mkdir micro
cd micro
Program stačí stiahnuť cez zip súbor, alebo ho naklonovať cez git rezitár.
https://github.com/jastrab/api_microservice/archive/refs/heads/main.zip
stiahnúť a rozbaliť do priečinku api, v adresári micro.
alebo
git clone https://github.com/jastrab/api_microservice.git api
Inštalácia je pre virtuálku (venv), cez ktorú beží aplikácia. Aplikácia nevžaduje virtuálku, ale je to odporúčané. Inštalácia knižníc je nevyhnutná pre chod aplikácie, pokiaľ už neboli predtým nainštalované.
Inštalácia
python -m venv venv
Aktivácia
venv\Scripts\activate
- pre win - cmd: venv\Scripts\activate.bat
- pre win - powershell : venv\Scripts\Activate.ps1
- pre linux: source venv/bin/activate
pripade pozriet dokumentaciu https://docs.python.org/3/library/venv.html Pre úspešné aktivovanie virtuálky je na začiatku príkazu (venv)
(venv) C:\KoD\2022\micro>
Pozor! Stále pracujeme pod virtuálkou, ale pre prehľadnosť príkazov, ju nezobrazujem.
Všetko v jednom príkaze:
python -m pip install Flask-SQLAlchemy flask-marshmallow marshmallow-sqlalchemy marshmallow connexion[swagger-ui]
alebo postupná:
python -m pip install Flask-SQLAlchemy
python -m pip install flask-marshmallow
python -m pip install marshmallow-sqlalchemy
python -m pip install marshmallow
python -m pip install connexion[swagger-ui]
python .\api\create_db.py
python .\api\server.py
(venv) C:\KoD\2022\micro>python .\api\server.py
* Serving Flask app 'config' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Running on all addresses (0.0.0.0)
WARNING: This is a development server. Do not use it in a production deployment.
* Running on http://127.0.0.1:5000
* Running on http://192.168.237.122:5000 (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 102-400-544
Servis nemá domovskú stránku, ale používa UI Seggera, preto treba zadať: IP - ip pridelená frameworkom - buď lokálna - localhost, alebo globálna PORT - defaultne nastavený na 5000
[IP:PORT]/api/ui
http://127.0.0.1:5000/api/ui
MIT
Free Software!