MNImobile

Aus THM-Wiki
Wechseln zu: Navigation, Suche

MNImobile ist eine App für Studenten des Fachbereichs MNI.


iCampus-Projekt
Arbeitstitel MNI Mobile
Kurs Web Programming Weeks
Betreuer Dominik Bassing
Projektbeginn 2014
Mitarbeiter Benjamin Güttner, Atabak Sahraei, Jonas Wisplinghoff, Filip Fahnert
Programmiersprache ExtJS, Javascript, HTML5
Framework Sencha Touch 2, Phonegap


MNImobile

Bei dem Projekt MNImobile handelt es sich um eine App für Studenten. Sie soll das studentische Leben geraden in den ersten beiden Semestern vereinfachen. Der Grundgedanke der App ist, bequem von einem Smartphone aus den Stundenplan abzurufen und wichtige Informationen über Personen und Räume bzw. Gebäude einzuholen, den Mensaplan zu betrachten und die offiziellen News der THM Seite auf einen Blick zu haben. Die App ermöglicht dem Benutzer all das ohne lästige Zettelwirtschaft und auch ohne Notebook mit Internetzugang.

Die Gruppe

Die Gruppe besteht aus 4 Studenten der Technischen Hochschule Mittelhessen. Namentlich besteht die Gruppe aus: Benjamin Güttner, Atabak Sahraei, Jonas Wisplinghoff und Filip Fahnert. Benjamin Günnter und Filip Fahnert gehören dem Fachbereich MNI an, beide mit der Studienrichtung Informatik B.Sc. Atabak Sahraei und Jonas Wisplinghoff gehören dem Fachbereich IEM, beide mit der Studienrichtung Medieninformatik M.Sc.

Die App

Die App kombiniert die Funktionalitäten der beiden bereits vorhanden Apps THM_Schedule_On_Mobile und mniapp und fügt diesen weitere interessante Features hinzu, wie z. B. den Mensaplan einzusehen und die Campus-Karte zu nutzen.

Der derzeitige Zustand den Stundenplan zu betrachten ist das Betrachten über die MNI-Seite. Jedoch ist die Ansicht aus einem mobilen Endgerät heraus nicht optimal, da nicht der vollständige Stundenplan zu sehen ist und die Navigation nicht dafür ausgerichtet ist. Dadurch, dass man auch unterwegs auf den Stundenplan zugreifen möchte, diese Möglichkeit aber nicht hat, ist die Notwendigkeit dieser App ersichtlich.

Die App wird mit Hilfe des Frameworks Sencha Touch2, namentlich ExtJS, geschrieben. Hierbei handelt es sich um ein Application Framework für Javascript. Die ersten Versionen werden zum Anlass der Web Programming Weeks geschrieben, In der ersten Woche wurden die Grundlagen von Sencha Touch 2, ExtJS, JSON, Ajax, Joomla, Redmine, und Git erarbeitet. In den darauffolgenden drei Wochen wurde die App, die das Login über CAS und die Darstellung des persönlichen Stundenplans sowie alle unter Views gelisteten Features enthält, entwickelt. Es ist geplant, die App bis Oktober 2014 in ihrer ersten Version für den Studenten bereitzustellen.

Sencha Touch 2

Sencha Touch ist ein umfangreiches Framework, mit dem Technologien wie HTML5, CSS3 und JavaScript wirksam eingesetzt werden. Mit Sencha Touch können Webapplikationen entwickelt werden. Das Framework konzentriert sich auf Endgeräte, die über einen Touch-Screen gesteuert werden.

Realisierung

Die App wurde mit der Entwicklungsumgebungen "Netbeans" und "Webstorm" entwickelt, zwei Mitglieder des Teams nutzten "Netbeans", da sie mit dieser Entwicklungsumgebung vertraut waren, der Rest benutzte "Webstorm". Zu Testzwecken brauchte man einen Webbrowser, welcher die Simulation der verschiedenen Endgeräte unterstütze, somit viel die Wahl auf die neuste Betaversion des Google Chrome. Außerdem wurde der Apache-Webserver unter Benutzung von Xampp genutzt. Das Versionsverwaltungsprogramm das verwendet wurde war Git.


Ergebnis

Die App ist als eingeloggter Benutzer folgendermaßen aufgebaut:

Chartlogin.jpg

Die App ist als Gast folgendermaßen aufgebaut:

Chartguest.jpg

Die Views

Diese Rubrik zeigt alle Views, die nach aktuellem Stand in der MNImobile App vorhanden sind und erläutert diese.

Login

Dies ist die Login View Der MNImobile App, von dieser Seite aus kann man sich entscheiden ob man sich mit seiner Benutzerkennung und seinem Passwort einloggt oder als Gast forfährt.

Login


Navigation

Auf der linken Seite sieht man das Sliding Menue als eingeloggter Benutzer, auf der rechten das Sliding Menue als Gast.

Navigation
NavigationGuest


Mein Stundenplan

Dies ist die persönliche Stundenplanansicht, welche alle Kurse zeigt, welche man sich in der Navigationsoption Stundenplan ändern hinzugefügt hat.

Mein Stundenplan


Stundenplan ändern

Mit dieser Funktion kann der Benutzer sich seinen persönlichen Stundenplan zusammenstellen um von überall aus mobil auf ihn zuzugreifen.

Login


News

Dieser Punkt erlaubt es dem Benutzer sich die offiziellen News der MNI-Seite anzusehen und durch einen Klick auf die jeweilige View in die Detailansicht zu kommen.

News


NewsDetail

Unter News Detail bekommt man den Volltext der jeweilig ausgewählten News angezeigt.

NewsDetail


MNI Personal

Unter diesem Punkt findet man eine List aller MNI Mitarbeiter und kann nach Mitarbeiter, Mitglieder-Förderverein, ISA-Mitarbeitern und Team medizinische Informatik filtern. Mit einem Klick auf die jeweilige Person wird die Detailansicht angezeigt. Auf der unteren Toolbar kann man zwischen der MNIPersonal View und der Favoriten View hin und herwechseln.

MNIPersonal


MNI PersonalDetail

In dieser Detailansicht kann man wichtige Informationen über die jeweilige Person ablesen, wie z. B. Telefonnummer, Raum und Email Adresse. mit einem Klick auf das Sternchen fügt man die jeweilige Person seinen Favoriten hinzu.

Login


MNI Personal Favoriten

Dies ist die Liste aller Personen, welche den Favoriten hinzugefügt wurden, auch hier kann man sich mit einem Klick auf die jeweilige Person die Detailansicht anzeigen lassen. Mit der unteren Toolbar kann man wieder auf MNI Personal wechseln.

MNIPersonalFavorites


Mensaplan

Diese View bettet die Webapp des Mensaplanes in MNImobile ein und erlaubt es dem Nutzer den Speiseplan der kommenden Tage einzusehen.

Mensaplan


Campus Karte

Dies ist die Campus Karte, bei eingeschaltetem GPS kann man sich von seinem Smartphone direkt zu den einzelnen Gebäuden der THM führen lassen.

CampuskarteMM.jpg


Impressum

Der Letzte Punkt der Navigation stellt das Impressum dar.

ImpressumMM


Das Login (CAS)

Das Login ist über den CAS (Central Authentication Service) der THM umgesetzt. Hierbei wird der Nutzer auf eine Login-Maske des CAS weitergeleitet, wenn hier die richtigen Zugangsdaten eingegeben werden, wird er zurück zu MNImobile geleitet und dort eingeloggt. Hier kann er nun Funktionen, wie die Erstellung seines eigenen Stundenplanes nutzen.

Login über CAS


Hybride Anwendung

MNImobile ist mit Hilfe von Phonegap leicht zu einer hybriden mobilen Anwendung für alle gängigen mobilen Betriebssysteme umgewandelt werden. Durch die Integration von Phonegap und Sencha Touch, soll der Build-Prozess hierbei möglichst leicht durchführbar sein. Zum Ende der Web Programming Weeks war es Möglich, die Anwendung durch Phonegap nativ laufen zu lassen, wenn nach dem Build Prozess noch ein paar manuelle Anpassungen erfolgt sind. Hierbei gibt es noch Probleme mit der Minifizierung/Konkatenierung der Javascript-Dateien im App/ Ordner, sowie beim Kopieren der Resources. Leider konnten wir nicht herausfinden, ob es sich hierbei um einen Bug in der aktuellen Sencha-Command Version oder eine falsche Konfiguration handelt.

Werden die Dateien in der Build-Version entsprechend der Pfade angepasst, lässt sich die Anwendung als native App bauen. Die nächste Baustelle ist nun der Login, da bei der Nutzung von CAS eine Redirect-URL angegeben werden muss, um den Nutzer nach dem Login wieder zur Anwendung zurück leiten zu lassen. Für eine native Anwendung gibt es keine solche URL, daher müsste es hierfür unserer Meinung nach eine reine Backend-Anbindung an den CAS geben, um dieses Problem zu lösen.

Geplante Features

Durch den Zeitmangel der sich durch die begrenzte Arbeitszeit des Kurses Web Programming Weeks entwickelt hat, haben es einige Features noch nicht in die fertige Version geschafft. Diese Features sollen in Zukunft jedoch nachgereicht werden. Zu den nicht implementierten Features gehören:

  • Das Einsehen der bisher bestandenen Kurse mit Noten, das Ausrechnen des aktuellen Notenspiegels und einer Anzeige, die die Verbleibenden Crp bis zum Studienende anzeigt.
  • Das Einsehen des Modulhandbuchs um alle Kurse auf einen Blick zu sehen und diese zu Favoriten hinzuzufügen.


Release Notes

Version 0.0.1beta CAS-Anmeldung, Stundenplanansicht, Stundenplanbearbeitung, News, Studium Stories, MNI Personal, Mensaplan, Campus Karte und Impressum.