Page 1

Milan Tocan Niels Desmet

GIP: Ozeka Interface Technisch Ontwerp

Begeleiders: M . De Schutter N. Bauwens A. Van Landuyt


Koninklijk Atheneum Oudenaarde

Contents 1. Voorwoord ........................................................................................................................... 5 2. ERD ...................................................................................................................................... 6 1) Leden ........................................................................................................................................... 7 2) Login ............................................................................................................................................ 8 3) Zwemslagen................................................................................................................................. 9 4) Wedstrijden ............................................................................................................................... 10 5) Wedstrijd_nummer ................................................................................................................... 11 6) Inschrijvingen ............................................................................................................................ 12 7) Records ...................................................................................................................................... 13 2. Schermen ........................................................................................................................... 14 1) Loginscherm.php ....................................................................................................................... 14 2) admin_index.php....................................................................................................................... 15 3) Zwemslagen.php ....................................................................................................................... 16 4) Wedstrijden.php........................................................................................................................ 17 5) Wedstrijd_nummers.php .......................................................................................................... 18 6) Wedstrijden_zwemmers.php .................................................................................................... 19 7) Wedstrijden_schema.php ......................................................................................................... 20 8) Uitslag.php ................................................................................................................................ 21 9) Historiek.php ............................................................................................................................. 22 10) loginbeheer.php ...................................................................................................................... 23 11) Wedstrijden.php - Hoofdscherm (gebruikers, zie “GIP: website Ozeka”)............................... 24 12) Wedstrijden.php – Wedstrijdschema ..................................................................................... 25 13) Wedstrijden.php – Bevestiging ............................................................................................... 26 14) Clubrecords ............................................................................................................................. 27

GIP: Ozeka Interface – Technisch Ontwerp 3


Koninklijk Atheneum Oudenaarde

Technisch Ontwerp

GIP: Ozeka Interface – Technisch Ontwerp 4


Koninklijk Atheneum Oudenaarde

1. Voorwoord Wij hebben deze applicatie gemaakt in opdracht van de zwemclub OZEKA. Het was de bedoeling om het maken en beheren van wedstrijden, uitslagen en clubrecords veel makkelijker te maken tot op het punt het vrijwel te automatiseren. Wat kan onze online applicatie nu concreet doen: •

Wedstrijden aanmaken

Wedstrijdnummers voor een wedstrijd aanmaken

Zwemmers selecteren voor wedstrijden

Uitslagen updaten door een CSV bestand te uploaden

Automatisch updaten van clubrecords

Login gegevens aanmaken, aanpassen en verwijderen

Ook hebben we nog een kleine applicatie gemaakt om de CSV bestanden die nodig zijn om de uitslagen en clubrecords te updaten kleiner te maken, en het uploadproces zo veel sneller te laten gaan Voor de werking van de pagina’s beter te begrijpen, gelieve het SQL-boek te raadplegen. We hebben veel geleerd van deze GIP, niet alleen op het gebied van programeren, maar ook samenwerken en communicatie in een groepsproject, wat heel belangrijk is voor later. Met dank aan: o

Ann Van Landuyt

o

Jaron Viaene

o

Jochen de Scheerder

GIP: Ozeka Interface – Technisch Ontwerp 5


Koninklijk Atheneum Oudenaarde

2. ERD

*Er is ook nog een relatie tussen “wedstrijdnummer” uit de tabel “Inschrijvingen” en “Wedstrijdnr_ID” uit de tabel “Wedstrijd_Nummer”, deze relatie is enkel mogelijk met behulp van SQL, en kan niet worden afgebeeld in Access.

GIP: Ozeka Interface – Technisch Ontwerp 6


Koninklijk Atheneum Oudenaarde

1) Leden

*enkel de gegevens die wij gebruiken voor de applicatie zijn hier ingevuld Veldnaam

Omschrijving

Veldtype

Veldlengte

Eigenschappen

Licnr

uniek Licentienummer van een zwemmer

Tekst

12

Primaire sleutel

Naam

de Naam van een zwemmer

Tekst

50

Voornaam

de Voornaam van een zwemmer

Tekst

50

Geslacht

Het geslacht van een zwemmer

Tekst

1

Categorie

Tot welke categorie de zwemmer behoord

Tekst

50

GIP: Ozeka Interface – Technisch Ontwerp 7


