Proof of concept Android transit application that I used to try out some new Android concepts that I've never used before:
- Jetpack Compose
- Hilt
- Paging
- Kotlin coroutines
- SQLite Full-Text Search (FTS)
Before you can run the app, you'll need to run the script to generate the SQLite database that contains all the information such as bus stops, routes, times, etc.
- Make sure to download Node.js (14+), and yarn classic (npm can be used but yarn is recommended since there's a yarn.lock file included).
- To retrieve the files to generate the local database, download the zip file from here (https://www.octranspo.com/files/google_transit.zip) and extract the files to
scripts/gtfs-converter/ottawa
. - Open your terminal and cd into
scripts/gtfs-converter
. - Install necessary dependencies by running
yarn install
. - Compile the Typescript to Javascript by running
yarn build
in your terminal. - Generate the database by running
yarn start
. - Once the database is generated, copy the new .sqlite file into
app/src/main/assets/databases
Now that you've generated the database, you can now just open the project in Android Studio and click Run!