Android Application Development: Mandatory assignment
This text is preliminary: I might add more requirements, hints, etc.
This is the mandatory assignment for the 4th semester elective course Android Application Development.
Your solutions to this assignment must be "passed" before you can attend the 4th semester elective exam.
The case: Canteen App
Currently EASJ has 3 locations in Roskilde: Elisagårdsvej 5, Bakkesvinget 67 and Maglegårdsvej 8.
Early 2018 all programmes will be relocated to a new campus at Maglegårdsvej 2. The new campus includes an canteen.
In this assignment you must program a prototype of a canteen app.
Some user stories
The canteen app should be used by the customers (students and staff) to
- See what's on the menu
- Rate the dishes
- Order take-away (busy students and staff can order take-away for dinner)
- Login
Customers must login before they can rate dishes or order take-away.
- Calculate your intake of energy (fat, protein and carbohydrates), minerals, vitamins, etc.
For every dish in the canteen all these numbers have already been calculated. Your job is do add them together based on the dishes the customer ate.
- etc.
Apps for your inspiration
The back-end: REST API
I have created a simple REST API for you application.
If you want more more methods in the REST API, please tell me - maybe I will implement the methods
REST API objects
The API currently has 4 objects
- Customer
- Dish
- Rating
- TakeAway, not implented yet
REST API methods: Customer
REST API Dishes
REST API Ratings
REST API TakeAway
Technical requirements
Activities
- The application must at least two (probably more) Activities
- Activities must be connected using Intents.
Screen size and density
- The application must look OK on screens of different sizes (phones and tablets) and densities.
Screen orientation
- The application must look OK in landscape and portrait orientation.
- No data is lost during change of screen orientation.
Lists
- The application must use list: ListActivity and/or ListView
Rest
- The application must use the REST API provided
Gestures
- The application must use swipe or other gestures.
SharedPreferences
- The application must use SharedPreferences to hold the users username (and password), and maybe other preferences.
Firebase
- The application must use at least one feature from Googl Firebase.
Error handling
- The application must inform the user about communication errors (exceptions), etc.
Just ignoring exceptions is not acceptable
- The application must use logging, specially for error conditions Log.e(..., ...)
Extras