Project 7 - Bibliotheek Beheersysteem
Projectbriefing
Projectnaam: Bibliotheek Beheersysteem "BookFlow"
Datum: 18 december 2025
Opdrachtgever: Brede School "Het Leerpark"
Contactpersoon: Mevr. L. de Vries (Mediabeheerder)
1. Achtergrond en Probleemstelling
Brede School "Het Leerpark" heeft een eigen bibliotheek met ruim 2.000 boeken. Momenteel wordt het uitlenen bijgehouden in een Excel-bestand.Excel. Dit is foutgevoelig: we weten vaak niet wie welk boek heeft, of een boek al over de inleverdatum heenis is,verstreken en leerlingen kunnen de catalogus niet zelfinzien.
Dit welkeleidt tot verlies van boeken er beschikbaar zijn.
Hierdoor raken boeken kwijt en is de administratie een dagtaakenorme geworden.administratieve druk. We willen dit procesprofessionaliseren digitaliserenmet zodateen systeem waarbij leerlingen zelfzelfredzaam boeken kunnen reserverenzijn en debeheerders mediabeheerdercontrole het overzicht behoudt.houden.
2. Doelstelling
WijDe willenontwikkeling van een web-based uitleensysteem (BookFlow) laten ontwikkelen..
Leerlingen moeten online de catalogus kunnen inziendoorzoeken en eenreserveringen "Leenverzoek" kunnen indienen.plaatsen. De mediabeheerder moet dezeaanvragen verzoekenverwerken, kunnentermijnen goedkeuren, boeken op "uitgeleend" kunnen zettenbewaken en de innamesinname kunnenvan boeken efficiënt registreren.
3. Doelgroepen
-
Leerlingen (Gebruikers): Willen direct zien of een boek
aanwezig'thuis' is en wanneer zij hun eigenactueleboekenleningenmoetenbekijken.inleveren. -
Mediabeheerders (Admins): Willen
allemet minimale handelingen uitleningenbeherenregistreren enzienproactiefwelke boeken'telaatlaat'zijnmeldingeningeleverd.inzien.
4. Gewenste Functionaliteiten (Must-Haves)
Voor het MVP verwachten wij de volgende functies:
-
Authenticatie:
Inlogscherm
voormetleerlingen en personeel.Rol-rol-verdeling:student(user)enlibrarian(admin).
-
Voor Leerlingen:
Dashboard met
overzicht vaneigenlopendeactieve leningen envorig jaar geleende boeken.historie.- Doorzoekbare
Catalogus-overzichtcatalogus (Zoeken opTitel, Auteur,Categorie: Fictie/Non-Fictie)Categorie).
status 'Beschikbaar' heeft).Mogelijkheid om eenKnop "Leenaanvraag"ReserveerteBoek"doen(alleenvoormogelijkeenindienbeschikbaarboekboek.
-
Voor Mediabeheerders (Admins):
ElkeUitleentermijn beheer: Mogelijkheid om bij uitgifte de inleverdatum aan te passen (default 4 weken).- Snel-registratie: Een dedicated "Uitleen-scherm" waar via een dropdown (of zoekveld) een leerling en boek
datgekoppeldiskunnenuitgeleend heeft een maximale uitleentermijn. Deze termijn wordt door de admins per book vastgesteld waarbij standaard een defautl van 4 weken wordt gebruikt.worden. HetDashboard:registrerenOverzicht vaneen uitlening moet vlot en efficient gaan, alles op een scherm met zoveel mogelijk default waarden en duidelikje invulvelden die snel kunnen worden ingevuld.Dashboard metalle actieveuitleningenuitleningen,vangesorteerddeophele school.inleverdatum.- Statusbeheer:
Detailpagina
per lening om deze te verwerken (Status: Ingediend / Uitgeleend / Ingeleverd / Te laat). Mogelijkheidom een"Staatlening af te ronden of de staat van hetboek"boeknotitie(notitie)toebij tevoegen (bijv: "ezelsoren op pagina 10").werken.
5. Technische Eisen & Randvoorwaarden
- PHP
Taal8.x &Database:PHP (8.x) en MySQL. Architectuur:MySQL: Gebruik van PDO voor database-interactie.- Security: Verplichte
voorincludespassword_hashheader/footeraccounts,enPrepareddatabase-configuratie.
tegen XSS.Veiligheid:Alle zoekopdrachten en form-inputs moeten beveiligd zijnStatements tegen SQL-injection(Prepared Statements)enXSS (htmlspecialchars).Data Integriteit:Validatie:ElkeEenleningboekmoetkangekoppeldnietzijnwordenaanuitgeleendeenalsbook_iddeenhuidigeeenstatususer_id'Uitgeleend' is.- Architectuur: Logische mappenstructuur (
Relationalbijv.Database)/assets,/includes,/admin).
6. Budget en Planning
Tijdsinvestering:
Geschat op40-45uur.uur.Oplevering:
BinnenWerkend MVP inclusief testrapport binnen 5 weken.
7. Gevraagde actie
Lever eenFunctioneel Ontwerp.Lever eenTechnische Schets(ERD met boeken en leningen + Wireframes).Realiseer de applicatie en lever de broncode op via Git.
BIJLAGE: Specifieke Design & InterfaceUI Wensen
De
- Status Labels: Gebruik visuele indicators (badges) in de tabel: Beschikbaar (Groen), Uitgeleend (Grijs), Te laat (Rood).
- UX voor Admins: Het uitleenscherm moet
"Huiselijk'keyboard-friendly'maarzijnModern"(tabbenzijn.tussenDenkvelden) voor snelle verwerking aaneendeinterface die ook voor jongere leerlingen begrijpelijk is.- balie.
- Split-Screen
StatusDetail:Badges voor Boeken:InOp decatalogus moet de beschikbaarheid direct zichtbaar zijn:Beschikbaar:Groen label.Uitgeleend:Grijs label.TE LAAT:Fel Rood (#D32F2F).
Navigatie (Header):
boek:Een strakke navigatiebalk bovenin de pagina. Aan de rechterkant de naam van de leerling met een icoondetailpagina van eenboek.
Boek Detail Weergave (70/30 Split):
boekinformatie,Gebruik Flexbox of Grid voorlinks delay-out:- rechts
- de
Links (70%):De flaptekstuitleenhistorie vanhetdat specifieke boeken(wiede auteur-informatie. Rechts (30%):De "Leen-box" met de knop omhad hetboek aan te vragen en informatie over de huidige status.
- de
De "Librarian Filter":De beheerder moet de lijst met uitleningen kunnen filteren via URL parameters (wanneer?)GET:"Toon Alles""Alleen Te Laat""Wacht op Goedkeuring"
.
Extra Tips voor jouw Examenportfolio
Waarom is deze opdracht geschikt voor je examen?
om de status 'Te laat' te triggeren.ComplexiteitDatum-logica (W3):JeLaathebtineenjeN-op-Mcoderelatieziennodighoe je met PHP de 'inleverdatum' berekent (ofvandaageen+koppeltabel28'Leningen') tussen Boekendagen) enGebruikers.hoeDitjetoontditeenvergelijkthoogmetniveaudevanhuidigedatabase-inzichtdatumaan.SQL ParametersJoins (W3):HetInbouwenjevanAdmin Dashboard gebruik jeSQL JOINsom gegevens uit dezoekfunctietabellengebruikers,boekenenleningenindeééncatalogus (WHERE titel LIKE ?) is een perfecte manier om veilig programmeren met parametersoverzicht tebewijzen.Testen (W4):Een ideaal testscenario: "Kan een leerling een boek reserveren dat al door iemand anders is uitgeleend?"tonen.