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:
- Sulje Visual Studio Code
- Avaa se uudelleen
- Tallenna ui-tiedosto QtDesignerissa uudelleen. Varmista, että tallennukansio on VSCodeessa projektin juurikansio.
- 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:
❗ Korjaa kuvasta
lending.py
muotoonuser.py
- 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 onuser_ui.py
ja varsinainen ohjelmatiedostouser.py
- Opettajan sovellus, joka mahdollistaa uusien opiskelijoiden ja autojen rekisteröinnin. Pääikkuna on
administrative.ui
. Python kielelle käännetty tiedosto onadministrative_ui.py
ja varsinainen ohjelmatiedostoadministrative.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: