Are you struggling to find your next holiday destination? Are you looking where to eat/drink and sleep like a local while on holiday? Ultratravel app is here to help you explore your next holiday destination without moving an inch from home with recommendations on the best place to eat/drink and sleep.
This app is for travelers that are looking for tips and recommendations.
Main features of the app:
- Information about current available cities (Amsterdam, Barcelona, Hong Kong, New York, Paris, Rome) more cities will be added in future releases
- Access detailed information of restaurants, hotels and tours per each city
- Map view of the places of interest
- Save favourites places
The only data that will be persisted are the favourites. The app will use a content provider to store the data for the user.
The back button is an historic back so it will follow the flow of actions the user took backwards.
Picasso: this library is used for image handling Firebase: this library is used to handle any static data (e.g. locations availables, locations main information and main image) Retrofit: this library is used to handle HTTP requests Play services - maps : this library is used to handle map view for the places of interest
This is the section where you can take the main features of your app (declared above) and decompose them into tangible technical tasks that you can complete incrementally until you have a finished app.
This task aims to build the initial skeleton of the app and connection to the 2 APIs
- Subtasks
- Configure all the initial libraries for the app (list mentioned above)
- Enable the app for material design
- Configure the color palette to be used througout the app
- Integrate steps before using Firebase account to get static info (places, images, main information)
- Integration steps before using Yelp API (keys to be shared on submission of the project privately) to get places of interest per each city
- Subtasks:
- Get data from Firebase account handling http request/response
- Build UI for HomeActivity (screen 1)
Task to implement city home screen
- Subtasks
- Connect HomeActivity to CityActivity and back
- Get data from Firebase for the city requested
- Build UI for CityActivity (screen 2)
- Create floating menu for additional actions
Task to implement places of interest (restaurant, hotel, events) list view
- Subtasks
- Connect Floating menu button with different List views
- Build UI for ListPlacesActivity (screen 4)
- Build child UI for RestaurantActivity
- Build child UI for HotelActivity
- Build child UI for EventsActivity
- Get API data from Yelp API for the selected city and the selected topic (restaurant, hotel, event)
Task to implement map view for list of places of interest
- Subtasks
- Include Google Play Services - Maps
- Include switch icon in the ListPlacesActivity (screen 4) on the top right to switch views
- Extend ListPlacesActivity for the map view (screen 5)
Task to implement single place of interest view.
- Subtasks
- Create PlaceActivity (screen 6)
- Create link between list item and item activity
- Implement call to action for Reservation
- Implement call to action for Contact
- Handle any possible edge case scenario (e.g. no telephone number, no website)
Task to implement Favourites functionality.
- Subtasks
- Create ContentProvider to add and get favourites
- Add favourite floating button on the PlaceActivity
- Build functionality to save Favourite place of interest in the content provider
- Build Menu item for the home screen to include Favourite option (screen 7 left)
- Build UI for FavouriteActivity (screen 7 right)
This task includes:
- check that without network connection the app is still behaving correctly and still have access to favourite.
- Check that the UI is not breaking at orientation change
- Check accessibility requirement
This task includes:
- Integrate Google analytics into the app
- Track the main activity and the usage
This task includes:
- Create basic home widget with the list of favourites from within the app