Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📊 Smart Data Dashboard

Dashboard Banner


Python Streamlit Pandas KaggleHub License: MIT


An intelligent, interactive data analytics dashboard built with Python and Streamlit. Upload a CSV, paste raw data, or pull datasets directly from KaggleHub — then explore, visualize, and download professional reports in seconds.


Features · Tech Stack · Screenshots · Getting Started · Usage Guide · Project Structure · Contributing


✨ Features

  • 📁 CSV Upload — Drag and drop any CSV file for instant analysis
  • 📋 Raw Data Paste — Paste data directly into the data/raw/ folder for quick ingestion
  • 🌐 KaggleHub Integration — Browse, download, and analyze datasets from Kaggle without leaving the dashboard
  • 📊 Interactive Visualizations — Dynamic charts and graphs powered by Streamlit
  • 🔍 Automated Data Profiling — Summary statistics, missing values, data types, and distributions at a glance
  • 📥 Report Downloads — Export analysis reports as downloadable documents
  • Real-time Analysis — Instantly reacts to your data with zero configuration
  • 🎨 Clean, Intuitive UI — User-friendly interface built for analysts and non-technical users alike

🛠️ Tech Stack

Layer Technology
Language Python 3.9+
Dashboard Framework Streamlit
Data Manipulation Pandas, NumPy
Visualizations Matplotlib, Seaborn, Plotly
Dataset Source KaggleHub
Report Export CSV / PDF / Excel
Data Storage Local filesystem (data/raw/)

📸 Screenshots

📌 Place your screenshots inside the assets/ folder in your project root. They will render automatically here on GitHub.


1. 🏠 Dashboard Home

The main landing page of the Smart Data Dashboard — clean, minimal, and ready for data.

Dashboard Home


2. 📁 CSV File Upload

Users can upload any CSV file directly through the interface. The dashboard immediately reads and previews the data.

CSV Upload


3. 📋 Raw Data Input

Users can paste or place raw data files in the data/raw/ folder. The dashboard detects and loads them automatically.

Raw Data Input


4. 🌐 KaggleHub Dataset Browser

Browse and download datasets directly from KaggleHub. Search for any public dataset and pull it into the dashboard with one click.

KaggleHub Integration


5. 🔍 Data Preview & Profiling

Instantly preview your dataset with a structured table view, column summaries, data types, and shape information.

Data Preview


6. 📊 Summary Statistics

Automated descriptive statistics including mean, median, standard deviation, min/max values, and null counts per column.

Summary Statistics


7. 📈 Interactive Charts & Visualizations

Explore your data visually with dynamic charts — histograms, bar charts, scatter plots, correlation heatmaps, and more.

Visualizations


8. 🗂️ Column-Level Analysis

Drill down into individual columns to understand distributions, unique values, and outliers.

Column Analysis


9. 📥 Report Download

Generate and download a full analysis report of your dataset directly from the dashboard.

Report Download


🚀 Getting Started

Prerequisites

Ensure you have the following installed:


📦 Installation

1. Clone the repository

git clone https://github.com/YOUR_USERNAME/smart-data-dashboard.git
cd smart-data-dashboard

2. Create and activate a virtual environment (recommended)

python -m venv venv

# On macOS/Linux
source venv/bin/activate

# On Windows
venv\Scripts\activate

3. Install dependencies

pip install -r requirements.txt

4. Set up Kaggle API credentials (for KaggleHub integration)

  • Go to kaggle.com → Account → API → Create New Token
  • Download kaggle.json and place it at:
    • macOS/Linux: ~/.kaggle/kaggle.json
    • Windows: C:\Users\YOUR_USERNAME\.kaggle\kaggle.json

5. Run the dashboard

streamlit run app.py
streamlit run app_generic.py

6. Open in your browser

http://localhost:8501

📖 Usage Guide

Option 1 — Upload a CSV File

  1. Launch the dashboard
  2. Click "Upload CSV" on the sidebar or main panel
  3. Select any .csv file from your computer
  4. The dashboard will instantly load, preview, and analyze your data

Option 2 — Paste / Place Raw Data

  1. Copy your CSV or raw data file
  2. Save it into the data/raw/ folder inside the project directory
  3. Refresh the dashboard — your file will appear in the data source selector
  4. Select it to begin analysis

Option 3 — Download from KaggleHub

  1. Navigate to the KaggleHub section in the dashboard
  2. Search for any public Kaggle dataset by name or keyword
  3. Click Download — the dataset is fetched and loaded automatically
  4. Proceed with full analysis directly in the dashboard

Generating & Downloading Reports

  1. After loading your data, explore the analysis panels
  2. Click "Download Report" from the sidebar or results panel
  3. Your report is generated and saved as a structured downloadable document

📁 Project Structure

smart-data-dashboard/
├── app.py                        # Main Streamlit application entry point
├── requirements.txt              # Python dependencies
├── .env                          # Environment variables (not committed)
├── .gitignore
│
├── data/
│   └── raw/                      # Place or paste raw CSV files here
│
├── assets/                       # Screenshots for README and UI
│   ├── screenshot1.png
│   ├── screenshot2.png
│   └── ...
│
├── modules/
│   ├── uploader.py               # CSV upload and file handler logic
│   ├── profiler.py               # Data profiling and statistics
│   ├── visualizer.py             # Chart and visualization generation
│   ├── kaggle_loader.py          # KaggleHub integration
│   └── report_generator.py       # Report export logic
│
└── README.md

📋 Requirements

Below are the core packages used. The full list is in requirements.txt.

streamlit
pandas
numpy
matplotlib
seaborn
plotly
kagglehub
openpyxl
fpdf2
python-dotenv

Install all dependencies at once:

pip install -r requirements.txt

🔧 Configuration

Customize the dashboard behavior using a .env file in the project root:

# Kaggle credentials (alternative to kaggle.json)
KAGGLE_USERNAME=your_kaggle_username
KAGGLE_KEY=your_kaggle_api_key

# Default data directory
DATA_DIR=data/raw

# Report output directory
REPORT_DIR=reports/

🤝 Contributing

Contributions are welcome and appreciated! Here's how to get involved:

# Fork the repository, then:
git checkout -b feature/your-feature-name
git commit -m "feat: describe your change"
git push origin feature/your-feature-name
# Open a Pull Request

Please make sure to:

  • Follow the existing code style and project structure
  • Test your changes locally before submitting a PR
  • Update this README if you add new features or change any setup steps

🛡️ License

This project is licensed under the MIT License — see the LICENSE file for full details.


🙏 Acknowledgements

  • Streamlit — for making data apps incredibly easy to build
  • KaggleHub — for seamless public dataset access
  • Pandas — the backbone of all data wrangling
  • Plotly — for beautiful interactive visualizations
  • The open-source data science community 💛

Releases

Packages

Contributors

Languages