Mobile Application Development: Mandatory Assignment: Bird Watching

This text is preliminary: I might add more requirements, hints, etc.

This is the mandatory assignment for the 4th semester elective course Mobile Application Development.

Your solutions to this assignment must be "passed" before you can attend the 4th semester elective exam.

The case: Bird Watching aka. Bird Control

I want a mobile application to register birds that I have seen.

Some user stories

  1. As as user I must be able to login to the system. If I have previously logged in on my device, the login procedure should happen automatically.
  2. As a user I must be able to log out.
  3. As a user I must be able to register an observation:
    Time, position (latitude, longitude), bird species.
    Time + position must be taken from my device.
  4. As a user I must be able to register an observation:
    Time, position (latitude, longitude), bird species.
    Time + position added manually by the user.
  5. As a user I must be able to see/search my own observations.
    Different sort orders
  6. As a user I must be able to see/search other users observations.
    Different sort orders.
  7. As a user I must be able to delete my own observations.
  8. more ...

For your inspiration

Some 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.

Sparse documentation of the REST API (coming soon ... more methods)

Hint: Try the REST methods from Postman before you start using the methods in your application.

Code quality

Your code must be readable to humans as well as compilers:

Run the static code analyzer from Android Studio:

Technical requirements

Activities

Screen size and density

Screen orientation

Lists

AppBar

REST

Gestures

SharedPreferences

Firebase

Error handling

Extras