Skip to main content

Project 6 - Real-time Feedback Systeem

Projectbriefing

Projectnaam: Real-time Feedback Systeem "PulseCheck"

Datum: 18 december 2025

Opdrachtgever: Retail Groep "De Markt"

Contactpersoon: Dhr. T. Hendriks (Operationeel Manager)


1. Achtergrond en Probleemstelling

Retail Groep "De Markt" wil stoppen met lange, saaie online vragenlijsten waar klanten geen tijd voor hebben. In plaats daarvan willen we "Pulse-Surveys": korte, krachtige vragenlijsten van maximaal 3 vragen die via een QR-code op de winkelvloer direct door klanten kunnen worden ingevuld.

We willen geen standaard pakket zoals SurveyMonkey, omdat we de data direct willen koppelen aan onze eigen filiaalnummers en medewerkers-ID's voor interne prestatie-analyses. De anonimiteit van de klant moet gewaarborgd blijven, maar de data moet wel direct actiegericht zijn voor de bedrijfsleider.

2. Doelstelling

Wij willen een custom-built survey platform (PulseCheck) laten ontwikkelen.

Klanten moeten zonder account een korte vragenlijst kunnen invullen. De bedrijfsleiders moeten in een afgeschermd beheerpaneel de resultaten per filiaal kunnen inzien en analyseren.

3. Doelgroepen

  1. Klanten (Anonieme Gebruikers): Willen binnen 30 seconden hun mening geven over de wachttijd en vriendelijkheid.

  2. Bedrijfsleiders (Admins): Willen per filiaal zien wat de gemiddelde score is en welke opmerkingen klanten achterlaten.

4. Gewenste Functionaliteiten (Must-Haves)

Voor het MVP verwachten wij de volgende functies:

  • Toegang & Authenticatie:

    • De survey zelf is publiek toegankelijk (geen login).

    • Inlogscherm voor admins (bedrijfsleiders) om resultaten te bekijken.

  • De Pulse-Survey (Voor Klanten):

    • Invulformulier met 3 verplichte velden: Score (1-5 sterren), Categorie (Service/Prijs/Assortiment) en Toelichting (tekst).

    • Automatische registratie van het filiaal-ID (via een hidden field of URL-parameter).

    • Vriendelijke bedankpagina na verzending.

  • Het Dashboard (Voor Admins):

    • Overzicht van alle binnengekomen feedback in een tabel.

    • Berekening van de gemiddelde score per filiaal.

    • Mogelijkheid om een survey-antwoord te markeren als "Gelezen" of "Actie ondernomen".

5. Technische Eisen & Randvoorwaarden

  • Taal & Database: PHP (8.x) en MySQL.

  • Code Architectuur: Gebruik van includes voor de database-connectie en herbruikbare UI componenten.

  • Veiligheid: Omdat klanten tekst invoeren, is XSS preventie (htmlspecialchars) cruciaal. Gebruik Prepared Statements voor het opslaan van antwoorden.

  • Data Integriteit: Elke feedback-entry moet gekoppeld zijn aan een bestaand filiaal-ID in de database.

6. Budget en Planning

  • Tijdsinvestering: Geschat op circa 40-45 uur.

  • Oplevering: Prototype binnen 5 weken.

7. Gevraagde actie

  1. Lever een Functioneel Ontwerp (wat is de flow van de klant?).

  2. Lever een Technische Schets (Database ontwerp + Mobile Wireframes).

  3. Realiseer de applicatie en lever de broncode op via Git.


BIJLAGE: Specifieke Design & Interface Wensen

Omdat de klant dit op hun eigen telefoon invult, moet de survey 100% geoptimaliseerd zijn voor mobile (Mobile First).

  1. Visual Feedback (Rating):

    • De 5-sterren score moet visueel aantrekkelijk zijn. Gebruik kleurverloop:

      • Score 1-2: Rood (Slecht).

      • Score 3: Oranje/Geel (Gemiddeld).

      • Score 4-5: Helder Groen (#2E7D32) (Top).

  2. Clean Header:

    • Geen ingewikkelde menu's. Alleen een logo gecentreerd bovenin en een subtiele filiaalnaam eronder.

  3. Admin Detail View (70/30 Split):

    • Wanneer een admin op een feedback-item klikt:

      • Links (70%): De volledige toelichting van de klant in een leesbaar font.

      • Rechts (30%): De metadata (Datum/Tijd, Filiaalnummer, IP-adres check).

  4. De "Analytics Filter":

    • De admin moet bovenin de lijst kunnen filteren via URL parameters (GET):

      1. "Toon alle scores"

      2. "Alleen Negatief (1-2 sterren)"

      3. "Alleen deze week"


Tips voor jouw Examenportfolio

Waarom is deze opdracht geschikt voor je examen?

  1. Complexiteit (W3): Je moet omgaan met publieke data-entry (de klant) en geprivilegieerde data-viewing (de admin). De link met filiaal-ID's is een klassieke 1-op-N relatie.

  2. SQL Parameters (W3): De "Analytics Filter" dwingt je om veilige SQL te schrijven die reageert op URL-input.

  3. Validation & Security (W1/W3): Omdat de survey openstaat voor iedereen, is input-validatie (bijv. maximale tekstlengte) en sanitization essentieel om de database schoon te houden.