This README.md file acts as the technical report for this project.
I declare that the code presented is my own, unless explicitly referenced or attributed to other sources.
I understand that SETU has a plagiarism policy which can lead to expulsion of students. As such, I take full responsibility for the originality and authenticity of this project. Dominik Kawka (20093701)
- User functionality: Creating and logging into an account.
- Google User Integration
- Create, View, Edit and Delete your tracks, managed via firebase
- Adding tracks to favourite
- Uploading/ changing profile picture to user
- View other users' submitted tracks
- Filter through various tracks via search bar option
- Pinpoint tracks starting/ending point via google maps, including filters
- Option to choose between Light and Dark mode
- Swipe support; swipe down to refresh list, left/right for editing/deleting
- Navigation Architecture Components + Model,View,ViewModel Architecture Pattern
- Firebase Auth + DB + Storage: Managing users, storing tracks,favourites and profile pictures
- Google Maps: Displaying user tracks on maps via pinpoints.
- Picasso: Image Handling
- Retrofit2: Creating custom API Model
- Timber: Used for logging/debugging
tracks
: All Tracksuser-tracks
: Tracks belonging to specific usersfavourites
: stores ID of track, and the ID of the user
I followed the Android Material Design as a guideline for the User Experience and Design.
Git workflow involved merging changes into a develop branch, which then flowed into a release branch, before finally integrating into the main branch. The release branch is used to create tagged releases.
- Labeled Returns: Return @onClickListener
- Scrollable Overlay on Maps: Overlay on Google Maps
- Mobile App Labs were used as a base for this project.