From cc57ebbc83f4f306c0dc6c2b924dfb66ce3915aa Mon Sep 17 00:00:00 2001 From: schneefux Date: Fri, 4 Jul 2014 15:24:52 +0200 Subject: neues README --- README | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 README (limited to 'README') diff --git a/README b/README new file mode 100644 index 0000000..56ff4a6 --- /dev/null +++ b/README @@ -0,0 +1,34 @@ +WvS-VPlan lädt automatisch den Vertretungsplan von Moodle und parst ihn. + +Bauen +===== + +Siehe BUILDING: +* NodeJS installieren und mit npm Apache Cordova installieren +* Android-Plattform installieren und zu einem neuen Cordova-Projekt hinzufügen +* Plugins hinzufügen +* Das WvS-VPlan-Repository in den Cordova-Projektordner klonen (`git clone https://...`) +* mit `cordova run` die App bauen und auf dem Emulator oder am angeschlossenen Gerät starten + +Editieren +========= + +* In www/ liegen die Dateien für die App (index.html, js/index.js, css/index.css) +* Mit Cordova werden hybride Webanwendungen geschrieben, d. h. die App ist in Javascript und HTML5 geschrieben +* Benutzte Bibliotheken: jQuery + jQuery Mobile, PDF.js, piwik.js +* Das Projekt ist AGPLv3-lizensiert: Du darfst dir den Code ansehen, du darfst ihn bearbeiten und bauen und deine eigene Version publizieren; du musst aber den Quellcode offenlegen. + +Funktionsweise +============== + +0. Sind aktuelle, also Pläne des heutigen Tages oder später vorhanden, werden diese aus dem Speicher angezeigt. + +1. Die App loggt sich (automatisch) auf Moodle ein. +2. Die App sucht nach einem Link "Vertretungsplan". +3. Die App öffnet jeden Link auf der Planübersicht +4. und verfolgt die Weiterleitung dieser Links auf die +5. Datei (PDF), die dann heruntergeladen wird. +6. Nach dem Rendering des PDFs wird die Darstellung als Bild gespeichert. +7. Aus der PDF-Tabelle wird der Text extrahiert und als Textdatei auf dem Gerät gespeichert. +8. Der extrahierte Text wird mithilfe eines (langen!) regulären Ausdrucks abgescannt, auf der Suche nach Vertretungen von der eigenen und zusätzlich festgelegten Klassen. +9. Wurde etwas gefunden, werden alle Kürzel aufgelöst, die Tabellenzeile zu einem Text umformuliert und ein Teilen-Button generiert, eine Benachrichtigung festgelegt sowie die Vertretung über dem angezeigten Plan dargestellt. -- cgit v1.3.1