Skip to content

EKarton/On-Transit-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

On Transit App

Description

Do you sleep or work during your commute? Do you often miss your stop because of that? Are you frusterated in finding when and where your stop will take place during your commute? Do you want to be notified when your stop is approaching?

The On Transit app may be the solution for you. Equipped with a fast trip detection algorithms, it automatically predicts which bus / train you are taking based on your GPS location and time. Moreover, you can create alarms for your bus stop, which notifies you when your stop is approaching!

The On Transit project is a full stack software development project. The backend is comprised of several microservices, a Mongo DB database, and a data processor app. The frontend is a React web app and an Android app.

Table of Contents

  • Overview
  • Installation
  • Usage
  • Credits
  • License

System Architecture

This project is comprised of several components that work together to make the project very scalable while maintaining high performance.

Overview of Web App

Users are able to determine which bus they are on, and dispatch alerts when their stop is approaching via a web browser. The notification is dispatched via the computer's notification panel. The UI looks like this:

More details on the UI can be seen in the README file

Overview of Android App

Users can also use the Android app to know which bus they is on, and be notified when their stop is approaching.

More details on the UI can be seen in the README file

Installation

Required Programs and Tools:
  • Linux machine
  • Mongo DB (optional: Mongo DB Compass)
  • Node JS v8.0+
  • Android Studio
Step 1: Setting up Mongo DB
  1. Install Mongo DB on your local machine.
  2. Optionally, you can install Mongo DB Compass
  3. Start Mongo DB by typing on the terminal sudo service mongod start
Step 2: Run the Data Aggregator service to get the latest transit data
  1. Please follow the installation section of README file to see how to get the latest transit data locally.
Step 3: Running the Trips Locator Microservice
  1. Please follow the installation section of README file to see how to install and run the Trips Locator microservice locally.
Step 4: Running the Trip Details Microservice
  1. Please follow the installation section of README file to see how to install and run the Trip Details Microservice locally.
Step 5: Running the Vehicles Locator Microservice
  1. Please follow the installation section of README file to see how to install and run the Vehicles Locator Microservice locally.
Step 6: Running the API Gateway Microservice
  1. Please follow the installation section of README file to see how to install and run the API Gateway Microservice locally.
  2. Open the port to your local network by running the comnmand sudo ufw allow 3000. After running the command for the first time, run it again for the second time to confirm.
Step 7: Running the Web App
  1. Please follow the installaton section of README file to see how to install and run the web app locally.
Step 8: Installing and running the Android App
  1. Get your local network IP address by running the command hostname -I. Save this as it is needed to allow the Android app to connect to the API Gateway Microservice.
  2. Please follow the installation section of README file to install and run the Android app on your local phone with the IP address you saved from the previous step.

Usage

Please note that this project is used for educational purposes and is not to be used commercially. We are not liable for any damages or changes done by this project.

Credits

Emilio Kartono, the sole creator of this project.

Licence

This project is protected under the GNU Licence. Please refer to LICENCE.txt for further details.

About

A web and mobile app that automatically detects which bus you are on and notifies you when your stop is nearby

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published