This project was developed as part of the Msc Computer Science (Conversion) course, from June 2021 - August 2021. The four team members involved in the planning, development and testing of the application are Michelle Duggan, Meng Chen, Jane Slevin and Kai Xu. This application aims to provide Dublin Bus passengers with accurate travel time estimates by training models on 2018 historical bus data, and 2018 weather data (with all Jupyter Notebooks detailing our data analysis approach and the creation of our machine-learning models for journey time prediction located in the data_analytics folder on branch data_analytics_notebooks). Other features have also been developed as means to provide passengers with real time information, saved preferences and relavent travel information based on users' location.
This repository contains the code required to set up and host the application locally, but does not have the database credentials required to run the application. Create a dbinfo.py file in the mysite directory and fill in your own database info to have a working project. Not that if you wish to use cronjob to fill your database, the correct pathways must be configured in the paths.json file located in the weather/static directory. The file must look like this:
myhost="...."
mypasswd="..."
myuser="..."
mydatabase="..."
mycharset="utf8mb4"
engine = f"mysql+mysqlconnector://{myuser}:{mypasswd}@{myhost}:3306/{mydatabase}"
The live version of the application is deployed on a UCD server https://ns1.nofussbus.live.nofussbus.live/ .
Basic functionality:
- Input of origin and destination address
- Input of date and time
- Map representation of the route
- Route detail
- Predicted travel time estimate
Additional Functionality:
- User account creation
- Saving of favourite stations
- Live bus tweets
- Live traffic updates
- Live bus schedule for saved stations
- Saving of plans
Navigate to the 'Wiki' panel to read about the development process.
Run the app locally
- Create a conda environment
- Git clone this repo into a folder
- Navigate to the downloaded file and check there is a requirements.txt file
- Run pip install -r requirements.txt
- Execute the command : 'python manage.py runserver' (url : http://127.0.0.1:8000/map/)
- If you wish to add the cron scripts to your own system, 'run python manage.py crontab add' (contact us for the database information required to use these)
- Enable location services