Skip to content
This repository has been archived by the owner on Feb 28, 2019. It is now read-only.
Daniel edited this page Dec 14, 2018 · 1 revision

Opgaveformuleringen

Du har fået arbejde som full stack developer i en softwareudviklingsvirksomhed i Danmark. Du udvikler software for forskellige virksomheder, og denne gang skal du arbejde med en softwareløsning for BEC (Bankernes EDB Central).

På den følgende side kan du se de delopgaver, som du skal igennem for at kunne levere resultatet.

Du har 4 timer til at løse denne opgave, men du får 5 timer til den rigtige eksamen.

Du skal uploade en .zip fil med al din kode og kommentarer på Wiseflow inden eksamens afslutning.

Inden eksamen skal du have Node.js, Express, Postman, MySQL Server og MongoDB installeret (database-clients er også gode at have). Visual Studio Code, express-generator, loopback, nodemon er nok også en fordel at have installeret.

Dine opgaver

A. Database

Design og opret en database som kan indeholde data om bankens medarbejdere, kunder og konti. Databasens navn skal være BEC Bank.

Følgende skal tages i betragtning i din database:

  • En kunde kan have flere konti.
  • Både kunder og bankansatte er brugere af systemet.
  • Brugere skal logge på med password.
  • En konto skal som minimum have navn, kontonummer, indeestående og rente.
  • Det skal være muligt at overføre mellem konti, disse overførsler kaldes transaktioner.

B. HTML tabel

Opret et HTML dokument, som giver overblik over bankens konti. Brug en tabel til at vise alt data om de registrerede konti. Indtast et par linjers dummy data om et par forskellige konti.

C. SERVER + DATABASE

Nu skal du bygge en Node.js server, som gør din HTML-side tilgængeligt via HTTP og som også kobler databasens data til HTML-siden.

Brug din HTML kode som et template.

D1. RESTful API - GET

Udvid din serverapplikation således, at den kan tjene som en RESTful endpoint, der viser aktuelle kontooplysninger i JSON format.

D2. RESTful API - POST

Sørg for, at der kan oprettes nye brugere via en RESTful endpoint. Brug Postman til testing, og/eller opret en HTML form for indtastning af brugere.

E. CSS & Client side JS

Sørg for, at din HTML-side er brugervenlig vha. CSS. Vis at du kan bruge flere forskellige selectors, og et udvalg af mulige properties. Brug evt. et frontend framework som Bootstrap til din tabel. Din side skal også sætte et cookie, som gemmer brugerens unikke ID og hvor mange gange denne side er besøgt.

F. Komponent

Du skal udvikle en Node.js modul, som kan kan kon vertere mellem danske kroner og euro. Brug enten kurs 7,46, eller find en API, som kan gøre konverteringen real time.

G. Deployment

Vis og forklar en deployment (f.eks. dit eget domæne, Google Cloud, sprog-projekt.)

H. TEKNOLOGISPØRGSMÅL 1

Hvordan vil du sikre databasen imod hackerangreb? Beskriv 2 metoder, der kan forhindre et SQL-injection angreb. Opret en fil med navnet databasesikkerhed.txt, og skriv dit svar heri.

I. TEKNOLOGISPØRGSMÅL 2

Hvis der gemmes brugerdata, der er personlige for brugeren (f.eks. brugernavn og password), hvordan kan de sikres imod afsløring i tilfælde af et SQL-injection angreb. Opret en fil med navnet brugerdata.txt, og skriv dit svar heri.