Android app for Refuge Restrooms
You can use Android Studio to build this project, and it should behave like any other android studio project.
Clone the repo here and then in Android Studio go to File -> New -> Import Project and navigate to your clone. You may be prompted by Android Studio to install a few sdk dependencies.
By all means contribute :) Areas which definitely need work are listed as TODOs below. Feel free to add more.
Please try to stick to the Android Kotlin coding guidelines and guide to app architecture.
If you push code, please make sure it builds correctly. Feel free to use pull requests so that other contributors can check your code. Also create an issue when working on a new feature so we don't duplicate work!
- Main project Web App
- SMS messaging Twilio Application
- Android Native Application (Java)
- iOS Native Application
- Yo Application
- Access to the REST API to obtain location data of public toilets.
- Visualization of the data received from the REST API via a dynamic list. Each item is interactive and can be selected in order to show/hide additional information.
- Persistent storage of user preferences. For now, just the user choice between dark and bright theme.
- Visualization on a map of the POIs obtained from the API. These points are interactive and can be selected to show/hide additional information.
- Navigation between screens through a drop-down menu and a bottom navigation bar.
- Kotlin
- Jetpack Compose
- Material Design 3
- Retrofit
- Kotlin-serialization
- OpenStreetMap (osmdroid)
- OpenStreetMap for Android Compose
- Preferences DataStore
- Create "add bathroom" section
- Upgrade Scaffold and Buttom Navigation Bar components to Material 3. Current versions are not compatible with Material 3 theming. Quick fix was done calling the theme wrapper around the faulty components.
- Add links in "about" screen to GitHub, original project page, pateron...
- Detailed info list window
- Allow edit suggestions on restrooms like in web app
- Allow users to rate and report bathrooms
- Allow users to leave comments on bathrooms like in webapp
- Add translations
- Add more languages
- Search bar
- Search by address option -- need to translate address to lat/lng. Query search just filters by name, and seems to overload the API server, so timeout often occurs before response is received
- Auto-complete search?
- Have filter options for only returning accessible, unisex restrooms
- Add dynamic list scrolling (as you reach the end of the list, more restrooms are requested to the API and appended to the list when received)