Koninklijk Atheneum Oudenaarde

2) Login

Veldnaam

Omschrijving

Veldtype

Veldlengte

Eigenschappen

Licnr

uniek licentienummer van een zwemmer

Tekst

12

Primaire sleutel, 1 op 1 relatie met tabel “Leden”

Gebruikersnaam

Gebruikersnaam van een zwemmer/admin om in te loggen

Tekst

50

Paswoord

het Paswoord van een zwemmer/admin

Tekst(MD5)

50

IsAdmin

Is dit een zwemmer of een admin?

Checkbox

/

SessieID

Loginsessie, voor het loginsysteem

Tekst(MD5)

100

Lease

Leasetijd, voor het loginsysteem

Tekst(MD5)

100

GIP: Ozeka Interface – Technisch Ontwerp 8


Koninklijk Atheneum Oudenaarde

3) Zwemslagen

Veldnaam

Omschrijving

Veldtype

Veldlengte

Slag_ID

uniek nummer voor een zwemslag

Autonummering

Slag

Naam van de zwemslag

Tekst

50

Afk

Afkorting voor de zwemslag

Tekst

50

Eigenschappen Primaire sleutel

GIP: Ozeka Interface – Technisch Ontwerp 9


Koninklijk Atheneum Oudenaarde

4) Wedstrijden

Veldnaam

Omschrijving

Veldtype

Veldlengte

Wedstrijd_ID

Uniek nummer voor iedere wedstrijd

Autonummering

Datum

De datum van de wedstrijd

Datum/Tijd

Plaats

Waar de wedstrijd is

Tekst

50

Vertrek

Hoe laat de zwemmers vertrekken vanaf het zwembad in Oudenaarde

Tekst

50

Wedstrijd_Start

Hoe laat de wedstrijd start

Tekst

50

Inzwemmen

Wanneer de zwemmers zich mogen opwarmen in het zwembad

Tekst

50

Categorie

Voor welkse categorie de wedstrijd is bedoeld

Tekst

50

inschrijfdatum

Na deze datum kunnen zwemmers zich niet meer inschrijven

Datum/Tijd

Eigenschappen Primaire sleutel

GIP: Ozeka Interface – Technisch Ontwerp 10


Koninklijk Atheneum Oudenaarde

5) Wedstrijd_nummer

Veldnaam

Omschrijving

Veldtype

Wedstrijdnr

Uniek nummer voor iedere wedstrijdnummer

Autonummering

Nr

het letterlijke wedstrijdnummer voor in een wedstrijd

Numeriek

Wedstrijd_ID

voor welke Numeriek wedstrijd deze wedstrijdnummers zijn

Verwijsleutel naar de tabel “Wedstrijden”

Slag

Welke zwemslag er wordt gezwommen voor die wedstrijdnummer

Verwijssleutel naar de tabel “Zwemslagen”

Numeriek

Veldlengte

Eigenschappen Primaire sleutel

GIP: Ozeka Interface – Technisch Ontwerp 11


Koninklijk Atheneum Oudenaarde

6) Inschrijvingen

Veldnaam

Omschrijving

Veldtype

Inschrijving_ID

Uniek nummer voor iedere inschrijving

Autonummering

Wedstrijd_ID

Voor welke wedstrijd deze inschrijving is

Numeriek

50

Verwijssleutel naar de tabel “Wedstrijden”

Numeriek

50

Verwijssleutel naar de tabel “Wedstrijd_Nummer”

Verwijssleutel naar de tabel “Leden”

Wedstrijdnummer Voor welke wedstrijdnummer deze inschrijving is

Veldlengte

Eigenschappen Primaire sleutel

Zwemmer

Voor welke zwemmer deze inschrijving is

Tekst

50

Bevestiging

Of de zwemmer al heeft bestigd voor deze inschrijving

Tekst

1

Uitslag_Min

De uitslag in minuten

Tekst

50

Uitslag_Sec

De uitslag in seconden

Tekst

50

Uitslag_Hond

De uitslag in honderdsten

Tekst

50

GIP: Ozeka Interface – Technisch Ontwerp 12


Koninklijk Atheneum Oudenaarde

7) Records

Veldnaam

Omschrijving

Veldtype

Veldlengte

Records_ID

Uniek nummer voor een clubrecord

Autonummering

Naam

Volledige naam van de recordhouder

