Android app for students of the Alpen-Adria-Universität Klagenfurt
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Studentenportal
gradle/wrapper opensource release Aug 1, 2014
.gitignore
LICENSE opensource release Aug 1, 2014
README.md
build.gradle opensource release Aug 1, 2014
gradlew opensource release Aug 1, 2014
gradlew.bat opensource release Aug 1, 2014
settings.gradle opensource release Aug 1, 2014

README.md

AAU Studentenportal

This is the complete source code of the Android app "AAU Studentenportal" for students of the Alpen-Adria-Universität Klagenfurt (AAU / Klagenfurt University), Austria. Screenshots of the app can be found on the app's Facebook page. This app was actively developed for over 2 years as a hobby project besides my duties as student and employee of the university. It was used by a large fraction of students, but it never got officially approved, and it has been locked out from the university servers in August 2014.

The published code is the code that the last publicly released version was built from (v1.8.1), with an additional security fix, and cleaned from private and copyrighted data (see changes below). It was written with space/data efficiency and data privacy in mind, and contains a lot of Android best practices and patterns. Development was stopped in August 2013 and it isn't updated to the latest UI paradigms (e.g. a content centered start screen or hamburger navigation).

Features

I started developing this app during my studies and tried to implement all functionality that I considered vital or at least important for a mobile app for university students and that I have missed when there wasn't any app existing yet.

  • List of registered courses
    • List of participants in registered courses incl. portrait picture and contact info
    • Checklists for practical courses
    • Possibility to blacklist unattended courses
    • Moodle support
    • Webview for detailed data
  • List of exams incl. modality info and results
  • List of grades
    • Support for normal grades and Fachprüfungen
    • Webview for detailed stats
  • Calendar with upcoming and canceled classes and exams
  • Virtual student ID card incl. additional profile data of student and registered study programs
  • Bus/train departures all over Klagenfurt from the official public transportation system
  • Mensa food menus
  • Campus map with POIs (e.g. bathrooms, printers, coffee machines)
    • Navigation routing
    • Room and POI search
    • Linking from calendar (to show location of classrooms) and AAU website
  • Location-aware ringtone muting
    • Mutes only if student is at university and an attended class takes place
    • Detection through WiFi and GSM network
  • Instant notifications through cloud messaging
    • Study enrollment, course registration status changes (e.g. accepted), finished study phases, exam announcements, new grades
  • Home screen widget with upcoming classes and exams
  • Support for current and past semesters
  • Login with university account (username/password) or student ID card (NFC)

The app communicates with a JSON REST API that I have implemented in the server side code running on the university servers. The API client side consists of a JSON <-> Java classes serialization/deserialization layer with built in request caching to avoid unnecessary network requests and data transfers, and speed up the user experience.

Changes from the Play Store release

  • To avoid copyright problems, all official university logos have been garbled by pixellation.
  • API keys of the used Flurry Analytics and BugSense services have been replaced with dummy data.
  • A crypto seed has been replaced with dummy data.
  • The URL to the privately hosted campus map interface has been replaced by a dummy.
  • Private signing keys have been deleted.

Credits

This app uses the following 3rd party resources and libraries:

License

Copyright (C) 2014 Mario Guggenberger mario.guggenberger@aau.at. This project is released under the terms of the GNU General Public License. See LICENSE for details.