A simple mobile application that allows users to save location based notes on a map. These notes can be displayed on the map where they were saved and viewed by the user that created the note.
List the main features of your app. For example:
- Google+ login
- Display list of notes
- Location Based
- Google Maps Clustering
- Swipe to delete (both directions) on Notes List
- Long press on note item to add it on home screen App widget
- Android (Java)
- Firebase (Google Login)
- Firestore (for data persistence)
- Google Cluster API (to cluster all pointers in that area)
- Lottie (for animation)
- MaterialDialog (for displaying saved noted Info)
- Butterknife (View Injection)
Commits are made at regular intervals and all those can be seen here
Many functionalities can either be added or modified to the current application. Few of the things that can be either modified or added are:
- Edit Note functionality
- Color coding of notes
- Better Architecture pattern (MVP/MVVM, SOLID etc)
- Update App widget to show a list of all notes added (only title) and clicking on any item to open details of the note
- Allow the user to set a note private so that its not displayed in other's map
There might be some bugs that would have crept in and went unnoticed while developing, but my highest priority is to implement the functionality as per requirements and these bugs would be fixed in coming updated versions/releases.
For testing purposes, you can run use the following credentials.
email: abc@gmail.com
password: password
Map screen (FootprintFragment) - Displays all the pointers of all users (color coded. Red for own notes, Blue for other users markers)
Notes List (NotesListFragment) - Displays only Notes of the logged in user (To read the notes of other users, navigate to map screen and click on any blue
marker which will show a window and on clicking on that a bottom dialog appears with more details.) Clicking on any of the card views in this screen will open a bottom dialog sheet with more details. Clicking on the map in card view will open google maps.
The problem I faced while setting up the repository is I entered the API key in a tracked file and pushed it directly to Github. Checking this into source control can expose your key to the public and And I started receiving emails from GitGuardian that I'm exposing the API keys.
So I had to figure out how to fix this issue and found these articles helpful.
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Added some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request