-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Das Wiki wird benutzt, um die Aufgabenstellungen und Design-Entscheide zu dokumentieren.
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:
- Erstelle einen neuen, leeren Workspace
- Installiere über die Update-Site von Biersack die git-Tools herunter
- Clone dieses Projekt aus github.
- Lass Dir die Sache mit maven von mir erklären
- Lass Dir die Sache mit SCM, CVS und git von mir erklären
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.
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.
Modelliere Dein Datenmodell mit JPA-Entitäten im package .../model.
Generiere anschliessend das Modell in die Datenbank.
Diese Aufgabe ist vermutlich nicht so einfach:
- Wie geht das mit den JPA-Tools?
- Wo ist die Datenbank?
- Frameworks: was braucht es im Maven für Dependencies, damit alles da ist, was es braucht? Hibernate...
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
Starte den H2-Datenbrowser und fülle die Datenbank ab.
Ü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.
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
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.
Implementiere die Erkentnisse aus Aufgabe 8.
Mehr fällt mir grad nicht ein... :-)