Ich hatte ja damals mal aus dem Bauch heraus zum DevBattle aufgerufen, erinnert ihr euch noch? Die Resonanz war eher bescheiden, kann ich ja auch verstehen, nicht viele setzen sich nach der Arbeit noch hin und entwickeln an private Projekten. Nun denn, ich möchte heute meine Version vorstellen.

Das WM2010 Management

Die Features

Über das WM2010 Management kann man die Spielstände der einzelnen WMSpiele speichern. Für die Finalrunden werden die Gegner aus den Gruppen und den einzelnen Finalspielen automatisch ermittelt und für die nächste Begegnung eingetragen.

Des Weiteren findet man zu jedem Spiel links oberhalb das Datum und die Uhrzeit, an dem das Spiel stattfindet und rechts oben den Ort der  Begegnung.

Die Ergebnisübersicht, zeigt den aktuellen Gruppenstand der Länder in dieser Tabelle.

Die Fenster öffnen sich mit einem FadeEffekt und sind rahmenlos im eigenen Design gehalten und können mittels Drag & Drop auf dem Desktop verschoben werden. Das Schließen eines  Fensters erfolgt natürlich auch über ein Fading.

Die Applikation kann geschlossen und minimiert werden. Ein Klick auf den Ball oben rechts führt zurück zur Startseite. Eigentlich nichts dolles, musste aber implementiert werden, da kein vorausgewählter Style verwendet wurde.

Der Blick unter die Motorhaube

In der damaligen Ankündigung ging es ja darum, nicht nur das Tool zu entwickeln, sondern auch um das Beschreiben der Vorgehensweise. Hier möchte ich gerne meine Herangehensweise darstellen.

Die Planung

Die Planung begann recht früh, nämlich sogleich nach der Idee im März. (Viel Zeit blieb ja nicht). Ich aggregierte dazu erstmal Informationen rund um die Fussballweltmeisterschaft. Die am besten geeignete Wissensquelle fand ich – wie so fast immer – bei Wikipedia.

Das Datenbankdesign

Das Design der Datenbank plante ich schon recht früh, hab hab nicht wirklich alles verwendet (Spieler, Position). Hier das ADO-Modell:


SoftwareDesign

ADO Framework / Managementkomponente

In der Managementkomponente findet der Zugriff, über das ADO Framework, auf die SQL Datenbank statt. Hier stehen die CRUD Operationen zu den einzelnen Entities bereit.

Controller

Der Controller bereitet die Operationen für den WM2010 Manager auf und bietet für die Implementierung Methoden zum Ermitteln und Speichern von Datensätzen.

CodeBehind

In den vereinzelten CodeBehind-Dateien werden die Daten für die View (XAML) aufbereitet.

XAML

Die Darstellungsschicht. Diese Schicht dient ausschließlich zur Darstellung der Elemente.

GrafikDesign

Die Fahnen, der Rasen (Hintergrundbild), die WMIcons und die anderen kleinen Icons die im Design verwendet werden, werden namentlich in der Applikation mit einer Verlinkung genannt.

Das ganze dann Zusammengeschustert ergibt das gesehene Gesamterscheinungsbild.



Werkzeuge


Versionierung


Zukunft

Angedacht für eine nächsten Version wären zum Beispiel folgende Anpassungen / Features:

  • Refactoring!
  • Tippspielintegration
  • globales Hosten der Managementkomponente
  • das Ermitteln der Ergebnisse über eine API
  • Einbinden der Wikipedia API um Informationen zu Teams und Stadien darzustellen

Denkbar wäre auch das Streamen von Spielen (was der Hammer wäre) – aber hier spielt wahrscheinlich die Obrigkeit (Veranstalter) nicht mit :/


Fazit

Natürlich ist das ganze noch Verbesserungswürdig. Gerade zum Schluss fängt man dann doch an, das eine oder andere Workaround zu implementieren. Aber es gibt ja immer noch die Zeit „danach“, nicht wahr : ) Okay in diesem Falle hat man Zeit bis 2014 zur nächsten WM etwas gescheites draus zu machen, hehe.

