The MyUoB Android App
A demonstration of an Android app I built for students at the University of Birmingham.
I spent about one working day a week for 8 weeks building an Android application for students at the University of Birmingham. The primary purpose of the application is to let students register their attendance to lectures automatically, and track the lectures that they have attended throughout the academic year. It also provides some additional functionality to enhance the student experience on campus.
As shown above in the menu, there are three main features that the app presents: recording attendance to lectures, viewing an attendance dashboard, and an easy-to-use timetable.
Recording lecture attendance
The current method of recording attendance is by gathering signatures on a sheet distributed in-class by the lecturer. In addition to the manual overhead of entering this information in a database, it is far from foolproof: you can just have your friends sign the sheet for you!
The app lets users record their attendance through capturing their location and elevation, and checks the timetable information to verify whether students are indeed where the course is taking place at the time; with an electronic record being generated and transmitted to the University.
Attendance dashboard
The app also lets users view their attendance record over the academic year. This functionality exists since attending a certain number of lectures each term is compulsory for the purposes of the student visa for international students. The app tells them whether they satisfy the requirements for their visa.
Timetable
Additionally, the app provides an easy-to-use academic timetable of lectures and seminars, together with a method to get directions to a lecture location via Google Maps.
The timetable main view.
Tech
Aside from the usual native Android stack, the app uses:
- Realm for local storage. I found it intuitive and easy to use, and the query language certainly beats writing SQL by hand (or the overhead of layering yet another abstraction layer over a local database). It's also very fast.
- Android-Week-View: a nice little library for displaying calendars.