Skip to content

ukelonn en webapp for ukelønn

Steinar Bang edited this page Dec 26, 2020 · 8 revisions

Ukelonn er en webapp der ungene dine kan registrere jobber de gjør i hjemmet og du kan registrere utbetalinger.

(installation instructions in English)

Webappen gir tilbakemelding til ungene (og til deg) hvordan de ligger an i forhold til forrige måned og foregående år.

Webappen har også funksjonalitet for å kunne legge inn bonus-perioder (hos oss har vi f.eks. hatt en tradisjon for dobbelt lønn for jobber i adventstida for å få mer penger til julegaver).

Installasjon

Webappen kan kjøres lokalt eller den kan kjøres ute i skyen.

Fordelen med å kjøre webappen lokalt er at man ikke trenger å tenke på å sette seg inn i hvordan man skaffer seg en kjøreressurs i skyen.

Fordeler med å kjøre i skyen er at man ikke trenger å tenke på å ha en maskin alltid kjørende i heimen. En annen fordel er at man kan nå webappen fra andre steder enn i hjemmenettet.

Lokalt kan webappen kjøres på en windows-PC eller på en PC med linux eller på en Mac.

Webappen kan til og med kjøres på en RaspberryPi med Raspbian. Men antagelig så vil ikke å kjøre en RMDBS som PostgreSQL på en RaspberryPi, gjøre underverk med levetida på SD-kortet som fungerer som disk (jeg klarte en gang å ta livet av et SD-kort på en RaspberryPi i løpet av en måned med litt for ivrig skriving).

I eksemplene i installasjonsguiden så antar jeg at man installerer webappen lokalt på en windows-PC

Se ukelonn installasjon på debian for installasjon på debian, ubuntu og raspbian.

Installasjon av database

Databasesystemet som kjøres er PostgreSQL.

Last ned og installer PostgreSQL. Bruk defaulter på alle spørsmål. Husk passordet du oppgir som admin-passord.

Hvilken versjon som brukes er ikke så farlig. Ta den nyeste versjonen som vil kjøre på den maskinen du installerer på (dersom det er en 64-bits Windowsmaskin så er dette i skrivende stund versjon 13.1).

Det du trenger å gjøre nå, er å lage en PostgreSQL-bruker “karaf” med passord “karaf” og så lage to tomme databaser med navn “authservice” og “ukelonn”, begge eid av bruker “karaf” (databasen authservice vil holde brukerinformasjonen og kan brukes av andre applikasjoner som kjører i samme karaf-instans).

Merk: passordet “karaf” både kan og bør du endre senere. Men det må være default-passordet i oppsettfasen.

For å lage bruker og databaser, etter at du har installert PostgreSQL, start “pgAdmin 4” fra windows startmeny og gi passordet du ga ved installasjonen.

I “pgAdmin 4”:

  1. Høyreklikk “Login/Group Roles” og velg Create->Login/Group Role…
  2. I dialogen “Create - Login/Group Role”
    1. Velg fanen “General”
    2. I “Name”, skriv: karaf
    3. Velg fanen “Definition”
    4. I “Password”, skriv: karaf
    5. Velg fanen “Privileges”
    6. Sett “Can login?” til “Yes”
    7. Klikk på knappen “Save”
  3. Høyreklikk “Databases” og velg Create->Database…
  4. I dialogen “Create - Database”
    1. Velg fanen “General”
    2. I “Database”, skriv: authservice
    3. I “Owner”, velg: karaf
    4. Klikk på knappen “Save”
  5. Høyreklikk “Databases” og velg Create->Database…
  6. I dialogen “Create - Database”
    1. Velg fanen “General”
    2. I “Database”, skriv: ukelonn
    3. I “Owner”, velg: karaf
    4. Klikk på knappen “Save”

Og da er PostgreSQL klar til bruk av webappen.

Installer Java

Last ned og kjør installeren for å installere openjdk 11.

(Dersom du allerede har java 11 installert, så trenger du ikke dette steget. Men java 8 er ikke godt nok, siden koden har blitt bygd med java 11 og inneholder ting som mangler på java 8)

Installer apache karaf

Følg quick start guide for å laste ned zip-fil til nyeste release av karaf og start karaf.

Det intruksjonene koker ned til, er:

  1. Last ned zip-fila med nyeste versjonen av karaf
  2. Pakk ut zip-fila
  3. Åpne et kommandolinjevindu (“ledetekst” i windows) og gå ned i katalogen pakket ut fra zip-fila og skriv kommandoen:
    .\bin\karaf.bat
        

Da vil karaf starte opp og stå å vente på kommandoer.

Neste kapittel tar for seg kommandoene som installerer webappen.

Installer webapplikasjonen

Det første som må gjøres er å legge til maven-arkivet som ukelonn bor i (det er ikke innebygd på samme måte som f.eks. maven central):

config:edit org.ops4j.pax.url.mvn
config:property-append org.ops4j.pax.url.mvn.repositories ", https://maven.bang.priv.no/repository/@id=ukelonn@snapshots"
config:property-set org.ops4j.pax.url.mvn.globalUpdatePolicy always
config:update

Så må selve applikasjnen installeres:

feature:repo-add mvn:no.priv.bang.ukelonn/karaf/LATEST/xml/features
feature:install ukelonn-with-postgresql

Legg inn brukere

Antar at maskinen webappen har blitt installert på heter “ukelonn” og dukker opp som “ukelonn” i hjemmenettverket.

Åpne http://ukelonn:8181/ukelonn i en nettleser, logg inn som bruker admin med passord admin.

Velg “Administrere brukere” og så “Legg til ny bruker”.

Lag minst en administratorbruker. Dette er en bruker som kan legge inn nye brukere, nye jobbtyper, nye utbetalingstyper og registrere utbetalinger av ukelønn.

Lag en eller flere vanlige brukere. Dette er brukere som kan gjøre jobber og få utbetalinger.

Sjekk jobbtyper og evt endre beløp

Velg “Adminsterer jobber og jobbtyper” og så “Endre jobbtyper”

Sjekk om beløpene ser fornuftige ut og juster beløpene

Legg til nye jobbtyper

Dersom du har lyst til å ha noen jobbtyper som ikke er på lista over tilgjengelige jobbtyper, velg “Adminsterer jobber og jobbtyper” og så “Lag ny jobbtype” og legg til de jobbtypene du ønsker:

Lag en bonus

Det er mulig å lage “bonuser” som løper for en gitt tidsperiode og kan gi økt betaling for jobbene.

Gå til “Administrer bonuser” og så til “Lag ny bonus” og så kan du f.eks. lage en julebonus, som gir dobbelt betaling i perioden:

(URLen for julebildet som brukes til å pynte på bonusen, er https://www.bang.priv.no/ikoner/holly.png )