This project was developed for the course "338025 Data Science Project - Optimizing Fleet Management" of Prof. Dr. Jan Kirenz at the Stuttgart Media University. The dashboard was developed by Lucie, Tim, Larisa, Jakob, Johannes.
This dashboard supports fleet managers and decision makers to gain insights into their automotive fleets and optimize them. The data foundation for this the NREL Fleet DNA project Truck Platooning Data and simulated data by Tim.
It consists of three pages for satisfying the need of different target groups:
- Home view: especially controllers and financial officer can quickly gain insights into the most important key metrics and make high level decisions (e.g. Revenue, Costs, Capacity Overview)
- Downtimes: this page enables fleet managers to easily monitor their fleet and respond to various challenges fast and confidently
- Vehicle overview: if detailed information about certain vehicles or their position in real time on a map is neded, fleet managers can view this information on this page
The wiki has the following sub pages:
- Home
- Goals
- Solution Approach
- User Research
- Design Concept
- Data Foundation
- Technology stack
- Data Science
- Dashboard Explanation
- Lessons Learned
- Potential Improvements
The files in this repository have the following purpose:
- .gitignore: enables to ignore files that should not be pushed like database config file
- apps: all of the dashboard views can be found here
- assets: logo and stylesheet
- csv_data_files: data foundation as CSV files (as a fallback in case of database issues)
- data_preparation: Python scripts for preparing the raw NREL Fleet DNA project Truck Platooning and simulated data
- hidden: needs to be created with a database.config file inside to connect to the project's PostgreSQL database (ask Johannes for database connection information)
- init.py: required to make Python treat the directories as containing packages
- app.yaml: contains the definition of the Python runtime, the entrypoint Gunicorn, and the database connection (need to be specified in the database.config as explained above
- data_preparation_run.py: Python script for running the data preparation
- database_connection.py: Python script for connecting to the database
- main.py: entrypoint of the application
- requirements.txt: consists of all dependencies necessary for running the application
This is the current software architecture. More information can be found on the(technology stack wiki page:
Are more detailed list can be found on the lessons learned wiki page
- Creation of business value from data insights (maintenance prediction)
- Predictions with XGBoost and data transformation with pandas and NumPy
- Deployment of Dash app via Gunicorn HTTP server on Google Cloud App Engine
- Working with different python libraries (e.g. Dash, Plotly. pandas, Numpy)
- Creating a dashboard with user-centric data visualization (different views for different target groups)
- Communication is key (GitHub tasks, video calls, documentation, comments)
MIT License - Copyright 2020 ©