Case Study: MyCheckins

A startup company plans to develop an app which allows users to check in their daily activities. For example, a user can log the following information in the app:

  • At 15:00 on 1 st August 2019, I visited Delicious restaurant with friends. We were there for half an hour. A photo is attached.

The requirements for the app are listed as follows:

1. When a user opens the app, the main user interface (List UI) appears, which includes the following items:

  • A list of check-in records is shown. For each record, its "title", date, and place are displayed.
  • A toolbar with two entries: "New", Help.

2. When the user clicks the menu item "New" in List UI, a new UI (Item UI) appears to allow the user to log a new record. The following items should be displayed: Title, Place, Details, Date, Location, Image, Share.

  • "Title", Place, and Details are editable text fields.
  • "Date" is a button, showing the current date. When clicked, it uses a dialog for users to pick up a date.
  • "Location" has two parts: a (read-only) text view, and a button. The text view shows the GPS location (Latitude, Longitude) captured when this UI first shows. When the button Show map is clicked, it opens a new window to display the saved GPS location in Google Map.
  • "Image" has two parts: an image view, and a button. When the button is clicked, it allows the user to take a picture of the receipt with the camera, and display it.
  • "Share" is a button, allowing to send a summary of the record.
  • When a user leaves this UI, the record details are saved. The List UI should be refreshed.

3. When the user clicks a record in List UI, its details will be displayed in a new UI (Item UI) similar to Requirement 2, but

  • GPS location should not be updated. Display the same GPS location when this record was created.
  • A button "Delete" to delete this record. Deletion should bring the app to the refreshed List UI.

4. When the user clicks the menu item "Help" in the List UI, a new UI appears to show help messages. The requirement is:

  • Use Webview for the implementation.
  • Use "https://www.wikihow.com/Check-In-on-Facebook" as the dummy content to show.

General implementation requirements:

  • Requirement 2 & 3 should be implemented with one Activity.
  • Use fragments for List UI and Item UI.
  • Save receipt records with SQLite.
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.