An open source University of Indonesia SIAK-NG Android app.
https://play.google.com/store/apps/details?id=com.wasisto.opensiak
The architecture is built around the Android Architecture Components with Dagger 2 for dependency injection.
The presentation logic is kept away from Activities and Fragments and moved to the viewmodels. The data are observed using LiveData and the UI components are bound to the data sources using Data Binding Library.
A Repository layer is implemented for handling data operations. The data come from different sources - student data are scraped from the SIAK-NG website using jsoup library, user preferences and settings are stored in a local database.
A use case layer is implemented between the data layer and the presentation layer to handle discrete pieces of business logic off the UI thread.
Copyright (C) 2019 Andika Wasisto
OpenSIAK is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenSIAK is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with OpenSIAK. If not, see <https://www.gnu.org/licenses/>.