About the App
EasyTrip is a pocket travel guide where the user can discover highlights and hidden gems in over 50,000 destinations worldwide, find point of interest nearby the user. They can be found simply searching them by proximity or by keyword.
It is a fully functional App which I made from scratch for Android Developer Nanodegree Program of Udacity school.
Skill level: advanced.
View on GithubFeatures:
- Find point of interest nearby the user searching by proximity or by keyword.
- Extensive information about interested places.
- Widget with weather forecast of the current place and/or the chosen destination place.
- The background and the app bar colour change automatically using the Dark Muted colour and the Light Vibrant colour extracted from the image used in the app bar respectively.
- Transition animations.
- The data of Top Destination on the home screen and the weather data are cached locally into a SQLite database, while the data of nearby places are fetched directly from server using an AsyncTask.
- Paid and Free module. The free version uses Google AdMob for displaying banner ads and Interstitial ads.
- Connected test to verify that all view respond as expected.
- The UI designed to meet the Material Design specifications.
Extensive information about interested places.
EasyTrip is provided of a collapsing app bar. The title and the app bar size which are larger when the layout is fully visible can be collapsed and became smaller as the layout is scrolled off screen, ensuring a wide view of places information. With the tabs layout an large number of places can be displayed in a single screen swapping right to left and vice versa, keeping a comfortable space of reading also for smaller screen commonly used while travelling.
Searching by proximity
EasyTrip provides a searching of interesting places by proximity. By the using of Google Maps services, the app finds the interesting places nearby the user and shows them on map. The places informations are fetched by the using of the Triposo api. In the App bar is shown the weather of the current location, fetching data from the Weatherbit server. By touching the fab button, the map collapse ensuring a comfortable space of reading also for smaller screen.
Widget with weather data
A widget showing weather information of the current location is provided with the app. By the using a JobDispacter service the weather data is cached at regular intervals from weather server into SQLite database for minimizing the server calls.
Libraries used
- Glide used to handle the loading and caching of images.
- Butterknife for binding Android view.
- Timber for logging.
- Volley for handle the http requests.
- Gson for Json parsing.
- Google Maps services for determine the current location and show the point of interest on map nearby the user.
- Google AdMob for displaying banner ads and Interstitial ads.
- Firebase JobDispatcher for scheduling background jobs.
- Android Support Preference V7 for saving settings.
- Recyclerview, cardview and design android support library for displaying the data. Android support palette, to extract prominent colours from an image and use it to set color of the Actionbar.