Skip to content

Ruthvikbr/Xplore-NU

Repository files navigation

Xplore NU 🚀

A self-guided tour companion app for Northeastern University’s Boston campus.

Deployment workflow

Overview 📕

Xplore NU is an Android application that enhances self-paced campus exploration with interactive tours


Purpose 💬

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.

Target Users 🧍🏻🧍🏻‍♀️

  • Visitors exploring campus independently
  • Prospective students during open houses
  • Current students for event details and campus info

Key Features ✅

  1. Self-Guided POI Tour
  2. Upcoming Campus Events
  3. AMA Chatbot
  4. Secure Authentication

Stack

Tools Link Version
Kotlin Kotlin
Jetpack Compose Jetpack Compose
Dagger Hilt Dagger Hilt
Coroutines Coroutines
Architecture Components Android Architecture Components

Screenshots

---

CI Pipeline Configuration Highlights ⚙️

  • Structure:
    Each workflow file (.github/workflows/*.yml) has:

    1. A name (e.g., “Unit Testing workflow”).
    2. Triggers (e.g., on: pull_request: branches: [ dev ]).
    3. 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 on qa.
  • Containers/Environments:

    • Runs in an ephemeral Ubuntu container provided by GitHub (ubuntu-latest).
    • Java 17 is installed via actions/setup-java.

5. Conclusion

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.

Releases

No releases published

Contributors 3

  •  
  •  
  •  

Languages