Alles in allem kann ich sagen, es hat ne Menge Spass gemacht und plane schon wieder an etwas Neuem. Aber dieses mal ohne den Abgabedruck, jedenfalls wollte ich das in kommenden privaten Projekten vermeiden.

Nun, Euer Feedback ist gefragt, das WM2010 Management ist eingecheckt und kann gerne weiter verwendet werden (auch einzelne CodeTeile natürlich). Eine Erwähnung des Authors wäre natürlich Super  ;)

Ich bin des Weiteren auch gerne zu größeren, privaten Teamprojekte bereit, bei denen ich mein KnowHow entfalten und natürlich auch von anderen lernen kann.

Offen

Leider bekomme ich das nicht gebacken, eine anständige Setup mit den entsprechenden Datensätzen der Datenbank zu bauen, vielleicht kann mir da ja jemand etwas unter die Arme greifen. Den ConnectionString in der app.conf muss auch für den Benutzer funktionieren. Kein Plan :/

Aber bevor ich es geschafft habe, wäre ich natürlich dankbar, wenn derjenige das Projekt auschecken und als Setup bauen könnte. Die SQL Scripte liegen in der Solution unter SolutionItems.

Download:

WM2010 – Management | Das „DevBattle“ Resultat
Markiert in:    

9 thoughts on “WM2010 – Management | Das „DevBattle“ Resultat

  • Juni 16, 2010 bei 14:32
    Permalink

    Schöne App hast du da gebaut. Ich würde dir ja gerne etwas helfen aber ich setze kein GIT ein (und will es auch nicht :-) ) und das auschecken ist über die URL sehr mühsam (zumindest habe ich nichts gefunden wie man das mit einem klick downloaden oder auschecken kann). Kannst du mir hier einen Tipp geben?

  • Juni 17, 2010 bei 08:04
    Permalink

    Hallo Jörg,

    vielen Dank für dein Interesse. Ich verwende dazu TortoiseGit, das bindet sich in das KontextMenu ein, von dem man aus bequem die Quellcodeverwaltung managen kann.

    Aber wenn du sagst das du Git nicht einsetzen willst, welche Art von Versionierung verwendest du denn in deinen privaten Projekten?

  • Juni 17, 2010 bei 16:39
    Permalink

    Ich benutze Subversion ebenfalls mit Tortoise

  • Juni 17, 2010 bei 18:07
    Permalink

    Ja, ich hab mein VServer kürzlich abgegeben, da hätte ich das via Subversion versionieren können. Vielleicht hole ich mir aber irgendwann mal wieder eine Kiste, da könnte ich dann ein SubversionServer aufsetzen. Aber atm brauch ich nicht wirklich einen Server.

  • Pingback: KW24: Neue Betrügerseite, Abmahnungen, WM2010 und mehr - Der Softwareentwickler Blog

  • Juni 18, 2010 bei 11:58
    Permalink

    Kannst du deine Sourcen nicht mal als ZIP zum download irgendwo anbieten?

  • Juni 20, 2010 bei 12:45
    Permalink

    Super, vielen Dank. Ich schau bei Gelegenheit mal rein. Hast du dir mal überlegt es z.B. auf Codeplex.com als OpenSource Projekt zu hosten. Da wäre dann vieles einfacher :-)

    Als Beispiel kannst du dir ja mal mein Projekt dort anschauen
    http://wde.codeplex.com/

    Gruß Jörg

  • Juni 21, 2010 bei 07:58
    Permalink

    Ja Jörg, hehe ich hatte mein Projekt da auch schon registriert, aber noch nicht freigeschalten. Weil ich die Grösse des Projektes nicht wirklich für angemessen hielt, hab ich es gelassen.

Kommentare sind deaktiviert.