Skip to content

svrin/dsa5gen

Repository files navigation

dsa5gen.de

dsa5gen ist sich im Aufbau befindliche Webanwendung zur Erstellung für Helden im Rollenspielsystem DSA 5.0.

Die Anwendungslogik ist mit Zuhilfename des MVC Backbone in coffeescript gelöst und Application-Cache Schnittstelle von HTML5 ermöglicht die Nutzung offline und als app auf Desktop, Tablet oder Handy.

History

Feb/2014: Aufbau der Datenmodelle für DSA 4.1, Evaluieren der benötigten Funktionalitäten. Sep/2014: Adaption zu DSA 5 BETA Aug/2015: Anpassung der Modelle für DSA 5

Lizenzen

Aufbau

  • Backbone

    Die Daten sind als Backbone Modelle in /data abgelegt. Jedes Verzeichnis stellt dabei einen "Datentyp" dar, welcher dann von einer BackboneColelction verwaltet wird. Das zugehörige Modell befindet sich in models, die generierte Collection vom Build Script in /gen/data

     /data/culture            Datenbestand der Kulturen
     /data/profession         Datenbestand der Professionen
     /data/race               Datenbestand der Rassen
     /data/skill             Datenbestand der Talente, Eigenschaften, Vorteile, Nachteile, Sonderfertigkeiten
     /models                  Modellinformationen für Daten
    
  • CoffeeScript

    Die Anwendung selbst liegt als coffeescripte in util und views. Util stellt "Funktionen" zur Verfügungen (wie zum Beispiel die Initalisierung vom AppCache, Backbone.Router oder Funktionalitäten wie .endsWith für strings) Views (und ihrer zugehörigten Templates in /templates) Repräsentieren "ein Stück" UI.

     /templates               Mustachetemplates für Views
     /views                   UI
     /util/ajax.coffee        Sorgt für den ladeblaken bei AjaxRequest via NProgress
     /util/backbone.coffee    Verhindert das Fehlschlagen von .save/.sync Aufrufen indem es Anfragen einfach erfolgreich ignoriert.
     /util/cache.coffee       Beinhaltet die Aufrischung des AppCaches.
     /util/i18n.coffee        verwaltet die Aufrufe der \_\_(*) Funktionen
     /util/router.coffee      initlaisiert Backbone.Router und Backbone.History, desweietren müssen hier die Views als Routen eingetragen werden.
     /util/string.coffee      Stringfunktionen
     /util/(choice,choice_from,distribute,find_all).coffee
                              stellen Funktionalitäten für die Datenmodellierung zur Verfügung
    
  • Buildify

    AppCache verbietet die Einbindung von externen Ressourcen, dies verhindert die direkte Nutzung eines cdn. Die Abhängigkeiten werden deswegen von /lib ausgeliefert. Die einzelnen Datenmodelle werden Verzeichnisweise zusammengefasst.

     /scripts/fetch.nodejs    Script zum Downloaden der vendor Bibliotheken
     /lib                     Downloadverzeichnis für die vendor Bibliotheken
    
     /scripts/build.nodejs    Buildscript zur Aggregation der Datenmodelle und der Anwendung.
     /gen/data/template.hbs   Wrappertemplate für die Datenmodelle
     /data                    Datenbestand, wird nach /gen/data aggregiert, dabei wird für jeden Ordner eine .js erstelllt.
     /gen/app.js              Generierte Anwendung
     /resources/appcache.mf   Generiertes manifest für AppCache
    
  • RequireJS

    Um Abhängigkeiten sinnvoll aufzulösen nutzen wir RequireJS. Auch die Templates werden darüber geladen.

     /views                   Die Einzelnen Backbone.Views mit ihrern Abhängigkeiten auf Templates, Modelle oder anderen Views.
    
  • i18n

    Alle Textbezeichner in den Datenmodellen sind via __(...) markiert um eine Übersetzung und Internationalisierung zu ermöglichen. Ein übergeordnete Ziel stellt aber das einfachere Auffinden von Rechtschreibfehlern oder uneindeutigen Bezeichner dar.

     /scripts/i18n._coffee    Ließt alle Bezeichner aus und stellt in i18n/de.json diese sortiert zur Verfügung.
     /i18n/de.json            (kommentierte) JSON Datei aller Bezeichner.
    
  • LESS

    Alle Stylesheets liegen in LESS vor. Die IntelliJ (oder auch PyCharm/Webstorm) erlauben diese Scripte direkt bei Modifikation zu Kompilieren (Stichwort FileWatcher)

     /css                     Stylesheets in LESS
    

About

DSA 5 Generator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published