My 2cts on software architecture, digital transformation, and other concerns

Ich hatte bereits im Februar angekündigt, dass ich hier ein paar Artikel über SpringRoo schreiben würde, und nutze nun das Erscheinen des neuen Meilensteins um damit zu beginnen.

Die Idee

Vor ein paar Tagen ist endlich SpringRoo 1.2.0.M1 erschienen, welches der erste sog. Milestone der nächsten Version von SpringRoo ist. Das Besondere hieran ist die Unterstützung des Repository- oder auch DAO-Models, welches im Gegensatz zu dem sog. ActiveRecord-Model steht. Bisher verwendete SpringRoo zwingend das ActiveRecord-Model. Dank dieser Neuerung kann SpringRoo nun endlich in Kombination mit Spring Data JPA genutzt werden, was viele Vorteile und einige neue Möglichkeiten gerade im Bereich der Finder eröffnet.
pass::[more] Mein Ziel ist anhand einer Beispiel-Anwendung/ Demo-App die Möglichkeiten von SpringRoo zu demonstrieren und Workarounds für bekannte Unschönheiten aufzuzeigen.

Auf Grund persönlicher Präferenzen wird die Demo-App eine serverbasierte Fotoverwaltung, die sowohl von mobilen Endgeräten als auch von Desktop-PCs genutzt werden kann. Als Feature sollen die mobilen Endgeräte Fotos und Videos an die Anwendung übermitteln können, so dass diese direkt für andere Nutzer verfügbar sind.


Anforderungen

Hier die bisherigen Anforderungen:

  1. Die Anwendung muss Fotos aus einem Dateisystemordner importieren können
  2. Die Anwendung muss während des Imports Minibilder/ Thumbnails der Originale erstellen, die eine maximale Kantenlänge von 250px haben
  3. Die Anwendung muss während des Imports Vorschaubilder/ Previews der Originale erstellen, die eine maximale Kantenlänge von 1280px haben
  4. Ein Foto hat folgende Eigenschaften
    1. Titel
    2. Beschreibung
    3. Thumbnail-Datei (Fotodatei)
    4. Vorschau-Datei (Fotodatei)
    5. Original-Datei (Fotodatei)
    6. Importdatum
    7. Erstellungsdatum
  5. Eine Fotodatei hat folgende Eigenschaften
    1. Dateisystemordner
    2. dateiname
    3. Breite
    4. Höhe
  6. Die Anwendung soll die EXIF-Daten eines Fotos anzeigen können
  7. Ein Foto muss keinem oder beliebig vielen Stichwörtern zugeordnet werden können
  8. Ein Foto muss keiner oder beliebig vielen Personen zugeordnet werden können, die auf dem Photo zu sehen sind
  9. Ein Foto muss keinem oder beliebig vielen Events zugeordnet werden können
  10. Ein Event hat folgende Eigenschaften
    1. Name
    2. Von-Datum
    3. Bis-Datum
  11. Fotos müssen anhand von folgenden UND-verknüpften Filterkriterien gesucht werden können
    1. Stichwörter (Suchfeld mit Vorschlagswerten)
    2. Personen (Suchfeld mit Vorschlagswerten)
    3. Events (Suchfeld mit Vorschlagswerten)
    4. Name des Dateisystemordners
    5. Titel des Fotos
    6. Erstellungsdatum in gewähltem Zeitraum
  12. Suchergebnislisten müssen eine eindeutige, wiederverwendbare URL haben
  13. Die Anwendung sollte einen Präsentations-/ Slideshow-Modus für Suchergebnislisten unterstützen, welcher die Vorschaubilder der Listeneinträge für jeweils 3 Sekunden anzeigt 

    Planung

    Diese Anforderungen werde ich in folgende Schritte (und Blog-Posts) aufteilen:

    Weitere Ideen und Vorschläge können gerne als Kommentar gestellt werden.

    Die Demo-App ist bei Github unter der Adresse https://github.com/aheusingfeld/photooapp verfügbar.

    UPDATE 24.09.2011 23:00h:
    - Anforderungen in Deutsch übersetzt
    - Liste der geplanten Blogposts/ weiteren Schritte erstellt

    Vielen Dank für Euer Feedback und Euer Interesse.

    Comments

    Anonymous
    Ich finde das Beispiel supergut,

    meine Frage wäre jetzt eher: Wie müssen die Eingabemasken angepasst werden, damit die Photo-Upload Möglichkeit per Web realisiert werden kann.? Wie sieht es mit User-Authentifizierung aus (Stichwort: Spring Security) ?

    Tags

    • software development
    • java
    • spring
    • spring roo
    • photooapp
    • open source
    • github

    Updated: