Skip to content

Location Reminder is a todo list app with location reminders that remind the user to do something when the user is at a specific location. Ps. It's the fourth project to submit for Udacity Advanced Android Kotlin Development Nanodegree.

Notifications You must be signed in to change notification settings

mahmoudelfouly/Location-Reminder-App

Repository files navigation

Location-Reminder-App

Introduction

  1. Create a Login screen to ask users to login using an email address or a Google account. Upon successful login, navigate the user to the Reminders screen. If there is no account, the app should navigate to a Register screen.

  2. Create a Register screen to allow a user to register using an email address or a Google account.

  3. Create a screen that displays the reminders retrieved from local storage. If there are no reminders, display a "No Data" indicator. If there are any errors, display an error message.

  4. Create a screen that shows a map with the user's current location and asks the user to select a point of interest to create a reminder.

  5. Create a screen to add a reminder when a user reaches the selected location. Each reminder should include:

    • title
    • description
    • selected location
  6. Reminder data should be saved to local storage.

  7. For each reminder, create a geofencing request in the background that fires up a notification when the user enters the geofencing area.

  8. Provide testing for the ViewModels, Coroutines and LiveData objects.

  9. Create a FakeDataSource to replace the Data Layer and test the app in isolation.

  10. Use Espresso and Mockito to test each screen of the app:

    • Test DAO (Data Access Object) and Repository classes.
    • Add testing for the error messages.
    • Add End-To-End testing for the Fragments navigation.

This app using the following techniques:

  • Fragments
  • Room
  • Databinding
  • Coroutines
  • Transformation map
  • Retrofit
  • Gson Converter
  • ViewModel
  • LiveData
  • Navigation Component
  • RecyclerView
  • FirebaseUi Auth
  • Geofence
  • Koin
  • Testing

Ps. It's the fourth project to submit for Udacity Advanced Android Kotlin Development Nanodegree.

App Screenshots

About

Location Reminder is a todo list app with location reminders that remind the user to do something when the user is at a specific location. Ps. It's the fourth project to submit for Udacity Advanced Android Kotlin Development Nanodegree.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages