I developed this project as part of the graduation steps of the Android Development Nanodegree course (designed by Google and Udacity).
App design follows the course project “rubric”, with requirements related to the implementation of many important Android framework features (like Activities, Services, Loaders, AsynchTasks, Widgets, Google Firebase Authentication and Real-time Database, Material Design UI, etc.).
The app also uses well known Android libraries like AndroidAnnotations, GSon, Picasso and GraphView.
The app is a swim training utility to keep track of open water swimming. Common features are:
- By the watch module: keep track of open water swimming sessions by recording swim length, duration, GPS coordinates of points
- By the phone module: manually record user feedback about marine weather conditions like flow, waves and perceived temperature
- List swim sessions
- Present swimming performance in a graph displayed by an Home Screen widget
- Backup and restore swim sessions on Google Firebase cloud service
- Present news about the “open water swim world” coming from external service
Please note that the google-services.json file is not published on this repository, so to build the app you must add your own (related to your Google Cloud service account)
Design Note: unfortunately the development process could not involve a graphic designer, so even implementing some of the Material Design specs, the look and feel of the app is quite basic.