Opleiding | Project - Boekenwinkel

Opleiding | PHP 1 SS | Project - Boekenwinkel
Gepost op
vrijdag 27 april 2018 om 08:59
Gepost door
admin@nimor

Dit was het eindproject voor de module PHP deel 1 (server-side scripting).

De opdracht bestond uit volgende:

Je maakt een online boeken-winkel waar je als gebruiker telkens één boek kunt bestellen. 

User / Front-end

Een gewone user moet de site kunnen bezoeken en alle boeken kunnen terug vinden en bekijken. Bij elk boek moet een user de details kunnen bekijken en de prijs zien. 

De user moet ook een boek kunnen bestellen, indien voorradig. Bestellen mag eenvoudig gemaakt worden door gewoon de naam van een user, en het adres op te vragen.

Bonus: De admin gebruiker krijgt hier een melding van via email (google: mail functie in php)

Bonus: Maak links van de naam van de auteur en/of de uitgeverij. Voorzie dan een "filter" pagina waarop je de resultaten kan zien. Je ziet dan dus enkel de boeken van de gekozen auteur of uitgeverij.

Admin / Back-end

De admin gebruiker moet kunnen inloggen/uitloggen en moet de boeken kunnen beheren. Hij moet eenvoudig een nieuw boek kunnen toevoegen, aanpassen en verwijderen.

Een boek bestaat uit een ISBN nummer, de naam van het boek, de prijs, het voorraad-aantal, de naam van een auteur, de naam van de uitgever, de taal, het aantal pagina's, een korte beschrijving en de publicatie datum.

De admin gebruiker moet ook de geplaatste bestellingen kunnen bekijken. Een bestelling bestaat uit het isbn nummer van een boek, de naam van de besteller, het adres van de besteller, de prijs van het boek op het moment van bestelling, en twee booleans of de bestelling betaald is of niet en of de bestelling al verzonden is of niet. Voorzie dan ook twee knoppen in de lijst om een bestelling te markeren als "Verzonden" en als "Betaald". Zo kan de admin gebruiker een overzicht houden van de bestellingen. 

BonusVoorzie "filter" pagina's waarop de admin gebruiker de betaalde, niet betaalde, verzonden en nog niet verzonden bestellingen kan bekijken.

Meer info

HTML

  • Je schrijft correcte HTML code. 
  • Je mag gebruik maken van Bootstrap (of een ander css framework) om het ontwerp van je pagina's iets sneller te laten gaan.
  • Je maakt je eigen HTML code en ontwerp. Niet copy-pasten uit een voorbeeld oefening van de les.

 

PHP

  • Je schrijft ordelijke PHP code met een duidelijke afscheiding tussen code en view-templates. 
  • Je schrijft ook duidelijke commentaar regels bij je code. 
  • Je splitst je code op in verschillende "require" bestanden waar nodig. 
  • Indien mogelijk schrijf je je code zo eenvoudig mogelijk. Gebruik zelfgemaakte functies om je code eenvoudiger te maken.
  • Beveilig je formulieren niet enkel met html-validatie maar ook met PHP validatie.
  • Zorg ervoor dat je databank configuratie gemakkelijk op één plaats aanpasbaar is.
  • Je schrijft je eigen PHP code. Niet copy-pasten uit een voorbeeld oefening van de les.

 

DATABASE

  • Voorzie een ID veld voor elke rij in elke tabel
  • Voorzie de juiste tabellen en de juiste kolommen. Denk na over de structuur. Welk veld is verplicht? Welk veld niet? Welk datatype is het?
  • Voorzie test data: voeg enkele boeken toe, voeg enkele bestellingen toe. Zorg dat je database niet leeg is maar dat je iets hebt om mee te werken
  • Voorzie één SQL bestand dat je via PHPMYADMIN gemakkelijk kan importeren.
  • De databank heeft de naam "voornaam-phpeindwerk" waarbij je "voornaam" vervangt door jouw eigen voornaam.
  • Voorzie ook een admin gebruiker met de username "admin" en als wachtwoord "secret". (Bonus: Dit wachtwoord moet beveiligd in de databank gestoken worden via "password_hash").

 

ADMIN

  • Kan inloggen in het admin gedeelte
  • Kan boeken beheren: toevoegen, aanpassen, verwijderen
  • Kan bestellingen zien en kan bestellingen markeren als "verzonden" en "betaald".
  • Pagina's moeten beveiligd zijn met een login systeem

 

USER

  • Kan de site bekijken 
  • Kan boek details bekijken
  • Kan een eenvoudige bestelling plaatsen, indien een boek voorradig is.
  • Bij het invullen van het bestellingsformulier ziet de bezoeker de totale prijs; boek-prijs + 4,99EUR verzendingskosten.
  • Krijgt een melding te zien als een boek minder dan 10 exemplaren heeft.

 

BONUS

 

  • Een boek beschikt over een afbeelingsurl, waarbij de admin zelf de afbeelding in de images map plaatst. Geen upload nodig...
  • De admin beschikt over een filter pagina waar hij enkel de verzonden, niet-verzonden, betaalde en niet-betaalde facturen kan zien. Werk met een parameter in de URL en pas de database query aan op basis van de parameter.
  • De admin gebruiker krijgt een mail bij een nieuwe bestelling
  • De uitgeverij- en auteursnaam zijn links naar een filter pagina waarop je enkel de boeken van de gekozen uitgeverij of auteur kunt bekijken. Werk met een parameter in de URL en pas de database query aan op basis van de parameter.
Evaluatieresultaat voor PHP 1 (Server-side Scripting)

Geslaagd met 72% van het eindtotaal