Giter VIP home page Giter VIP logo

ubc-mds / cost_of_living_py Goto Github PK

View Code? Open in Web Editor NEW
1.0 0.0 1.0 5.67 MB

Python-based dashboard that explores the cost of living of different cities for new college graduates. Types of graphs and widgets include bar graphs, maps, and drop down menus.

Home Page: https://cost-of-living-comparison.herokuapp.com/

License: MIT License

Procfile 0.30% Python 96.61% Dockerfile 3.09%
plotly-dash data-visualization dashboard python maps bargraph radio-buttons dropdown

cost_of_living_py's Introduction

Exploring the cost of living

Authors: Affrin Sultana, Arushi Ahuja, Jiwei Hu, Margot Vore
The cost-of-living-comparison dashboard can be accessed here

This python-based dashboard is designed to help new college graduates explore the cost of living in different major cities around the world.Our dashboard aims to ease the decision making for the last factor mentioned.In this project , we are using the Cost of Living - NUMBEO Dataset which is avaliable in Kaggle. More details about the usage of this dashboard can be found in the proposal document.

Usage

App link on Heroku

Using our app online is as easy as clicking the link!

Run the app locally using docker

To run this app using Docker, write the following commands after cloning the repo:

git clone https://github.com/UBC-MDS/Cost_of_living_py.git
cd Cost_of_living_py
docker-compose build
docker-compose up

Finally, open the app in the following URL localhost:8000/.

Run this app locally without Docker

To install the dashboard and run it locally,follow the steps below:

Run the following command at the root directory of the project:

git clone https://github.com/UBC-MDS/Cost_of_living_py.git
cd Cost_of_living_py
pip install -r requirements.txt

Run the dashboard

python src/cost_of_living_app.py

The dashboard can be accessed locally in http://localhost:8050/.

Our Motivation

Students completing their degree spend the last 3 to 4 months of their last semester wondering: what next? Students who are looking to work after graduating especially have questions about the current job market, companies and whether they will be able to afford moving to a new country or city for a job. There should be a one stop solution where in these users(graduating students) can simply key in the desired city or region and estimated income which would give them information about the cost of living as well as the expected savings per month to help them plan better.

Our Solution

We have designed an interactive dashboard to give the users flexibility to compare the breakdown of monthly expense from different cities using a series of drop-down menus. We are planning on providing 3 different menus for the users to explore. The first menu allows the user to pick different global cities to compare living expenses across, with all expenses shown in USD regardless of the location. If the user is unsure what cities they are interested in but want to explore a given region of the world,they can search by global region which will display all cities within the selected area. The second drop down menu allows the user to select a subset of monthly expenses to explore from average rent prices and monthly food expenditures. Finally, the user will be able to enter their expected salary in order to examine how their monthly wages will compare to their monthly expenditures.

Description of the Dashboard

We have created 4 different visualizations within the dashboard.

  • The first plot is a bar chart that shows the breakdown of monthly expenses per city selected by the user.
  • The second chart shows the surplus or deficit of living in each selected city, considering all monthly expenses and the users expected salary.
  • The third plot shows the prices of buying a property
  • The fourth plot is a geospatial representation which depicts desired living expenses in cities of interest.

Following actions can be performed on our dashboard :

  • Select the expense from a range of options.
  • Filter the visualizations based on a desired city/cities of interest from the dropdown.
  • Filter the visualizations based on a desired region of interest from the dropdown.
  • Enter the expected monthly salary in USD to get an estimate of the savings.

Contributing

Interested in contributing? Check out the contributing guidelines. Please note that this project is released with a Code of Conduct.Any feedback or enhancements are welcome.By contributing to this project, you agree to abide by its terms.

The following softwares were used for the creation and deployment of this dashboard. To learn more about them, please vist:

License

cost-of-living-comparison dashboard was created by Affrin Sultana, Arushi Ahuja, Jiwei Hu, Margot Vore. It is licensed under the terms of the MIT license.

Credits

The raw data for cost-of-living-comparison dashboard was sourced from this Kaggle dataset

cost_of_living_py's People

Contributors

affrin101 avatar arushi282 avatar hjw0703 avatar voremargot avatar

Stargazers

 avatar

Forkers

affrin101

cost_of_living_py's Issues

Reflections

document on what we have implemented in our dashboard so far and explain what is not yet implemented

Teamwork Contract

This thread is for questions and comments about the team work contract

Data Processing

This thread is for questions and comments about the data preprocessing

Links to the commit of the new implemented features as per the feedback

Based on the peer feedback received in issue

Following are the links to the commits and changes implemented:

  • a581d02 - This allows for multiple regions to be selected and the plots respond to this change. This feedback was suggested by our classmates
  • f65abf0 - This commit allows multiple costs to be selected at once so the user can have more control over what they want to explore. This feedback was suggested by our classmates.
  • cbc0543 - This commit changed the map projection, so the map is more readable. This was an improvement we decided to make as a team.
  • cf9fa45 - This commit removed the opacity of the selected cities from the heat map, as we thought it did not add much value. This feedback was suggested by our classmates
  • a545cfc - This commit added a new tab to the app which included details on the dashboard works. This feedback was suggested by our classmates
  • 12f70c6 - This commit allowed modify the placeholder of City/region dropdown to indicate the user to select either city or region. This feedback was suggested by our classmates
  • cf9fa45 - This commit changed the y-axis title of the Property price plot to add more information that the price is per square meter. This feedback was suggested by our classmates

Project Proposal

This thread is for any questions or comments about the project proposal

Improve the ReadMe documentation

Expand on the README file to be a welcoming place for anyone coming to your project for the first time

  • For users
  • For contributors

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.