Opgave - HeinPauwelyn/FreeTime GitHub Wiki


Inhoud

  1. Inhoud
    1. Een user
    2. De administrator
  2. Project opgave
  3. Technishe uitwerking
  4. Praktische punten

Project opgave

Ieder persoon heeft zijn eigen interesses. De één houdt van jazz, een ander wil liever gaan sporten. Anderen willen gewoon thuis genieten van een betere fles wijn. En weer andere plannen nu al hun vakantiereis voor volgend jaar. Voor elk interesse gebied is iets te vinden op het wereldwijde web. “Zoeken” op het www is het juiste woord. Misschien kan je met jouw project in ASP.NET MVC dit zoeken eenvoudiger maken. Denk daarom voor de uitwerking van dit project aan je eigen interesse gebied of hobby.

Een user

Op de homepage van de web toepassing wordt je als gebruiker aangetrokken door een duidelijke en verrassende weergave van maximaal vier interesse domeinen. Na selectie van een domein krijg je de start pagina van dit domein te zien met bijvoorbeeld een korte samenvatting over zijn inhoud, met een aantal triggers of uitnodigende tips om verder te gaan op de site, enz...

Een gebruiker die wil verder gaan, krijgt alleen toegang na registratie. Met de registratie krijgt hij toegang tot twee van de vier interesse domeinen. Login kan ook met paswoord en user-id van een sociale netwerk site. Na inloggen krijg je de meest recente commentaren te zien van het geselecteerde interesse gebied. Elk van de commentaren is beperkt in lengte en is voorzien van een rating. De rating is natuurlijk niet toegekend door de persoon die het commentaar plaatste maar wel door zij die het commentaar gelezen hebben.

Om te zoeken onder de commentaren kan een filter worden toegepast. Kies zelf hoe dit filter uit te bouwen. Dit kan bijvoorbeeld een zoekbox zijn, een volgorde bij sorteren, een tag, een extra onderverdeling in subcategorieën...

Zijn geen passende commentaren gevonden, dan kan je als gebruiker een nieuwe thread opstarten. Maar dit kan je alleen als super-user. En dit statuut van super-user moet je wel verdienen! Kies zelf een methodiek om super-user te worden maar denk bijvoorbeeld aan: je moet eerst een rating toekennen aan minstens 2 commentaren, of je moet behoren tot een lijst van sponsors die reclame op de site plaatsen, of je hebt al een pak goede ratings ontvangen op eerdere commentaren, of een combinatie van deze zaken...

De administrator

Wie het statuut van administrator heeft, draagt bij tot het onderhoud en overzichtelijk houden van de site. Niet gewenste berichten kunnen onzichtbaar worden geplaatst. Verdachte gebruikers kunnen verdere toegang worden geweigerd. Personen, die lange tijd geen actieve bijdrage hadden op de site, moeten opnieuw registreren. De administrator kan een aantal statistieken genereren over de activiteit op de site per interesse gebied.

Technische uitwerking

  • ASP.NET MVC.
  • Database: MS-SQL, met repositories zoals in de lessen.
  • Autorisatie en authenticatie voor drie niveaus: user, super-user, administrator. Noot: Zorg voor een administrator: “Docent@MCT” met paswoord “Docent@1”
  • Inloggen kan via een sociale netwerk site.
  • De front is zowel bruikbaar op desktop als op een mobiel apparaat. Om zo universeel mogelijk te zijn maakt de mobiele communicatie gebruik van een API. Voorzie dus een basis API waarmee mobile devices de content uit de database kunnen opvragen. We moeten niks kunnen versturen naar de mobile API.
  • Je maakt geen gebruik van de default layout in Visual Studio, maar gaat op zoek naar een andere layout (bootstrap) of eigen layout. Zorg voor een acceptabele GUI/XUI (NMCT waardig). Integreer hierbij (minimum) één techniek aangeleerd in de module Web-Advanced. Denk aan een animatie, een leuk javascript …
  • Validatie en foutcontrole ontbreken niet.
  • Het gebruik van figuren (geoptimaliseerd!) is verplicht.
  • Respecteer zoveel mogelijk het DRY principe. (Voorbeeld: Denk aan partial views.)
  • Bescherming voor kwetsbaarheid tegen XSS, Cross Site Forgery, Cookie Stealing en Over Posting.

Praktische punten

  • Gedurende de examen periode krijg je tien minuten de tijd om je resultaat te presenteren vanop je eigen laptop. Zorg voor een korte maar boeiende voorstelling, die het beste van je applicatie toont- zowel naar uitzicht of naar code. Je hoeft geen ppt te maken. Het kan rechtstreeks vanuit je webtoepassing. ( 2 punten te verdienen als DES-skill)
  • Indienen gebeurt op de LEHO dropbox van de module ten laatste (!) met volgende naam: ·SSA-NMCTgroep-NaamVoornaam. Respecteer deze naamgeving. Voorbeeld: “SSA-NMCT4-VerbruggeJoe.zip” of “SSA-NMCT4-VerbruggeJoe.rar”
  • De inhoud van de rar/zip:
    • Volledig uitvoerbaar project inclusief database, figuren,
    • Beknopt MS Word of pdf document met naam: SSA-NaamVoornaam.docx /pdf
  • Het document (2 punten te verdienen als DES-skill):
    • Bevat nodig paswoorden om te kunnen inloggen als user, superuser, administrator.
    • Database schema.
    • Planningsoverzicht:
      • Korte beschrijving waar de meeste tijd naar toeging (= de grootste moeilijkheid tijdens de ontwikkeling).
      • Totale ontwikkeltijd (tip: op basis van data uit een source control systeem naar keuze).
    • Om fier op te zijn:
      • Korte beschrijving van het volgens jou meest succesvolle element in de webapplicatie. Het is een meerwaarde als je iets implementeert dat niet in de lessen behandeld werd. (= ook kort te vermelden in het document)
      • Extra commentaar indien gewenst.