/VyBillett

Primary LanguageJavaScript


Oblig 2 readme:
Vi har ingen default admin bruker/passord men har lagt inn en "registrer meg" side for admins.






 Entity framework Find() First() FirstOrDefault() Single() SingleOrDefault() forklaring
 https://stackoverflow.com/questions/3485317/entity-framework-4-single-vs-first-vs-firstordefault

 Notes: 
- Vi vet at VyBillett ikke skal ha tilgang til DAL men gjorde dette for å ikke måtte dele oblig 1 opp i layers 

 ************* Oblig 2 *************

   Prosjektoppgave i Webapplikasjoner i .NET MVC , Del 2.
Mål

    Lage et administrasjonsgrensesnitt for prosjektoppgave 1 implementert i MVC.
    Lagdele applikasjonen i MVC, Model, BLL og DAL
    Lage  enhetstester

Funksjonalitet:  

Løsningen bør blant annet inneholde:

    Administrasjon av strekninger,  avganger og priser  etc.  Altså de entitetene dere har i deres database fra oppgave 1.
    Innloggingsmekanisme for admin-brukere.
    Logging av endringer til database.
    Logging av feilsituasjoner til fil. Det betyr bla. de som kan oppstå når databasen aksesseres.

Ved evaluering av oppgaven vil det bla. bli vektlagt:

    Design / layout tilsvarende løsningen i tidligere prosjektoppgaver.
    Ryddig og forståelig kode.
    Kompletthet av enhetstest for denne løsningen (ikke nødvendig å lage det for tidligere deler).

Hva skal leveres:

Registrer dere på en av gruppene som er opprettet under Gruppeoppgave2.

En zip. fil som inneholder hele MVC-løsningen i Canvas. Løsningen skal integreres i den allerede eksiterende løsning fra oppgave 1. Det er ikke nødvendig å endre løsningen fra oppgave 1 på noen måte (det kreves altså ikke at denne lagdeles). Der skal det også refereres til evt. kode som ikke er egenutviklet eller laget av meg. Påloggingsinformasjon for admin-bruker må oppgis i en fil kalt Readme.txt. Denne filen må ligge i løsningen på øverste nivå (sett fra Solution Explorer). 

Dersom løsningen kjøres på en skyløsning må URL'en oppgis i Readme.txt filen.

 

Oppgaven teller med 1/3 av totalen. Det vil blir satt foreløpige karakterer på oppgavene, men sluttkarakter vil skje etter en totalvurdering til slutt.














************* Oblig 1 *************

 MERK:
 Det kan være lurt å dobbelsjekke at .mdf og .ldf filene i App_Data folder vises (add existing item).


 Antagelser/valg:

 - Vi har valgt å tolke oppgaven slik at man skal bare kunne reise direkte mellom stasjoner uten bytte. 

 - Vi har antatt at vi ikke skal lagre kredittkortinformasjon og annen personlig informasjon i databasen grunnet GDPR og vi ikke kan se at dette
 skal være nødvendig i forhold til oppgaven. 


 Et par ting å nevne ved prosjektet vårt:

 - Vi fjerner input i stasjoner-input dersom det ikke er en godkjent stasjon slik at man ikke kan 
skrive f.eks. "Berg" i "reise fra" og gå videre til "reise til". 

- Vi har lagt inn avganger i minst 6 til 9 dager frem i tid (fra prosjekt kjøres). Lagt til i DbInit.cs


 Vårt system og funksjonalitet kort oppsummert:
 
 - Vi har en Station som representerer en stasjon
 - En Line representerer en tog-strekning (f.eks. R20 - Oslo s - Halden).
 - En LineStation representerer en stasjon på en linje. Denne har en kolonne "Minutes" som er antall minutter dette stoppet er fra første stasjon på linjen.
 Dette tillater beregning av reisetid. 
  - Departure representerer når et tog forlater første stasjon på linjen. Man kan videre beregne når tog er på de neste stasjonene med "Minutes" på LineStation.
  - Category inneholder priskategorier
  - Ticket representerer en kjøpt billett. 
  
  Flyt:
  - På forsiden kan man velge stasjon fra/til, samt dato/tid og antall billetter av de forskjellige kategoriene. 
  - På neste side får man en liste over alle avganger fra valgt stasjon 30 minutter frem i tid fra valgt tidspunkt. Man fyller også ut betalingsinformasjon
  på denne siden. 
  - På siste side får man kvittering for kjøp med info om avgang, ankomst, pris, antall billetter og type billetter.