An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

        

# GesaHu-Android
[![](https://tokei.rs/b1/github/K0bin/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

## Playstore
Play Store badge