mirror of
https://github.com/Alvin-Zilverstand/school.git
synced 2026-03-07 05:52:46 +01:00
add readme
This commit is contained in:
18
projects/year_02/challenge_13/README.md
Normal file
18
projects/year_02/challenge_13/README.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# Challenge 13: Messy Coder Verbeterd - Code Refactoring en Kwaliteitsverbetering
|
||||
|
||||
Dit project, getiteld "Messy-coder-Verbeterd", had als hoofddoel het refactoren en significant verbeteren van een bestaande codebase. Deze codebase, oorspronkelijk voor een portfolio website van "Lorenzo von Matterhorn", werd gekenmerkt als "rommelig".
|
||||
|
||||
## Projectdoelstellingen
|
||||
|
||||
De kern van deze challenge was het transformeren van een minder optimale codebasis naar een schone, efficiënte en onderhoudbare applicatie. Dit omvatte de volgende typische aspecten van codeverbetering:
|
||||
|
||||
* **Code Opschoning:** Het verwijderen van overbodige code, commentaar en duplicaties om de codebase te stroomlijnen.
|
||||
* **Structuurverbetering:** Het reorganiseren van bestanden, mappen en componenten voor een logischere en intuïtievere architectuur.
|
||||
* **Leesbaarheid:** Het toepassen van consistente naamgevingsconventies en codeerstijlen om de leesbaarheid en begrijpelijkheid te verhogen.
|
||||
* **Prestatieoptimalisatie:** Het identificeren en oplossen van knelpunten die de snelheid of efficiëntie van de website beïnvloeden.
|
||||
* **Onderhoudbaarheid:** Het vereenvoudigen van complexe logica en het implementeren van best practices om toekomstig onderhoud en uitbreiding te vergemakkelijken.
|
||||
* **Foutafhandeling:** Het verbeteren van de robuustheid van de applicatie door betere foutdetectie en -afhandeling.
|
||||
|
||||
## Achtergrond
|
||||
|
||||
De portfolio website diende als een praktische casestudy. Het project bood de gelegenheid om vaardigheden in code-analyse, refactoringtechnieken en kwaliteitsborging te ontwikkelen, en benadrukte het belang van schone code en een goed gestructureerde applicatie voor duurzaam software-ontwikkeling.
|
||||
68
projects/year_02/challenge_14/README.md
Normal file
68
projects/year_02/challenge_14/README.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# Challenge 14: Magazijn App Plannen - Gedetailleerd Ontwerp
|
||||
|
||||
Dit project omvat de gedetailleerde planning en het conceptuele ontwerp van een magazijn-app. Deze app is specifiek bedoeld voor het beheer van uitleenbare materialen aan studenten en docenten binnen een onderwijsinstelling. Het hoofddoel is het organiseren en stroomlijnen van het uitleenproces, om zo verlies te minimaliseren en het voorraadbeheer te optimaliseren.
|
||||
|
||||
## Belangrijkste Functionaliteiten van de App
|
||||
|
||||
De app is ontworpen met de volgende kernfunctionaliteiten:
|
||||
|
||||
* **Gebruikersbeheer:** Ondersteuning voor verschillende gebruikersrollen (beheerder, medewerker, gebruiker) met bijbehorende rechten.
|
||||
* **Itembeheer:** Mogelijkheid om materialen toe te voegen, aan te passen en te verwijderen uit de inventaris.
|
||||
* **Uitleensysteem:** Een intuïtief systeem voor het registreren van het uitlenen en terugbrengen van materialen.
|
||||
* **Status-tracking:** Realtime inzicht in de status van elk item (uitgeleend, geretourneerd, te laat).
|
||||
* **Notificaties:** Geautomatiseerde berichten aan gebruikers, bijvoorbeeld ter herinnering aan een naderende retourdatum.
|
||||
* **Boetesysteem:** Een mechanisme voor het beheren van boetes voor te laat ingeleverde materialen.
|
||||
|
||||
## Database Opbouw (Entity-Relationship Diagram - ERD)
|
||||
|
||||
De database is conceptueel ontworpen met de volgende entiteiten en hun onderlinge relaties:
|
||||
|
||||
### Entiteiten en Attributen
|
||||
|
||||
1. **Gebruiker**
|
||||
* `gebruiker_id` (Primaire Sleutel)
|
||||
* `gebruikersnaam`
|
||||
* `wachtwoord`
|
||||
* `e-mail`
|
||||
* `rol` (beheerder, medewerker, gebruiker)
|
||||
* `registratiedatum`
|
||||
|
||||
2. **Item**
|
||||
* `item_id` (Primaire Sleutel)
|
||||
* `naam`
|
||||
* `beschrijving`
|
||||
* `categorie`
|
||||
* `beschikbaarheid` (boolean)
|
||||
* `locatie`
|
||||
|
||||
3. **Uitleen**
|
||||
* `uitleen_id` (Primaire Sleutel)
|
||||
* `gebruiker_id` (Vreemde Sleutel)
|
||||
* `item_id` (Vreemde Sleutel)
|
||||
* `uitleendatum`
|
||||
* `retourdatum`
|
||||
* `status` (uitgeleend, geretourneerd, te laat)
|
||||
|
||||
4. **Notificatie**
|
||||
* `notificatie_id` (Primaire Sleutel)
|
||||
* `gebruiker_id` (Vreemde Sleutel)
|
||||
* `bericht`
|
||||
* `datum`
|
||||
* `gelezen` (boolean)
|
||||
|
||||
5. **Boete**
|
||||
* `boete_id` (Primaire Sleutel)
|
||||
* `uitleen_id` (Vreemde Sleutel)
|
||||
* `bedrag`
|
||||
* `betaald` (boolean)
|
||||
|
||||
### Relaties
|
||||
|
||||
* Een **Gebruiker** kan meerdere **Uitleen**-records hebben (leent meerdere spullen).
|
||||
* Een **Item** kan in meerdere **Uitleen**-records voorkomen (wordt door meerdere mensen geleend).
|
||||
* Elke **Uitleen** is gekoppeld aan één **Gebruiker** en één **Item**.
|
||||
* Een **Gebruiker** kan meerdere **Notificaties** ontvangen.
|
||||
* Een **Notificatie** is gekoppeld aan één **Gebruiker**.
|
||||
* Een **Uitleen** kan één **Boete** hebben (indien het item te laat is ingeleverd).
|
||||
|
||||
Dit gedetailleerde plan dient als blauwdruk voor de implementatie van de magazijn-app in toekomstige fases.
|
||||
20
projects/year_02/challenge_15/README.md
Normal file
20
projects/year_02/challenge_15/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Challenge 15: Magazijn App Maken - Implementatie van het Uitleensysteem
|
||||
|
||||
Dit project markeert de implementatiefase van de magazijn-app, waarvan het gedetailleerde plan is opgesteld in Challenge 14. Het hoofddoel is het ontwikkelen van een volledig functionele applicatie voor het efficiënt beheren en uitlenen van materialen binnen een schoolmagazijn.
|
||||
|
||||
## Implementatie op Basis van Challenge 14
|
||||
|
||||
De ontwikkeling van deze app volgt nauwgezet de specificaties en het ontwerp dat is vastgelegd in `Challenge_14_Magazijn_App_plannen`. Dit omvat de realisatie van de volgende kernfunctionaliteiten:
|
||||
|
||||
* **Gebruikersbeheer:** Implementatie van verschillende gebruikersrollen (beheerder, medewerker, gebruiker) met bijbehorende toegangsrechten.
|
||||
* **Itembeheer:** Functionaliteit voor het toevoegen, aanpassen en verwijderen van materialen uit de inventaris.
|
||||
* **Uitleensysteem:** Ontwikkeling van de logica voor het registreren van uitleen- en retourprocessen.
|
||||
* **Status-tracking:** Weergave van de actuele status van elk item (uitgeleend, geretourneerd, te laat).
|
||||
* **Notificaties:** Integratie van een systeem voor geautomatiseerde herinneringen en meldingen aan gebruikers.
|
||||
* **Boetesysteem:** Implementatie van de functionaliteit voor het beheren en toekennen van boetes voor te laat ingeleverde materialen.
|
||||
|
||||
## Database Integratie
|
||||
|
||||
De applicatie zal worden gekoppeld aan een database die is ontworpen volgens het Entity-Relationship Diagram (ERD) uit Challenge 14. Deze database omvat tabellen voor gebruikers, items, uitleningen, notificaties en boetes, wat zorgt voor een robuuste en gestructureerde opslag van alle relevante gegevens.
|
||||
|
||||
Dit project brengt het conceptuele ontwerp van de magazijn-app tot leven door het te vertalen naar een werkende applicatie die de processen in het schoolmagazijn aanzienlijk zal verbeteren.
|
||||
Reference in New Issue
Block a user