POVEZAVA DO PREDSTAVITVENEGA VIDEA
IntelliJ IDEA, Java, MSSQL Server, SQL Server Management Studio (SSMS), Maven, Spring Boot
IntelliJ IDEA 2019.1.2,
Java 1.8,
MSSQL Server 2016+,
SQL Server Management Studio (SSMS) 18.0,
Maven 4.0.0,
Spring Boot 2.1.4
OptiTech je "connected vehicle" platforma za obdelavo in upravljanje različnih podatkov iz različnih vozil v povezavi z različnimi internimi in eksternimi sistemi ter uporabniki.
Ključna prednost platforme je, da upošteva in nadgrajuje zahteve različnih uporabnikov (vozniki, servisne hiše, zavarovalnice, proizvajalci avtomobilov, itd) ter zagotavlja vedno boljšo uporabniško izkušnjo in posledično tudi lažje upravljanje z vozilom za vse deležnike ekosistema.
Platformo sestavlajo:
- OBD II "plug & play" naprava v vozilu (Onboard Diagnostic connector), ki je povezana z internetom in sproti zajema podatke o vožnji in vozilu ter jih posreduje v procesni center,
- komunikacijski center oz komunikacijska naprava s procesnim centrom, ki skrbi za povezavo med napravo v vozilu in bazo naprav, uporabnikov in podatkov,
- analitični center, ki obdeluje in pripravlja podatke za potrebe različnih skupin uporabnikov ekosistema in
- portal OptiTech, ki omogoča preglede podatkov in upravljanje vseh delov sistema.
Rok za izdelavo projekta je izjemno kratek (5 tednov), zaradi česar si ne moremo privoščiti izgube časa z vidika samostojnega programiranja uporabniškega vmesnika. Iz tega razloga smo prebrskali med najboljšimi brezplačnimi predlogami, ki so ustrezale našemu konceptu in tipu projekta in izbrali temo CoolAdmin. Ta je seveda prilagojena in prirejena našim potrebam, zatorej je popolna uporabniška izkušnja zagotovljena.
Zaradi boljše uporabniške izkušnje je platforma kar se da izpopolnjena za čim lažjo uporabo in k temu spada tudi prijava v sistem. Celotna varnost spletne strani je implementirana preko kombinacije Spring Security-ja in OAuth 2.0 protokola. Neprijavljen uporabnik lahko tako dostopa samo do pozdravne strani z osnovnimi informacijami, prijavljen uporabnik pa lahko brska po podrobnejših podatkih.
Celotna platforma je implementirana tako, da deluje podobno kot vsi večji SSO (single sign-on) sistemi. V primeru neregistriranega uporabnika se registracija izvede praktično ob prvi prijavi in se podatki shranijo v Google-ovo shrambo podatkov, za že prijavljene uporabnike pa se izvede samo klasična avtorizacija.
Tekom celotnega projekta je uporabljena klasična MVC arhitektura, zgrajena s pomočjo Spring Boot ogrodja. Natančnejši opis posameznih komponent:
- MODEL: javanski razredi za dostop do entitet v SQL Server-ju
- VIEW: prejem informacij in gradnja uporabniškega vmesnika v obliki .jsp strani, souporaba anotacij JSTL
- CONTROLLER: klasični Spring kontrolerji (nadzorniki) z anotacijami in mappingi
Prednosti MVC arhitekture:
- Modularnost
- Fleksibilnost
- Hitrejši razvoj
- Lažje vzdrževanje
Podporne tehnologije, uporabljene v projektu: Bootstrap, jQuery, AJAX, JavaScript, SASS
Kot dodatek se pri statistiki in javljanju napak posameznega vozila uporabljajo metode umetne inteligence. Iz širokega nabora podatkov smo izbrskali vzorec in po vnosu podatkov uporabnika lahko do 99% natančno določimo čas in tip napake, ki se lahko pojavi.
Kanban je metoda za upravljanje in organizacijo dela, s poudarkom na vmesnih rezultatih in usklajenemu delu vseh vpletenih. Najsi to metodo uporabljal le en posameznik ali velika skupina ljudi, vsem so vidne vse naloge, celoten potek in zaključek. Iz tega razloga za sledenje dela in nalog uporabljamo "Projects" segment, ki je ponujen na GitHubu. Za pregled nad projektom OptiTech kliknite naslednjo povezavo.
Za implementacijo posameznih komponent platforme se poslužujemo iterativnega pristopa dela. S tem pridobimo pregled nad delom, omogočimo lažjo organizacijo dela in boljše sodelovanje med člani ekipe. Posamezna iteracija traja 1 teden, v času le-te pa se izvede implementacija dodeljenih funkcionalnosti.
Na žalost v posamezni iteraciji vsem ne uspe vedno zaključiti in izpopolniti dodeljene naloge. Zaradi tega je v igri tudi inkrementalen pristop dela, v katerem izvedemo gradnjo na prvotni funkcionalnosti z dopolnjevanjem in dodajanjem vrednosti obstoječi platformi.
- Prenesite in namestite: IntelliJ IDEA 2019.1.2, Java 1.8 MSSQL Server (vsaj 2016), SQL Server Management Studio (SMMS) 18.0
- V environment variables v računalniku nastavite pot do bin direktorija JDK-ja (Tutorial: https://www.javatpoint.com/how-to-set-path-in-java)
- Odprite razvojno okolje IntelliJ IDEA, kliknite opcijo "Check out from Version Control, v dropdown menuju izberite opcijo Git
- V polje URL prekopirajte povezavo https://github.com/uzagoranski/Praktikum_OptiTech.git, izberite lokacijo kloniranja in pritisnite na gumb Clone
- Na mail nam pišite za .bak datoteko podatkovne baze OptiTech. Ko pridobite datoteko jo "restorajte" v programu SQL Server Management Studio
- Povežite projekt s podatkovno bazo tako, da spremenite niz "connectionUrl" v razredu SQLDatabaseConnection v vaše podatke
- Stisnite na boot-form-handling -> Plugins -> Spring-boot -> in dvakrat kliknite na Spring-boot:run. Počakajte, da se naloži & v brskalniku odprite naslov http://localhost:8080/
*Predpogoj: Operacijski sistem Windows
- Omogočite program Hyper-V v operacijskem sistemu Windows po korakih iz vodiča
- Prenesite .zip datoteko slike virtualnega stroja s predpripravljenimi komponentami za zagon aplikacije iz povezave
- Razširite .zip datoteko na željeno mesto na napravi
- Odprite program Hyper-V Manager in preko ukaza "Import Virtual Machine" dodajte sliko virtualnega stroja, ki se nahaja v direktoriju "OptiTech/Virtual Machines" in ima naziv "C67704EC-1E34-4020-AC29-7E914DED161B.vmcx" ter sledite vodiču
- Podatki za prijavo v OS:
- Uporabniško ime: User
- Geslo: 1234
- Po uspešni prijavi odprite "Command Prompt" (cmd) kot administrator, vpišite komando "cd C:\Program Files\Apache Software Foundation\Tomcat 8.5\bin" ter takoj za tem komando "catalina.bat run". Počakajte, da se izpiše "INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 29959 ms"
- Odprite brskalnik, prekopirajte naslov http://localhost:8080/OptiTech/ in brskajte ter raziskujte, kaj aplikacija nudi
- IntelliJ IDEA - Razvojno okolje (IDE)
- Maven - Dependency Management
- Spring Boot - Orodje za pomoč (Framework)
- MSSQL Server 2016+ - Strežnik za podatkovno bazo
- SQL Server Management Studio (SSMS) - Orodje za delo s podatkovno bazo
V primeru želje po sodelovanju pri projektu nas lahko kontaktirate in nam pošljete morebitne prispevke na email naslov: [email protected]
Različica: 7.5.2
To je zadnja uradno objavljena različica.
Primož Stopar | Aljoša Sikošek | Uroš Zagoranski |