Skip to content

This was a group project in the course IT1901 Informatics, Project I at NTNU. The project consists of an application made to log your training. The application was made by me and three other students. The project was made using GitLab and then imported to GitHub after it was finished.

Notifications You must be signed in to change notification settings

jarlsondre/it1901-training-logger

Repository files navigation

Gitpod Ready-to-Code

Training Logger

Dette er mappen som ligger i rot-nivået til applikasjonen Training Logger. Mer informasjon om selve applikasjonen finnes i README i applikasjonsmappen.

Bygging og kjøring av applikasjonen

Applikasjonen bygges og kjøres ved hjelp av byggeverktøyet Maven. Applikasjonen fungerer både lokalt og med tilkobling til server. Uansett hvilken måte man velger å bygge på så må man først kjøre kommandoen

mvn install

Bygging og kjøring lokalt

Etter at man har installert prosjektet må man gå inn i mappen fxui ved hjelp av kommandoen

cd fxui

Herfra kan man starte applikasjonen med kommandoen

mvn javafx:run

Bygging og kjøring med server

Etter at man har installert prosjektet må man starte serveren ved hjelp av kommandoen

mvn -pl integrationtests jetty:run -D"jetty.port=8999"

Dette starter serveren på port 8999. Deretter må man starte applikasjonen gjennom profilen "remoteapp". Dette gjøres med kommandoen

mvn -Premoteapp -pl fxui javafx:run

Troubleshooting

Dersom det skulle oppstå problemer under installasjon kan det hjelpe å rydde prosjektet med kommandoen

mvn clean

før installasjon.

Merk: Ettersom at GitPod er en VM så kan det oppstå problemer ved kjøring av tester, da noen av testene baserer seg på bytte av vindu. Det er fordi VM-en ofte kjører tregere enn en vanlig personlig datamaskin og dermed bruker den noen ganger for lang tid på å bytte vinduer før testen forsøker å finne neste element i brukergrensesnittet. Dette kan oppstå ved tilfeldige tider (basert på hvor mange som bruker GitPod og internetthastigheter o.l.) så dersom testene skulle feile så er det bare å kjøre installasjonen på nytt.

Forklaring av mappestruktur

Prosjektet er bygd med mappestruktur i henhold til Maven. Strukturen vår ser slik ut:

  • traininglogger: Overordnet modul (parent):
    • core: Core-modul
      • core: core-mappe. Her ligger alle kjerne-klassene som ligger bak applikasjonen
      • json: json-mappe. Her ligger alle klassene som blir brukt til lagring
      • resources: resource-mappe. Her ligger ressursene som blir brukt i core
      • test: Her ligger alt av tester og ressurser som hører til testene
    • fxui: fxui-modul
      • ui: ui-mappe. Her ligger alt av kontrollere og hjelpeklasser for ui
      • resources: resource-mappe. Her ligger alt av .fxml-filer og eventuelle andre ressurser som trengs
      • test: Her ligger alt av tester og ressurser som hører til testene
    • integrationtests: integrationtests-modul: Inneholder tester for integrasjonen mellom server og kjernelogikk
    • restapi: restapi-modul:
      • restapi: Inneholder klasser for implementasjon av REST-api
    • restserver: restserver-modul:
      • restserver: Inneholder klasser for bruk av lokal server
      • resources: Inneholder default-filer for lagringen
      • test: Inneholder tester av REST-serveren samt ressurser for testing

For mer informasjon om strukturen til applikasjonen, se README i prosjektmappen. Her finnes diverse diagrammer som forklarer strukturen ytterligere.

Build-filer

Build-filene vi bruker ligger på rotnivå (utenom pom.xml som ligger under prosjektmappen). Filer for Gitpod-konfigurasjon

  • .gitpod.yml
  • .gitpod.Dockerfile

About

This was a group project in the course IT1901 Informatics, Project I at NTNU. The project consists of an application made to log your training. The application was made by me and three other students. The project was made using GitLab and then imported to GitHub after it was finished.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published