Rakenduseks on Eesti sünnigeograafia avalike isikute ajalooline kaart. Rakendus peab olema kättesaadav igal ajal, ning pakkuma mugavat kasutajakogemust. Kuna rakenduse enda eesmärk on pakkuda võimalust inimeste teadmiste arendamiseks ja Eesti kultuuriruumi rikastamiseks, peab disain olema meeldejääv. Õpilastele pakub võimalust paremini ja efektiivsemalt õppida.
Oleme informaatika esmakursuse tudengid Tallinna Ülikoolist. See projekt, "Eesti avalike tegelaste sünnigeograafia kaart", on koostatud kooli poolt pakutud praktika raames. Eesmärgiks on rikastada Eesti kultuuri ja hoida elus mälestusi meie riigi avalike elu tegelastest. Kõik, kes kaardil on, on võetud toimetaja Richard Kleisi poolt koostatud teosest "Eesti avalikud tegelased". Meile esitas tellimuse Kädi Riismaa, kes on Tallinna Ülikoolis digitehnoloogia instituudis teabehalduse lektor ning ka teadatuntud dokumendihalduse spetsialist. Suured tänuavaldused meie õppejõududele: Jaagup Kippar, Andrus Rinde, Tanel Toova ning Inga Petuhhov.
- JavaScripti Leaflet Library (1.9.4).
- HTML, CSS.
- Springi “ökosüsteem”; Spring Boot (3.0.6); Spring Data JPA; JDBC Template; Spring Security (6.1).
- Erinevaid teised teekid, nagu: mapstruct, lombok.
- Python 3, andmete korrastamiseks ja koordinaatide leidmiseks (läbi API).
- Andmebaas - Postgres (15.2)
- Andmebaas oli ka konteineris, kasutades Dockerit, kuid on ka võimalik andmebaasi hoiustada lokaalsel masinak
- IntelliJ Ultimate, Sublime Text olid peamised IDEd.
- Postman - API otspunktide testimine jne.
- Git ja Github koodi üleslaadimiseks repositooriumisse ja Workflow kontrollimine.
Projekti autorid: Sander Nõlvak (juht), Susanna Veski, Kristiin Marleen Suik, Roland Silt ja Jan Henrik Levertand
- Arvutile tuleb alla laadida Git (kuni 250MB). Giti allalaadimine.
- Kasutades UNIX/LINUX laadset arvutit, tuleb avada Terminal. Seejärel suunduda sobivasse asukohta failisüsteemis (Näiteks Desktop või Downloads). Asukohta saab muuta käsuga
cd
. Sama kehtib ka Windowsi arvutitel, kus tuleks avadacmd.exe
. Näiteks kui hetkene asukoht on kasutaja kodukataloog (~/Kasutaja
) siis tuleks kirjuatada käskcd Desktop
Terminali. Tuleb teha kloon Githubi repositooriumist (git clone https://github.com/makuska/kaardirakendus.git
), kuna default branch on 'development', siis ei pea branchi muutma. - Kasutusel on Java 17, seega tuleb veenda, et arvutil oleks installeeritud vähamelt Java 15 (rakendus toimib ka Java 15 peal).
- Kasutasime ise
IntelliJ Ultimate IDE
(tekstiredaktor). Soovitame kasutadaIntelliJ Community Edition
, mis on tasuta versioon. Rakendus on üsna mahukas (kuni 4GB sõltuvalt lisadest). Samuti võib ka kasutada Terminali (nano
,vi/vim
) või Windowsil Notepadi - Tuleb luua Postgres andmebaas (võib ka kasutada muud relatsioonilist andmebaasi, nagu MySQL, kuid siis tuleb vahetada
application.yml
failis vastavad konfiguratsioonid). Kunaapplication.yml
on.gitignore
failis, siis tuleb see ise luua (sobib kaapplication.properties
fail).- tuleb luua andmebaas kasutades sql skripti (
avalikud_koos_koordinaatidega.sql
). Andmebaasi nimi peaks olema (avalikud_koos_koordinaatidega
) või vastasel juhul tuleb teha vastavad muutusedPersonJDBCDataAccessService
failis (backend). - tuleb luua schema nimega
synnigeograafia
. - Tuleb importida csv fail (
avalikud_koos_koordinaatidega(uus).csv
), antud fail on csv formaadis, ning populaarsemad IDEd pakuvad võimekust seda lisada graafilise kasutajaliidese abil. Näide:CSV
failide importimine IntelliJ Ultimates
- tuleb luua andmebaas kasutades sql skripti (
application.yml
fail (tuleb luua backend/src/resources/
kausta)
#application.yml
spring:
datasource:
url: jdbc:postgresql://localhost:5432/andmebaas
username:
password:
jpa:
hibernate:
ddl-auto: update
properties:
hibernate:
dialect: org.hibernate.dialect.PostgreSQLDialect
format_sql: true
show-sql: true
main:
web-application-type: servlet
# mail:
# host: smtp.gmail.com
# port: 587
# username:
# password:
# properties:
# mail:
# smtp:
# auth: true
# starttls:
# enable: true
# required: true
mail:
host:
port:
username:
password:
security:
user:
name: admin
password:
- Tuleb käivitada backend rakendus/server. Õpetus. Seejärel tuleb avada
index.html
fail (frontend/index.html
). - Peab arvestama, et Java rakendused on mahukad, arvutil võiks olla piisavalt kettaruumi kõige jooksutamiseks (0.5-1 GB kettaruumi). UNIX laadsetel arvutitel on üldjuhul Python olemas (kui on soovi ise kirutada skripte, soovides andmeid muuta), kuid praeguseid andmeid pole vaja enam mmuuta.
- Kui kõik oli edukas, siit peaksid kõik isikud kaardil olema kuvatud ja teised kaardi funktsionaalsused toimima. Kui tekib probleeme rakenduse avamisel/käivitamisel siis võib liikuda siia ja teavitada arendajaid probleemidest!
Viide litsentsile https://github.com/makuska/kaardirakendus/blob/development/LICENSE