Skip to content
Rémy Schumm edited this page May 23, 2013 · 16 revisions

Das Wiki wird benutzt, um die Aufgabenstellungen und Design-Entscheide zu dokumentieren.

(erledigt) Aufgabe 1 - git, Projekt aufsetzen und die Sache mit maven

Bei der ersten Aufgabe geht es darum, das Projekt in Eclipse aufzusetzen und zum ersten Mal zu lernen, wie man mit dem Versionsverwaltugnsystem (SCM) git umgeht.
Ein Projketgerüst existiert schon - hier auf github. Folgende Dinge sind zu tun:

  1. Erstelle einen neuen, leeren Workspace
  2. Installiere über die Update-Site von Biersack die git-Tools herunter
  3. Clone dieses Projekt aus github.
  4. Lass Dir die Sache mit maven von mir erklären
  5. Lass Dir die Sache mit SCM, CVS und git von mir erklären

(erledigt) Aufgabe 2 - ER Datenmodell

Bei dieser Aufgabe geht es darum, das Datenmodell für unser Brain zu überlegen.

Grundsätzlich gibt es folgende Dinge:

Die drei Stages DEV, ACC und PROD. In jeder Stage gibt es die gleichen Server, welche einen Namen, eine URL und eine Nummer haben.
Dann gibt es Deploy-Artefakte, die auf bestimmten Servern installiert werden. Dabei muss sich Brain merken, auf welchem Stage welche Version von welchem Artefakt installiert ist.

Erstelle dazu sein Datenmodell er auf Papier.

(erledigt) Aufgabe 3 - H2 Datenbank

Lese die Dokumentation zur H2 Datenbank, und überlege, wie Du im Workspace eine H2 Datenbank im embeded mode mit File-Persistenz starten kannst. H2 Doku

Das Server-Tool (siehe Doku) lässt Du mit dem Launcher im Eclipse laufen.

(erledigt) Aufgabe 4 - JPA Persistenzschicht

Modelliere Dein Datenmodell mit JPA-Entitäten im package .../model.
Generiere anschliessend das Modell in die Datenbank.

Diese Aufgabe ist vermutlich nicht so einfach:

  1. Wie geht das mit den JPA-Tools?
  2. Wo ist die Datenbank?
  3. Frameworks: was braucht es im Maven für Dependencies, damit alles da ist, was es braucht? Hibernate...

Aufgabe 4a - git Übung

Da die Sache mit git doch nicht sooo einfach ist…
eine kleine Übung (die ich auch machen werde): http://try.github.io/levels/1/challenges/1

Aufgabe 5 - H2 Datenbrowser

Starte den H2-Datenbrowser und fülle die Datenbank ab.

Aufgabe 6 - Service-Schicht

Überlege Dir, was es für brain2 alles für Services braucht und modelliere die Services. Schreibe Unit-Tests für alle Services. Erstelle die REST-Schnittstellen für alle Services.
Inspiration: https://gist.github.com/rschumm/3033403 (insbesondere für Parameter und andere HTTP-Operationen.)
Tipp: Bei Firefox gibt’s ein Plug-In, um RESTful Services zu testen. Suche das Ding und probiere Deine Services damit aus. z.B.: http://restclient.net/
Ps: Das mit den Unit-Tests ist evtl. gar nicht so einfach, bzw. nicht machbar, weil die Services immer auf die Datenbank gehen. Das müssen wir dann mal besprechen.

(erledigt) Aufgabe 7 - GUI Vorbereitung

Mache Dich im Internet schlau, wie die Architektur einer Bootstrap-App mit jQuery Ajax aussehen soll. Vielleicht machen wir das besser zusammen.
Siehe https://github.com/rschumm/brain2/issues/4

Aufgabe 8 - GUI Analyse und Design

Das GUI wird sich leicht ändern, insbesondere braucht es einen Mechanismus, wie eine Version abgespeichert wird.
Überlege Dir dazu Anwendungsfälle und notiere sie hier im wiki: GuiDesign.

Aufgabe 9 - GUI AJAX Implementierungen

Implementiere die Erkentnisse aus Aufgabe 8.

Mehr fällt mir grad nicht ein... :-)