manishwaraprabhu / phonepe-data-visualization-dashboard

An interactive Streamlit and Plotly dashboard that extracts, processes, and visualizes digital payments and user data from the PhonePe Pulse GitHub repository using MySQL and Python.

Repository from Github https://github.commanishwaraprabhu/phonepe-data-visualization-dashboardRepository from Github https://github.commanishwaraprabhu/phonepe-data-visualization-dashboard

πŸ“Š PhonePe Pulse Data Visualization and Exploration

This project aims to extract, process, and visualize large-scale data related to digital transactions and user statistics from the PhonePe Pulse GitHub repository. The data is transformed and presented through an interactive and user-friendly web dashboard built using Streamlit and Plotly.

πŸš€ Project Overview

  • πŸ“ The project was developed locally in VSCode, within a newly created virtual environment.
  • πŸ”— I cloned the PhonePe Pulse repository from the GitHub link provided by the GUVI team to extract and download the required dataset.
  • πŸ› οΈ A new database named phonepe_pulse.db was created, and the extracted data was structured into appropriate tables and inserted using custom scripts.
  • πŸ“Š A two-page Streamlit dashboard was designed and developed based on the core requirements of the project.

🧱 Streamlit App Structure

The app consists of two main pages:

1. Dashboard Page

Provides an intuitive interface for exploring digital transaction and user data across India.

Sidebar Navigation Includes:

  • πŸ“„ Select Page dropdown: Dashboard or Query Data
  • πŸ”˜ Radio Buttons: Transactions and Users
  • πŸ—“οΈ Select Year dropdown
  • πŸ“† Select Quarter dropdown

When Transactions is selected:

  • πŸ—ΊοΈ Interactive 2D India map
  • Hovering over any state shows:
    • State name
    • Total Transaction Amount
    • Total Transaction Count
  • πŸ“‰ Transactions Table:
    • Total Transactions (Count)
    • Total Payment Value (Amount)
    • Average Transaction Value
  • πŸ“Š Categories Table:
    • Merchant payments
    • Peer-to-peer payments
    • Recharge & bill payments
    • Financial Services
    • Others
  • πŸ”˜ Top 10 insights: States, Districts, Postal Codes

When Users is selected:

  • πŸ—ΊοΈ Map showing:
    • State name
    • User Count
    • User Percentage
  • πŸ“‰ Users Table:
    • Registered PhonePe Users
    • PhonePe App Opens
  • πŸ”˜ Top 10 insights: States, Districts, Postal Codes

2. Query Data Page

Provides analytical insights derived from SQL queries on the underlying database.

  • 🧠 Includes 10 predefined analytical questions
  • 🧾 SQL queries display insights based on user selection

🧠 Learning Outcomes

  • βœ… GitHub data extraction
  • βœ… Data cleaning with Pandas
  • βœ… SQL database integration
  • βœ… Streamlit + Plotly dashboard creation
  • βœ… Geo-visualization with maps
  • βœ… Writing and integrating SQL queries

πŸ“‚ Technologies Used

  • Python
  • Pandas
  • Streamlit
  • Plotly
  • MySQL / SQLite
  • mysql-connector-python
  • Git / GitHub

πŸ“Œ Dataset

🏁 How to Run Locally

  1. Clone the repository
  2. Install dependencies
    pip install -r requirements.txt
  3. Launch the app
    streamlit run phonepe_app.py

About

An interactive Streamlit and Plotly dashboard that extracts, processes, and visualizes digital payments and user data from the PhonePe Pulse GitHub repository using MySQL and Python.


Languages

Language:Python 100.0%