Skip to content
This repository has been archived by the owner on Mar 26, 2024. It is now read-only.

Prosjektstruktur

Even Dalen edited this page Jan 29, 2017 · 6 revisions

Prosjektstruktur

Dette dokumentet beskriver hvilke biblioteker og rammeverk vi bruker til prosjektet, i tillegg til fil- og katalogstruktur.

Rammeverk

  • JAX-RS (Jersey) for REST-API
  • JUnit for enhetstesting
  • JQuery for å lettere skrive god JavaScript-kode

Biblioteker

  • commons-dbutils.commons-dbutils - Inneholder hjelpemetoder for databasetilkoblinger
  • mysql.mysql-connector-java - Databasedriver for MySQL
  • org.json.json - Lar oss parse og serialisere JSON-data
  • com.fasterxml.jackson.core.jackson-annotations - Lar oss bruke @JsonIgnore for å ignorere visse felt
  • org.springframework.spring-test - Inneholder MockHttpServletRequest som vi bruker for REST-enhetstesting
  • com.sun.mail.javax.mail - Mail-API vi bruker for å sende mail
  • org.quartz-scheduler.quartz - Lar oss sette opp oppgaver som skal kjøres til sepsifikke tider. Bruker for innsending av timelister
  • org.slf4j.slf4j-jdk14 - Bibliotek for logging i Jersey
  • org.apache.tomcat.tomcat-catalina - Inneholder et Tomcat-filter for XSS-headere
  • com.googlecode.owasp-java-html-sanitizer.owasp-java-html-sanitizer - Brukes til å filtrere ut HTML fra input
  • org.apache.tomcat.tomcat-jdbc - Har funksjonalitet for databasetilkoblingspool.

Struktur

All ordinær Java-kode ligger i src/main/java-mappen i rotmappen til prosjektet, mens alt av testkode (Java) ligger i src/test/java-mappen.

Hele backend-delen av prosjektet ligger i prosjektpakken no.ntnu.stud.minvakt. I denne pakken finnes følgende underpakker:

  • Databasekommunikasjon: src/main/java/no/ntnu/stud/minvakt/database
  • REST-kode: src/main/java/no/ntnu/stud/minvakt/services
  • Dataklasser (Entiteter): src/main/java/no/ntnu/stud/minvakt/data
  • Backend-logikk: src/main/java/no/ntnu/stud/minvakt/controller
  • Hjelpeklasser/verktøy: src/main/java/no/ntnu/stud/minvakt/util
  • Jersey-spesifikk kode: src/main/java/no/ntnu/stud/minvakt/jersey

Det finnes også konfigurasjonsfiler for backend:

  • Servlet-konfigurasjonen: src/main/webapp/WEB-INF/web.xml
  • MinVakt-konfigurasjon (database og mail): src/main/webapp/WEB-INF/MinVakt.properties

Frontend-delen av prosjektet kan finnes i src/main/webapp, og har følgende struktur:

  • JavaScript-kode: src/main/webapp/js
  • HTML-kode: src/main/webapp/html
  • CSS-kode: src/main/webapp/css