Instructies
Instructies

Algemeen

  • Maak deze opdracht zo goed mogelijk na, het idee is gebaseerd op Hackernews of reddit.
  • Probeer zoveel mogelijk functionaliteit uit, maak een grondige analyse van wat er allemaal in deze applicatie verwerkt zit. Daarbij kan pen en papier helpen om notities te maken en een overzicht te verkrijgen.
  • De oplossing moet op je Github repository én online komen te staan. Ik moet deze dus kunnen clonen én ik moet naar deze applicatie kunnen surfen
  • De layout is ondergeschikt en mag je integraal overnemen (= bootstrap)
  • Je mag NERGENS JavaScript gebruiken. Alle errorafhandeling gebeurt dus via PHP.
  • Je mag kiezen of je dit vanaf scratch, CodeIgniter of Laravel maakt. De versie die je hier zit is gemaakt in Laravel en ik zou dit ten zeerste aanraden om dit ook te proberen, maar jullie zijn vrij om hierin te beslissen.
  • Jullie schrijven alles zelf en kunnen elke lijn code die jullie hebben toegevoegd uitleggen (met uitzondering van de framework internals, mits ze niet al te relevant zijn voor de oplossing)
  • Alle coding ethics en basisprincipes van security, ... die tijdens de lessen en de oefeningen gezien zijn, moeten ook hier nauwkeurig worden toegepast
  • De applicatie wordt elke dag om 03u00 gerest naar de oorspronkelijke database-waarden. Jullie mogen dus zoveel testen als jullie willen, maar hou er rekening mee dat jullie elke dag opnieuw zullen moeten registreren.
  • Let goed op welke delen er publiek toegankelijk zijn, voor welke delen je moet inloggen en over welke functionaliteit je beschikt als je bent ingelogd
  • Er zijn veel functioanliteiten die je zou kunnen verbeteren of toevoegen, maar hou je aan de opdracht, deze is al pittig genoeg. Ben je klaar en werkt alles zoals het hoort, dan kan je nog altijd dingen toevoegen, maar werken deze niet, dan is dat nefast voor je beoordeling
  • Gebruik git! Ik wil een mooie commit history zien, en liefst ook branches per functionaliteit die je hebt toegevoegd.

Database

  • Denk zelf na welke databasestructuur hier geschikt zou zijn
  • Er worden GEEN hard deletes uitgevoerd.
  • Als je opdracht is afgewerkt doe je een export van je database (inclusief databasenaam en structuur) en plaats je deze in de root van je project.