Goedenavond, ik ben bezig met het ontwerpen van een Cursus Management Systeem. Ik zal even uitleggen wat het is. Verschillende organisaties in Nederland organiseren regelmatig gebarentaal-cursussen. Tot nu was het zo dat iedereen op de website per mail naar de juiste organisatie een aanmeldformulier kon aanvragen per post, deze invullen, terug sturen en dan kreeg je paar dagen later per mail bevestiging. Je moest op het formulier dan aangeven of je je wilde aanmelden voor niveau 1, 2 of 3 en als je dan niveau 1 deed moest je nog kiezen tussen maandag en dinsdag bij niveau 2 voor dinsdag of woensdag (etc..). Nja, dit gaat niet altijd meteen goed en het formulier was soms nogal onduidelijk. Zoals je begrijpt een grote administratieve bende. DUS is mij gevraagd of ik misschien een oplossing had. En dat heb ik. We gaan het automatiseren
.
Maargoed, to the point. Het systeem gaat dus gebruikt worden door diverse organisaties, die het allemaal op eigen wijze organiseren (allen op andere datum's, andere locaties etc..). Voor allen ziet het formulier er dus anders uit (probleem 1). Ze moeten dus via het systeem een formulier kunnen opbouwen waarbij je dus ook interactiviteit kunt toevoegen (als gekozen wordt voor niveau 1, dan keuze tussen maandag en dinsdag). (probleem 2). Via hun websie kunnen ze dan linken naar hun eigen formulier (form.php?id=#) en als ze inloggen in het systeem kunnen ze een overzicht van alle nieuwe aanmeldingen. Ook kunnen ze een cursus toevoegen en dan mensen verplaatsen van status 'nieuw' naar een cursus. Verder moeten ze in de overzichten van het formulier kunnen aangeven welke gegevens ze in de kolommen willen zien (bijv. naam, adres, telefoon, email). Deze voorkeuren zijn namelijk voor elke organisatie anders (probleem 3).
Verder moet er bijv. bijgehouden worden wie betaald heeft, of de persoon de toets heeft gedaan (is niet verplicht) en of deze vervolgens is gehaald in 1x of met herkansing of helemaal niet (ook deze velden zijn per organisatie anders). En last but not least, als een cursus voorbij is wordt deze naar het archief geplaatst en vervolgens kunnen alle organisaties in elkaars archief kijken (maar niet wijzigen).
Nouja je begrijpt het, nog een hele klus. Dit is voor mij niet het eerste grote project in PHP, maar wel het eerste project dat ik een beetje gestructueerd wil aanpakken. Voorheen was het zo dat ik een paar tabellen maakte, begon met scripten en tussendoor nog veel veranderde wat weer in het script veranderd moest worden bla bla bla. Nu hoopte ik eigenlijk of jullie nog tips hadden.
Even kort: Een organisatie moet dus velden kunnen toevoegen (en aangeven of ze wel of niet in het formulier moeten). Dan moeten ze per overzicht van een cursus kunnen opslaan welke gegevens er in het overzicht te zien zijn. Dus een tabel organisaties, velden, cursussen en deelnemers. In de tabel cursussen wordt dan voor elke organisatie een cursus 0 gemaakt waar de instellingen instaan voor het overzicht van de nieuwe aanmeldingen.
Ben ik zo goed op weg, of hoe pak je zo'n databaseontwerp nou aan?
Maargoed, to the point. Het systeem gaat dus gebruikt worden door diverse organisaties, die het allemaal op eigen wijze organiseren (allen op andere datum's, andere locaties etc..). Voor allen ziet het formulier er dus anders uit (probleem 1). Ze moeten dus via het systeem een formulier kunnen opbouwen waarbij je dus ook interactiviteit kunt toevoegen (als gekozen wordt voor niveau 1, dan keuze tussen maandag en dinsdag). (probleem 2). Via hun websie kunnen ze dan linken naar hun eigen formulier (form.php?id=#) en als ze inloggen in het systeem kunnen ze een overzicht van alle nieuwe aanmeldingen. Ook kunnen ze een cursus toevoegen en dan mensen verplaatsen van status 'nieuw' naar een cursus. Verder moeten ze in de overzichten van het formulier kunnen aangeven welke gegevens ze in de kolommen willen zien (bijv. naam, adres, telefoon, email). Deze voorkeuren zijn namelijk voor elke organisatie anders (probleem 3).
Verder moet er bijv. bijgehouden worden wie betaald heeft, of de persoon de toets heeft gedaan (is niet verplicht) en of deze vervolgens is gehaald in 1x of met herkansing of helemaal niet (ook deze velden zijn per organisatie anders). En last but not least, als een cursus voorbij is wordt deze naar het archief geplaatst en vervolgens kunnen alle organisaties in elkaars archief kijken (maar niet wijzigen).
Nouja je begrijpt het, nog een hele klus. Dit is voor mij niet het eerste grote project in PHP, maar wel het eerste project dat ik een beetje gestructueerd wil aanpakken. Voorheen was het zo dat ik een paar tabellen maakte, begon met scripten en tussendoor nog veel veranderde wat weer in het script veranderd moest worden bla bla bla. Nu hoopte ik eigenlijk of jullie nog tips hadden.
Even kort: Een organisatie moet dus velden kunnen toevoegen (en aangeven of ze wel of niet in het formulier moeten). Dan moeten ze per overzicht van een cursus kunnen opslaan welke gegevens er in het overzicht te zien zijn. Dus een tabel organisaties, velden, cursussen en deelnemers. In de tabel cursussen wordt dan voor elke organisatie een cursus 0 gemaakt waar de instellingen instaan voor het overzicht van de nieuwe aanmeldingen.
Ben ik zo goed op weg, of hoe pak je zo'n databaseontwerp nou aan?