Home - TiViOpetus/Autolainaus GitHub Wiki

Projektin alkutoimet

Projektin aluksi luodaan repositorioon virtuaaliympäristö komennolla python -m venv venv. Ympäristö aktivoidaan venv\scripts-hakemistosta komennolla .\Activate.ps1. Aktivoinnin jälkeen varmistetaan, että käytetään venv:n python tulkkia. Sen varmistamiseksi voi luoda Python-tiedoston, jolloin tulkki ja sen versiotiedot näkyvät Visual Studio Coden tilarivillä.

:bulb: Jos et saa skriptiä suoritettua, muuta koneen asetuksia niin, että skriptien suorittaminen on sallittua. Se tehdään pääkäyttäjänä Powershell-ikkunassa komennolla Set-ExecutionPolicy -ExecutionPolicy RemoteSigned. Komento tarvitsee antaa vain kerran. Komento muokaa Windows-ryhmäkäytäntöä (Group Policy) joka oletuksena estää Powershell-skrtiptien suorittamisen työasemassa. Windows-palvelimissa saa oletuksena suoritaa PS-skriptejä.

Virtuaaliympäristön luonnin jälkeen päivitetään pakettienhallintasovellus pip komennolla python -m pip install --upgrade pip

Kun pakettien hallinta on päivitetty asennetaan PySide6:n kirjastot komennolla pip install PySide6. Uusien kirjastojen latauksen jälkeen päivitetään requirements.txt-tiedosto komennolla pip freeze > requirements.txt. Muut sovelluskehittäjät voivat tämän jälkeen päivittää oman repositorionsta riippuvuudet komennolla pip install -r requirements.txt

Käyttöliittymätiedoston kääntäminen Python-koodiksi

Visual Studio Code -laajennus Qt for Python mahdollistaa .ui-tiedostojen automaattisen konvertoinnin. Jos laajennus ei käynnisty:

  1. Sulje Visual Studio Code
  2. Avaa se uudelleen
  3. Tallenna ui-tiedosto QtDesignerissa uudelleen. Varmista, että tallennukansio on VSCodeessa projektin juurikansio.
  4. Kuittaa laajennuksen ilmoitusikkuna OK-painikkeella.

Jos _ui.py-tiedostoa ei muodostu, sen voi myös tehdä komentoriviltä pyside6-uic tiedosto.ui -o tiedosto_ui.py, jossa tiedosto on QtDesignerin käyttöliittymätiedoston nimi.

Sovelluksen moduulirakenne

Ohjelmisto hyödyntää PostgreSQL-tietokantapalvelinta. Siinä on kaksi erillistä sovellusta:

Sovellukset ja tietokanta

❗ Korjaa kuvasta lending.py muotoon user.py

  1. Opiskelijan sovellus, joka mahdollistaa ainoastaa auton lainaamisen ja palauttamisen. Sen pääikkunan sisältö on määritelty tiedostossa user.ui. Python kielelle käännetty tiedosto on user_ui.py ja varsinainen ohjelmatiedosto user.py
  2. Opettajan sovellus, joka mahdollistaa uusien opiskelijoiden ja autojen rekisteröinnin. Pääikkuna on administrative.ui. Python kielelle käännetty tiedosto on administrative_ui.py ja varsinainen ohjelmatiedosto administrative.py

Lisäksi sovellukset käyttävät yhteisiä moduuleita, jotka ilmenevät seuraavasta taulukosta:

Tiedosto Käyttötarkoitus
barcode.py Moduuli, joka muodostaa viivakoodin ja siihen liittyvät tarkisteet. Avaimenperien tulostamiseen.
cipher.py Moduuli, jonka funktioiden avulla salataan ja puretaan asetustiedostoissa olevat salasanat
dbOperations.py Moduuli, joka mahdollistaa tietojen lukemisen, tallentamisen ja muuttamisen tietokantapalvelimella.
identityCheck2.py Moduuli henkilötunnusten oikeellisuuden tarkistamiseen.
sound.py Moduuli äänipalauteen antamiseen
settings.json Tietokantapalvelimen astukset on tallennettu JSON-objektiin.

Moduulit on tallennettu kirjastoksi kansioon lendingModules. Jotta kansiota voi käyttää kirjastona sinne on luotava __init__.py-tiedosto.

Tiedostojen väliset riippuvuudet ilmenevät seuraavasta kaaviosta:

Moduulien väliset riippuvuudet