/BikeRacingIreland-AndroidApp

An Android app that will display the Bicycle Races in Ireland that are on the CyclingIreland Calendar.

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

Bike Racing Ireland - Android App

An Android app that will display the Bicycle Races in Ireland that are on the CyclingIreland Calendar.

Dependency Status

Initial Setup

  1. Follow the "Initial Database Setup" and "Build, Run and Test" steps in the CyclingIrelandEventsHTMLScraper project's README file.
  2. Follow the "Initial Database Setup" and "Build, Run and Test" steps in the CyclingIrelandEventsRestService project's README file.

Build, Run and Test

  1. Use Android Studio to build and run the app on the Emulator.

Version Alpha Features - Complete

  • Read BikeRaceWithStageDetails objects from CyclingIrelandEventsRestService.
  • Store BikeRaceWithStageDetails objects in a local database.
  • When reading the REST Service, only read races to the end of the month.
  • Present BikeRaceWithStageDetails objects in a ListView for the Master Fragment.
  • Present BikeRaceWithStageDetails objects in the Details Fragment.
  • Add a ProfileFilter to the ActionBar to filter on the Category of the User.

Version 1.0 Features - In Development

  • Apply an Icon to the App.
  • When the end of the ListView is reached, download the next month's races.
  • User is able to define their ProfileFilter.
  • Apply Styling to the User Interface
  • Use the Strava API and Google Maps Lite Mode to display the routes, in CardView style.

Version 2.0 Features

  • Add a Search to the Toolbar to search the local and remote repositories for bike race names.
  • Enable the user to set a Calendar Event for the Race. Store which races have Calendar
  • Add parts of the card for individual Stages of the BikeRace.

Android Oreo Refactoring Tasks

  • Use Room to reduce Database code. Room Sample from Google.
  • Use ViewModel and LiveData to maintain data when rotated.
  • Remove the code for the components that Room and Lifecycles replaces.
  • Retest with Android Oreo Components.