Tekst

100

Categorie

Tot welke categorie behoorde de recordhouder

Tekst

50

Slag

Voor welke slag Tekst had de recordhouder een clubrecord

50

Geslacht

Het geslacht van de recordhouder

Tekst

1

Begin_Min

clubrecord in minuten

Tekst

50

Begin_Sec

clubrecord in seconden

Tekst

50

Begin_Hond

clubrecord in honderdsten

Tekst

50

Eigenschappen Primaire sleutel

GIP: Ozeka Interface – Technisch Ontwerp 13


Koninklijk Atheneum Oudenaarde

2. Schermen Hier komt een beknopte beschrijving hoe iedere pagina letterlijk werkt, welke tabellen ze gebruiken uit de database en welke tabellen worden geupdate, verwijderd, …

1) Loginscherm.php

Op deze pagina moet je inloggen met je logingegevens. Wanneer op de knop “Login” wordt geklikt, zal de applicatie controleren of de gebruikersnaam en het wachtwoord hetzelfde zijn als uit de tabel “Login”. Wanneer de gegevens overeenstemmen, dan kan de applicatie verder gebruikt worden, en worden de velden “SessieID” en “Lease” uit de tabel “Login” geupdate. Anders zal je een foutmelding krijgen.

GIP: Ozeka Interface – Technisch Ontwerp 14


Koninklijk Atheneum Oudenaarde

2) admin_index.php

Je gebruikersnaam zal automatisch worden afgebeeld eens je ingelogd bent, deze komt uit de tabel “Login”. Wanneer op het woord “Uitloggen” wordt geklikt, dan zullen de velden “SessieID” en “Lease” leeggemaakt worden uit de tabel “Login”, en kom je terug op de Login-pagina. Klik op één van de blauwe navigatieknoppen om naar de betrokken pagina te navigeren.

GIP: Ozeka Interface – Technisch Ontwerp 15


Koninklijk Atheneum Oudenaarde

3) Zwemslagen.php

Het toevoegen en wijzigen op deze pagina gebeurt allemaal in de tabel “Zwemslagen”, maar wanneer je een zwemslag wilt verwijderen, controleerd de applicatie of er bestaande Wedstrijdnummers zijn in de tabel “Wedstrijd_Nummer” die deze zwemslag gebruiken. Als er Wedstrijdnummers zijn die deze zwemslag gebruiken, dan zal je die zwemslag niet kunnen verwijderen.

GIP: Ozeka Interface – Technisch Ontwerp 16


Koninklijk Atheneum Oudenaarde

4) Wedstrijden.php

Toevoegen en wijzigen gebeurt in de tabel “Wedstrijden”, maar wanneer je een wedstrijd wil verwijderen zal hij niet controleren of deze wedstrijd wedstrijdnummers en inschrijvingen heeft, maar hij zal deze gegevens trapsgewijs verwijderen (eerst worden alle inschrijvingen uit de tabel “Inschrijvingen” voor deze wedstrijd verwijdert, dan alle wedstrijdnummers uit de tabel “Wedstrijd_Nummer” en dan uiteindelijk de wedstrijd uit de tabel “Wedstrijden” zelf)

GIP: Ozeka Interface – Technisch Ontwerp 17


Koninklijk Atheneum Oudenaarde

5) Wedstrijd_nummers.php

Toevoegen en verwijderen gebeurt in de tabel “Wedstrijd_Nummer”, bij het verwijderen van een wedstrijdnummer gebeurt er een controle die kijkt of er nog bestaande inschrijvingen zijn in de tabel “Inschrijvingen”. Als er nog inschrijvingen zijn, dan zal je dat wedstrijdnummer niet kunnen verwijderen.

GIP: Ozeka Interface – Technisch Ontwerp 18


Koninklijk Atheneum Oudenaarde

6) Wedstrijden_zwemmers.php

Hier selecteer je de zwemmers die mogen meezwemmen in de gekozen wedstrijd. Deze lijst met zwemmers komt uit de tabel “Leden”. Wanneer op “OK” wordt geklikt, dan worden alle zwemmers die geselecteerd zijn doorgestuurd naar de volgende pagina, het wedstrijdschema.

GIP: Ozeka Interface – Technisch Ontwerp 19


Koninklijk Atheneum Oudenaarde

7) Wedstrijden_schema.php

De zwemslaggegevens worden gehaald uit de tabellen “Wedstrijd_nummers” en de tabel “Zwemslagen”, de volledige naam en het veld “Bevestiging” worden gehaald uit de tabel “Leden”, en de checkboxen die geselecteerd worden komen terecht in de tabel “Inschrijvingen”.

GIP: Ozeka Interface – Technisch Ontwerp 20


Koninklijk Atheneum Oudenaarde

8) Uitslag.php

Om uitslagen van wedstrijden en de clubrecords te updaten, moet je een CSV-bestand uploaden. Een CSV-bestand is een bestand waar alle waarden gescheiden zijn door een komma. Deze pagina gebruikt de php functie “explode” dat alle gegevens die gescheiden zijn door een komma in een array steekt. Bv.:

$string = “1,2,3,4,5”; $array = explode($string, “,”);

$array[0] zal dan 1 zijn, $array[1] zal dan 2 zijn, … Alle inschrijvingen die overeenkomen met het licentienummer en het wedstrijdnummer uit het CSVbestand zullen worden geupdate met de juiste resultaten. De tijden van die wedstrijdnummers komen dan ook in de tabel “Records” terecht.

GIP: Ozeka Interface – Technisch Ontwerp 21


Koninklijk Atheneum Oudenaarde

9) Historiek.php

Op deze pagina selecteer je een zwemmer en een zwemslag, en de applicatie zoekt dan door de tabel “Inschrijvingen” en de tabel “Wedstrijden” voor alle uitslagen en de wedstrijd voor die zwemmer met die zwemslag.

GIP: Ozeka Interface – Technisch Ontwerp 22


Koninklijk Atheneum Oudenaarde

10) loginbeheer.php

Hier kan men zwemmers selecteren en hun paswoord aanpassen, met de checkbox “IsAdmin?” kan de administrator andere administrators aanmaken. Deze aanpassingen worden allemaal opgeslagen in de tabel “Login”.

GIP: Ozeka Interface – Technisch Ontwerp 23


Koninklijk Atheneum Oudenaarde

11) Wedstrijden.php - Hoofdscherm (gebruikers, zie “GIP: website Ozeka”)

Klik hier

Dit is het hoofdscherm van de wedstrijden voor gewone gebruikers. Al deze wedstrijdgegevens komen rechtstreeks uit de tabel “Wedstrijden”. Via de link “Klik” krijgen we een pagina met meer wedstrijdinformatie

GIP: Ozeka Interface – Technisch Ontwerp 24


Koninklijk Atheneum Oudenaarde

12) Wedstrijden.php – Wedstrijdschema

Deze pagina ziet er vrijwel hetzelfde uit als het wedstrijdschema uit het Administrator gedeelte, maar er zijn een paar belangrijke verschillen. In tegenstelling tot het wedstrijdschema uit het administratorgedeelte worden de zwemmers op deze pagina direct uit de database gehaald, terwijl op het Administrator schema worden de licentienummers van de geselecteerde zwemmers doorgestuurd via de pagina “Wedstrijden_zwemmers.php” Het ander verschil is de knop “Schrijf in”, waarmee gebruikers komen op het laatste deel van deze pagina, om te bevestigen om zich in te schrijven.

GIP: Ozeka Interface – Technisch Ontwerp 25


Koninklijk Atheneum Oudenaarde

13) Wedstrijden.php – Bevestiging

Het persoonlijk paswoord dat hier wordt ingegeven moet overeenstemmen met de zwemmer en zijn paswoord in de tabel “Login”, wanneer deze overeenstemmen, dan is de zwemmer ingeschreven. Tenzij we voorbij de inschrijfdatum zijn, dan kan de zwemmer zich niet meer inschrijven.

GIP: Ozeka Interface – Technisch Ontwerp 26


Koninklijk Atheneum Oudenaarde

14) Clubrecords

Op deze pagina kan je de clubrecords zien, je selecteerd een geslacht, en de applicatie zal alle clubrecords filteren. Je zal altijd de meest recente clubrecords te zien krijgen.

GIP: Ozeka Interface – Technisch Ontwerp 27

Ozeka_recordbeheer Technisch Ontwerp  

Begeleiders: M . De Schutter N. Bauwens A. Van Landuyt Milan Tocan Niels Desmet 5) Wedstrijd_nummer ...........................................