Carlo Goessaert, Roy Van Coillie, Siemon Geeroms, Matthias Polet, Roeland Andelhofs Presentatie vakoverschrijdend eindproject 1
Inleiding Situering project Database structuur Java desktop applicatie C#.NET webapplicatie Besluit 2
Sportvereniging Informatie verlenen Data moet correct zijn Taken digitaliseren Personenbeheer Teambeheer Klassementgeneratie statistieken
Bestuursleden Beheer administratie Klant Teamverantwoordelijken Scheidsrechters Spelers Anonieme gebruikers
Teamverantwoordelijken Inschrijven in competities Inschrijven van spelers Teaminformatie bekijken Spelers Persoonlijke gegevens aanpassen Anonieme bezoekers Bekijken van klassementen en andere informatie
Bestuursleden en scheidsrechters Competities genereren Seizoenen beheren Personen beheren Statistieken bekijken en genereren …
Compass staat voor competitie assistent Beeldspraak Weg vinden doorheen de administratieve rompslomp
Een robuuste, grote databank Archiveringsveld => mogelijkheid tot verminderen van database en toch gegevens bewaren (archiveringstool) Ondersteuning van meerdere sporten Veel-op-veel Meerdere teams in één wedstrijd (vb. wielrennen) Veel koppeltabellen TeamSeizoen TeamSeizoenWedstrijd TeamSeizoenSpeler … 8
Competities Seizoenen Teams Wedstrijden en spelers Personen 9
10
Beheer van verenigingsgegevens Beheer personen & locaties Beheer competities & seizoenen Statistieken Events 11 Hoofdformulier
12
13
14
15
Beheer van teams & verantwoordelijken Beheer van wedstrijden Automatisch klassement Statistieken per seizoen 16 Hoofdformulier per seizoen
17
18
Beheer van wedstrijden Scores & verslag Verdiensten Overtredingen Gekwetsten 19 Hoofdformulier scheidsrechters
20
21
22
23
24
25
26
27
28
29
Selectie speeldagen tijdstippen Locatie Uitgesloten datums o.a. Pasen Scheidsrechters 30 Generatie formulier
Opslaan van instellingen Vakantiedagen … Uitbreidingsmogelijkheden 31
Liga Punten Alle teams Tornooi Uitschakeling Boomstructuur Algoritmen 32
Aantal wedstrijden bepalen Aanmaken wedstrijden Toevoegen scheidsrechters & locaties Competitie genereren 33
Doorschuifsysteem Omwisselen wedstrijden Oneven aantal teams = spookteam Bv: Ronde 1: Ronde 2: Team 1Team 2Team 3Team 4 Team 5Team 6Team 7Team 8 Team 1Team 5Team 2Team 3 Team 6Team 7Team 8Team 4 Liga genereren 34
Macht van 2 Initiële wedstrijden opvullen (willekeurig) Winnaars tegen elkaar Tornooi genereren 35
Ondersteuning andere soorten competities Toevoegen scheidsrechters rekening houdend met de locaties Uitbreidingsmogelijkheden 36
Niet verwijderen (bijhouden gegevens) Bestuursleden & Scheidsrechters Controleren op actieve wedstrijden Competities & Seizoenen Locaties Triggers Archiveren 37
Drie soorten gebruikers ondersteunen Gewone bezoeker Speler Teamverantwoordelijke Afzonderlijke rollen, afzonderlijke rechten Gebruik van ajax, dragpanels, accordeonpanels Ontwikkeling van de webapplicatie door Matthias en Roy. 38
39
Drie talen: Nederlands, Frans en Engels Resourcebundles Niet lokaal (niet per pagina) Globaal (elke pagina naar dezelfde bundle) Speciale naamgeving van de items Pagina_type_identificatie vb: VerPag_tab_teams, RegTeam_btn_ploegregistreer 40
Gewone gebruiker Data bekijken Geen verandering mogelijk wegens loginbeperking (rollentabel uit database) Mogelijkheid tot registratie als teamverantwoordelijke 41
42
Enkel weergave huidige competities en seizoenen (niet-gearchiveerd) Soorten competities gerealiseerd met overerving Betere ondersteuning voor uitbreiding 43
OpenID Problemen met integratie oracle Probeer: gebruik maken van asp.NET membership provider Gebruik SQL database wegwerken => OracleProvider implementeren Foutieve naamgeving, tal van fouten, … Uiteindelijk idee verworpen en gemakkelijker geïmplementeerd. Integratie met oracle zeker haalbaar, maar hier tijdsgebrek 44
45
46
47
Opslaan van foto’s in BLOB in de databank Weergave dynamisch ingeladen op Image.aspx pagina Gebruik url van gegenereerde pagina if (speler.FotoObj.Image != null) { imgSpeler.ImageUrl = "~/Image.aspx?fid=" + speler.FotoID; } protected void Page_Load(object sender, EventArgs e) { int id = int.Parse(Request.QueryString["fid"]); Foto f = FotoFacade.GetFoto(id); Response.BinaryWrite(f.Image); } 48
Geslaagde uitkomst Verschillende sporten worden ondersteund Tevreden over de samenwerking Elk heeft een deel voor rekening genomen Aangename groep Meningsverschillen werden snel opgelost 49