UI Patterns: The application was designed following recommendations from Google on android user interaction. The navigation bar at the top is used to select the active screen. When a user clicks on one of the tabs, the appropriate fragment is loaded onto the main screen. If that fragment was previously loaded, its data were stored when the user navigated away and are restored when it is reselected. The required code for such activity is in BaseFragment.java, which is an abstract class that defines a placeholder for code that manages fragment data storage and retrieval. It also contains functions used by multiple fragments.