Location Reminder

A Todo list app with location reminders that remind the user to do something when he reaches a specific location. The app will require the user to create an account and login to set and access reminders.

Built With

  • Koin - A pragmatic lightweight dependency injection framework for Kotlin.
  • FirebaseUI Authentication - FirebaseUI provides a drop-in auth solution that handles the UI flows for signing.
  • JobIntentService - Run background service from the background application, Compatible with >= Android O.
  • Room for local database storage.

It leverages the following components from the Jetpack library:

Demo

screen-shot-1 screen-shot-2 screen-shot-3 screen-shot-4

Setting up the Repository

To get started with this project, simply pull the repository and import the project into Android Studio. From there, deploy the project to an emulator or device.

There are some dependencies that are needed to run the application, here are step-by-step instructions to get the application running:

1. Enable Firebase Authentication:
        a. Go to the authentication tab at the Firebase console and enable Email/Password and Google Sign-in methods.
        b. download `google-services.json` and add it to the app.
2. Enable Google Maps:
    a. Go to APIs & Services at the Google console.
    b. Select your project and go to APIs & Credentials.
    c. Create a new api key and restrict it for android apps.
    d. Add your package name and SHA-1 signing-certificate fingerprint.
    c. Enable Maps SDK for Android from API restrictions and Save.
    d. Copy the api key to the `google_maps_api.xml`
3. Run the app on your mobile phone or emulator with Google Play Services in it.

Testing

Right click on the test or androidTest packages and select Run Tests

Project Specification

Following is the project rubric that lists all the requirements that are met by application.

rubric