/NordicMotorhomeProject

Exam project for first year exam @ KEA

Primary LanguageJava

Nordic Motorhome Project

Eksamensprojekt for Datamatiker førsteårseksamen på KEA 2020.

Projektdeltagere:

Christian Hasselbalch, Jannick Espersen, Philip Specht & Peter Hartmann

Projektbeskrivelse

Dette projekt er en eksamensopgave, hvor vi havde til opgave at levere første version af et administrativt system til en fiktiv virksomhed "Nordic Motorhome Rentals". Det er en virksomhed hvis forretning består i at udleje autocampere.

Produktkrav

Teknisk

  • Program skrevet i Java.
  • Logisk lagdelt arkitektur, der kan køre på en Java server (Tomcat)
  • MySQL database.
  • Webinterface med Spring Boot
  • Brug af Java klasser, Spring controllere, HTML, CSS og Thymeleaf

Domæne

  • Programmet skal kunne håndtere informationer om kunder, autocampere og udlejninger.
  • I første version af systemet er brugerne virksomhedens medarbejdere. I en fremtidig version skal kunder kunne lave reservationer.

Systembeskrivelse

I denne første udgave af systemet 'Nordic Motorhome Project' (nmp) er der implementeret følgende.

  1. Man skal logge ind for at benytte systemet. Hver medarbejder har et unikt brugernavn og en adgangskode. Hver type medarbejder har kun adgang til de funktioner de har behov for. F.eks. ejer har adgang til samtlige funktioner, imens salgsassistent kun kan se og oprette nye ordrer.
  2. Håndtering af motorhomes (autocampere). Man kan se en liste over alle motorhomes, og her kan man se detaljer, redigere og slette. Man kan også tilføje et nyt motorhome til listen.
  3. Håndtering af extras (ekstraudstyr). Samme funktionalitet som ved motorhomes.
  4. Håndtering af udlejninger/ordrer. Man kan se en liste over alle ordrer. Desuden kan man oprette en ny ordre.

Al data gemmes på en MySQL database som er hostet via GearHost.

Guide til opsætning med GitHub og GearHost-database

Softwarekrav:

Et integreret udviklingsmiljø (IDE) som understøtter Maven projekter. F.eks. IntelliJ IDEA.

Internet:

Der kræves en internetforbindelse for at kunne forbinde til databasen.

Importering af projekt fra GitHub

Step 1

  1. Før musen over "Clone or download" og vælg "Download ZIP". Gem filen et sted på din PC, og pak den herefter ud i en mappe.
  2. Åbn din IDE og importer projektet som Maven projekt. Herunder ses hvordan det gøres i IntelliJ IDEA.

Step 2 og 3

  1. Vælg "Import project"

Step 4

  1. Find og marker mappen med projektet og vælg "OK".

Step 5

  1. Markér "Import project from external model", vælg så "Maven" i listen og vælg til sidst "FINISH".

  2. Nu kan programmet køres ved at trykke på "Run" knappen, vælge "Run" under Run-fanen eller ved at trykke SHIFT+F10.

  3. Åben nu din browser og gå til "localhost:8080".

  4. Log ind med brugernavn og password fra skemaet herunder.

Login

I systemet er det implementeret et login systemet inden man får adgang til resten systemets funktionaliteter. Når man logger ind som "ejer" har man fuld adgang til alle funktionaliteter i systemet. Der kan logges ind som forskellige typer af medarbejdere. Se skemaet nedenfor.

Bemærk forskel på store og små bogstaver i password.

Brugernavn Password Stilling
ke2020 Keaeksamen2020! Ejer
jd1234 MitKodeord123! Ejer
ch1995 kunSalg_TilMig? Salgsassistent

De resterende typer af medarbejdere har ikke noget login endnu, da der ikke er implementeret funktionalitet til dem.

Guide til opsætning med lokal database

Såfremt man ønsker at bruge en lokal database, eller hvis GearHost databasen ikke virker skal denne guide følges.

Step 1-5 følges som nævnt ovenfor.

For at få en lokal database på din maskine skal det vedhæftede SQL-script køres i MySQL Workbench eller lignende. Herefter skal du i IntelliJ-projektet ændre user, password og url i "application.properties" filen, eller erstatte den med din egen.

Herefter kan programmet startes som i step 6.