Skip to content

Allows for a User to login using Firebase UI with email or Google account and enables the addition of location reminders. Upon reaching specified locations, users receive notifications containing their coordinates. It integrates Google Maps API, geofencing, Firebase, notifications, data binding, LiveData, MVVM architecture, and testing capabilities

dev-iram/Location-Reminders-App

Repository files navigation

Location Reminders App

locationremidnersapp

This is a Location Reminders Application I created as per specifications in Project 4 as part of Udacity Nanodegree Android Kotlin Developer Course. Allows for a User to login using Firebase UI with email or Google account and enables the addition of location reminders. Upon reaching specified locations, users receive notifications containing their coordinates. It integrates Google Maps API, Geofencing, Firebase, Notifications, Data Binding, LiveData, MVVM architecture, and Testing Capabilities

✦ Programming Language; Kotlin
✦ Minimum SDK; 24
✦ UI Layout; XML, Firebase UI
✦ Software Tools;
    ✧ Android Studio: IDE Used to create, compile and build application

Application Screenshots

Copy of Copy of Copy of Copy of ATM Kiosk System Copy of Copy of Copy of Copy of ATM Kiosk System (1) Copy of Copy of Copy of Copy of ATM Kiosk System (2) Copy of Copy of Copy of Copy of ATM Kiosk System (3) Copy of Copy of Copy of Copy of ATM Kiosk System (4) Copy of Copy of Copy of Copy of ATM Kiosk System (5) Copy of Copy of Copy of Copy of ATM Kiosk System (6)

Application Logo

Application Demo

Assignment Brief

User Authentication

Login: 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 Registration (Signup) screen.

Signup: Create a Registration screen to allow a user to register using an email address or a Google account.

Authentication: Enable the authentication using Firebase console and include Firebase UI dependency in the project. You must use this library, FirebaseUI-Android(opens in a new tab), to implement the authentication.

Logout: Make sure that the users can log out of the app and when the app starts again they are required to login first.

Map View

Map view: Create a Map view that shows the user's current location.
It should first ask the user's location access permission to show his/her current location on the map. Ensure that the location access is handled in cases of user denial that the user is shown the right error messages.

POI: The app should ask the user to select a point of interest (POI) on the map to create a reminder.
The app asks the user to select a location or POI on the map and add a new marker at that location. The selected POI can be just a simple POI or an area or specific latitude and longitude. The POI must have a location name. Upon saving, the selected location is returned to the Save Reminder page and the user is asked to input the title and description for the reminder. When the reminder is saved, a geofencing request is created. Allowing the user to take Circular Radius for the geofence is a bonus.

Compatibility: The app should work on all the different Android versions including Android Q.

Map Styling: Update the Map Styling using the map styling wizard (opens in a new tab) to generate a nice looking map.
Users should have the option to change map type from the toolbar items.

Geofencing: When the user enters a geofence, a reminder is retrieved from the local storage and a notification showing the reminder title will appear, even if the app is not open.

Submission Feedback

1st Submission - Passed✅

14th February 2024

Congratulations 👏👏👏👏
Your code looks well-structured and neat. You're writing a Kotlin-like code, using all its benefits. You kept the app design simple but made it very pleasant.

You completed this project flawlessly.
I hope you keep your spirits up and keep working like this.
We are looking forward to more of your projects.

About

Allows for a User to login using Firebase UI with email or Google account and enables the addition of location reminders. Upon reaching specified locations, users receive notifications containing their coordinates. It integrates Google Maps API, geofencing, Firebase, notifications, data binding, LiveData, MVVM architecture, and testing capabilities

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages