Skip to content

Cross-platform application that integrates NUS and public transport routes to provide efficient navigation and real-time bus arrivals (Orbital 2024)

Notifications You must be signed in to change notification settings

itsme-zeix/NUSMaps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LinkedIn LinkedIn

NUSMaps (Orbital 2024)

Effortlessly find routes and check bus arrival times, integrating NUS and public transport.
Check out our docs! »
Try the app in Expo Go! ·

About The Project

NUSMaps was developed to address a common problem faced by NUS students:

  • Finding optimal routes to and from NUS often involves a combination of NUS buses and public transport.
  • The NUSNextBus app only provides routing within NUS using NUS buses.
  • Google Maps only provides routing with public transport, excluding NUS bus routes.

The route finding algorithm in NUSMaps uses a weighted mix of LTA OneMap and NUS internal bus routes to provide comprehensive and efficient routing solutions.

For more information about our considerations and implementation details, check out our Orbital writeup!

Built With

React Native Expo Node.js Express.js TypeScript PostgreSQL Jest Docker GitHub Actions

(back to top)

Getting Started

Try out the app with minimal setup

  1. Download Expo Go on your iOS/Android device.

  2. Scan the following QR code:

    Expo Go QR Code

  3. This will redirect you to NUSMaps in Expo Go. Enjoy! 🎉

Important

Please note that the walking route service is no longer hosted, so the route-finding feature is currently unavailable. If you need to test the routing functionality, feel free to reach out to us for assistance.

Setting up NUSMaps Application to run locally

Prerequisites

  • API Authentication Key: You will need to contact us to obtain the API authentication key required by our REST API.

  • npm: Ensure you have the latest version of npm installed.

    npm install npm@latest -g
  • API Keys

    • Request the API authentication key from one of the collaborators and enter it in the .env file.
    • Follow the setup instructions to enable the Places API and get your free Google Maps Platform API Key at Google Maps Platform API.
  • Device/Simulator

    • iOS: Requires an iOS device or iOS Simulator installed on a macOS device.
    • Android: Requires an Android device or an Android Emulator installed.

Installation

  1. Clone the repository:

    git clone https://github.com/itsme-zeix/NUSMaps.git
  2. Navigate to the NUSMaps frontend directory:

    cd YOUR_PATH_TO/NUSMaps/frontend
  3. Install NPM packages:

    npm install
  4. Create a .env file in the /frontend directory.

  5. Enter the API keys obtained in the prerequisite step into the .env file:

    EXPO_PUBLIC_GOOGLEMAPS_API_KEY = ENTER YOUR GOOGLE MAPS API KEY
    EXPO_PUBLIC_ONEMAPAPITOKEN = ENTER THE API AUTHENTICATION KEY
  6. Run the application in the Expo environment. Follow the instructions provided to set up the environment on your preferred device. Note that the setup may vary depending on whether you are using iOS or Android (e.g., pod install may be required for iOS):

    npx expo start
  7. The application will be launched on your device/emulator. Enjoy! 🎉

(back to top)

Acknowledgments

These free resources have helped tremendously in making NUSMaps possible.

(back to top)

About

Cross-platform application that integrates NUS and public transport routes to provide efficient navigation and real-time bus arrivals (Orbital 2024)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published