Save your favourite places in an easy to use app based on modern Android application tech-stacks and MVVM architecture.
- Add a place with title, description, date, location and image.
- Select an image from phone gallery or take a picture with the camera.
- Add any location or set current location based on phone GPS.
- View info of a saved place.
- See your saved location on Google Maps.
- Swipe to edit or delete a place.
- Quickly search your saved places by title.
- Option to delete all saved places.
- Spanish translation.
- Minimum SDK level 21.
- Kotlin - official programming language for Android development.
- Coroutines - for asynchronous programming.
- Android Architecture Components - collection of libraries that help you design robust, testable, and maintainable apps.
- LiveData - data objects that notify views when the underlying database changes.
- Data Binding - data objects to bind UI components in your layouts to data sources in your app.
- ViewModel - stores UI-related data that isn't destroyed on UI changes.
- Room - access your app's SQLite database with in-app objects and compile-time checks.
- Lifecycle - components to perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
- Navigation - interactions that allow users to navigate across, into, and back out from the different pieces of content within your app.
- Fragment - represents a behavior or a portion of user interface in a FragmentActivity.
- RecyclerView - for display a scrolling list of elements based on large data sets.
- RecyclerView Animators - library that allows developers to easily create RecyclerView with animations.
- Material-Components - Material design components.
- Material Dialogs - library with extensible dialogs API for Kotlin & Android.
- Circle Image View - A fast circular ImageView.
- Dexter - Library that simplifies the process of requesting permissions at runtime.
- Places SDK - Build location-aware apps that respond contextually to the local businesses and other places near the user's device.
- Play Services
In order to build and use the app you need to add the following string resource on the "strings.xml" file with your Google Maps API Key. In order to get a Key see the following documentation Maps SDK for Android
<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">YOUR API KEY</string>
This app uses MVVM (Model View View-Model) architecture.
Awesome! If you would like to contribute you're always welcome!
Copyright 2020 Anibal Ventura
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.