https://github.com/k0bin/gesahu-android
Android-App für die GesaHu
https://github.com/k0bin/gesahu-android
android gesahu kotlin kotlin-android school schule
Last synced: about 2 months ago
JSON representation
Android-App für die GesaHu
- Host: GitHub
- URL: https://github.com/k0bin/gesahu-android
- Owner: K0bin
- Created: 2017-01-09T14:41:48.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-03-04T13:23:31.000Z (over 5 years ago)
- Last Synced: 2025-02-14T10:56:14.565Z (4 months ago)
- Topics: android, gesahu, kotlin, kotlin-android, school, schule
- Language: Kotlin
- Homepage:
- Size: 1.93 MB
- Stars: 3
- Watchers: 4
- Forks: 0
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GesaHu-Android
[](https://github.com/K0bin/GesaHu-Android)Erlaubt einen einfachen Zugriff auf viele Features der GesaHu Webseite.
## Maintenance Modus
Da mein Schulabschluss mittlerweile einige Jahre her ist, beschränkt sich meine Arbeit an der App weitesgehend auf Bugfixes.
Zusätzlich dazu gibt es auch noch immer (trotz zahlreicher Sanitizer) Probleme mit malformatted JSON von der REST API,
die allerdings außerhalb meiner Kontrolle sind.
Testen der App ist ebenfalls schwierig geworden, da ich kein Schülerkonto mehr habe und die REST API nicht mit Absolventenkonten funktioniert
(liefert einen PHP Fehler).## Vertretungsplan
Zeigt den Vertretungsplan in einer übersichtlichen Liste und hebt relevante Stunden hervor.Optional kann die App täglich zu einer einstellbaren Uhrzeit oder nach jeder Stunde bei Vertretungsstunden benachrichtigen. Dazu wird ein Alarm erstellt, der zur angegebenen Zeit einen Broadcast Receiver ausführt.
## Kalender
Schreibt relevante Schultermine wie Klausuren und Prüfungen automatisch in den Gerätekalender.
Implementiert als SyncAdapter## Boards
Zeigt Stunden und Noten eines Kursboards an.## Code
Die App ist überwiegend in Kotlin geschrieben und auf dem Model-View-Presenter Entwurfsmuster aufgebaut.
Verwendete Libraries:
* [Room](https://developer.android.com/topic/libraries/architecture/room.html) & [LiveData](https://developer.android.com/topic/libraries/architecture/livedata.html) für die Datenbank
* [Dagger 2](https://google.github.io/dagger/) für Dependency Injection
* [OkHttp](http://square.github.io/okhttp/) & [Retrofit](http://square.github.io/retrofit/) für die GET API
* [Android KTX](https://github.com/android/android-ktx) & [Anko](https://github.com/Kotlin/anko) für nützliche Android Hilfsfunktionen in Kotlin
* [Android Support Libraries](http://developer.android.com/tools/support-library/index.html)
* [Joda-Time](http://www.joda.org/joda-time/) für immutable Datums- und Zeitklassen in Java 7
* [LeakCanary](https://github.com/square/leakcanary) um Memory Leaks zu erkennen
* [ErrorView](https://github.com/xiprox/ErrorView) falls eine Liste leer ist
* [AboutLibraries](https://github.com/mikepenz/AboutLibraries) für eine Übersicht der verwendeten Libraries und derer Lizensen
* [AppIntro](https://github.com/apl-devs/AppIntro) für die Einleitung beim ersten Start