Skip to content

This repository contains a Multi-Page Dash Application designed to provide interactive visualizations of geo-spatial data, focusing on population and GDP. The app offers insights into demographic and economic trends through interactive maps and various types of charts. It is built with Python, using Plotly and Dash, and is deployed on Heroku.

License

Notifications You must be signed in to change notification settings

TouradBaba/multi-page_dash_application

Repository files navigation

Population and GDP Data Visualization Dashboard

Population and GDP Data Visualization Dashboard

This repository contains a multi-page Dash web application designed to visualize population and GDP data interactively. The app provides insights into demographic trends, economic indicators, and geographic distributions through interactive maps and various types of charts. It is deployed on Heroku and PythonAnywhere.

Table of Contents

  1. Features
  2. Deployment
  3. Installation and Setup
  4. Data Sources
  5. Structure of the Repository
  6. Screenshots

Features

  • Interactive Dashboards: Explore population and GDP trends by country and region interactively.
  • Geospatial Visualization: Utilize interactive maps to visualize population density and GDP distribution.
  • Multi-page Application: Navigate between different sections dedicated to population and GDP data.
  • Deployment: Accessible online via Heroku and PythonAnywhere.

Deployment

The application is deployed on both Heroku and PythonAnywhere. You can access it at the following locations:

Note: When accessing the app for the first time, figures may take up to 1-2 minutes to load. Reloading the page after this initial delay will ensure the figures appear correctly.

Installation and Setup

To run this application locally:

  1. Clone this repository:

    git clone https://github.com/TouradBaba/multi-page_dash_application.git
  2. Install dependencies:

    pip install -r requirements.txt
  3. Run the application:

    python app.py

    Open http://127.0.0.1:8050/ in your web browser to view the app.

Data Sources

Structure of the Repository

  • jupyter_notebooks/: Contains Jupyter notebooks used for data exploration and analysis.
  • assets/: Stores some screenshots and the Solar theme from Bootswatch.
  • data/: Holds cleaned and processed datasets used by the application.
  • pages/: Includes Python scripts defining different pages of the Dash app.
  • .gitattributes: Git attributes configuration file.
  • .gitignore: Git ignore configuration file.
  • Procfile: Heroku configuration file specifying the application server.
  • app.py: Main Python file defining the Dash application and its layout.
  • requirements.txt: List of Python dependencies required to run the application.
  • runtime.txt: Specifies the Python runtime version used by the application.

Screenshots

1-GDP Page

This image displays a map showing GDP data worldwide. GDP Page

This image presents a map displaying GDP data when a specific country is selected.

GDP Page

This animated GIF visualizes how GDP varies across countries over different time periods.

GDP Page

This image shows additional visualizations and figures related to GDP data.

GDP Page

2-Population Page

This image displays a map showing population data worldwide. Population Page

This image displays a map showing population data when a specific country is selected.

Population Page

This image includes a heatmap and additional figures related to population data.

Population Page

This image shows a heatmap and related figures specifically when a region is selected.

Population Page

About

This repository contains a Multi-Page Dash Application designed to provide interactive visualizations of geo-spatial data, focusing on population and GDP. The app offers insights into demographic and economic trends through interactive maps and various types of charts. It is built with Python, using Plotly and Dash, and is deployed on Heroku.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published