A self-guided tour companion app for Northeastern University’s Boston campus.
Xplore NU is an Android application that enhances self-paced campus exploration with interactive tours
Xplore NU is a self-guided tour companion app that allows users to:
- Navigate through Northeastern’s campus using GPS-enabled maps.
- Learn about Points of Interest (POIs) with rich media.
- View upcoming university events.
- Interact with the AMA (Ask Me Anything) chatbot for real-time information.
- Visitors exploring campus independently
- Prospective students during open houses
- Current students for event details and campus info
- Self-Guided POI Tour
- Upcoming Campus Events
- AMA Chatbot
- Secure Authentication
Tools | Link | Version |
---|---|---|
Kotlin | Kotlin | |
Jetpack Compose | Jetpack Compose | |
Dagger Hilt | Dagger Hilt | |
Coroutines | Coroutines | |
Architecture Components | Android Architecture Components |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
-
Structure:
Each workflow file (.github/workflows/*.yml
) has:- A name (e.g., “Unit Testing workflow”).
- Triggers (e.g.,
on: pull_request: branches: [ dev ]
). - Jobs that run on
ubuntu-latest
with steps:- Checkout your repo
- Set up JDK (actions/setup-java@v4)
- Create
local.properties
from Secrets - Cache Gradle dependencies (actions/cache@v3)
- Run Gradle tasks (
test
,bundleRelease
, signing, deployment, etc.)
-
Actions:
-
Outputs:
- Build logs and test results in the GitHub Actions UI.
- A new signed
.aab
uploaded to Google Play’s internal track if onqa
.
-
Containers/Environments:
- Runs in an ephemeral Ubuntu container provided by GitHub (
ubuntu-latest
). - Java 17 is installed via
actions/setup-java
.
- Runs in an ephemeral Ubuntu container provided by GitHub (
By combining these two GitHub Actions workflows, we have a streamlined CI/CD process:
-
Every Pull Request to
dev
:- Runs unit tests to ensure code quality.
- No deployment; meant for code validation.
-
Every Push to
qa
:- Runs the same unit tests.
- On success, increments the version, builds a release bundle, signs it, and uploads to the Google Play internal testing track for QA.