Skip to content

Generic Dashboards, a versatile repository designed to enhance your project management experience on GitHub. This repo offers tools to generate burndown charts and other visual analytics, specifically tailored for GitHub projects.

License

Notifications You must be signed in to change notification settings

talquor/dashboards

Repository files navigation

📊 dashboards

Python Version Dockerized License: MIT Flask Swagger Docs Last Commit Issues


Generic Dashboards is a powerful and configurable analytics engine for GitHub Projects (Projects v2). It generates burndown charts and visual analytics tailored to sprint tracking, iteration planning, and velocity monitoring.


🚀 Features

  • 📉 Burndown Chart Generator
    • Tracks ideal vs. actual story points.
    • Scope creep detection with dynamic visualization.
  • 🧠 Automatic Sprint Detection
    • Reads Sprint iterations from GitHub Projects v2.
  • 🎯 API Endpoints
    • /api/burndownchart: JSON chart data
    • /api/burndownchart_image: PNG image
    • /api/burndownchart_image_detailed: Detailed annotated PNG
    • /api/burndownchart_image_bars: Open vs Closed SP bar chart
    • /api/sprints: Sprint schedule info
  • 📖 Swagger Docs: Built-in Flasgger UI at /apidocs
  • 🖥️ Optional Web UI at /ui

🛠️ Installation

1. Clone the Repo

git clone https://github.com/cosminmemetea/dashboards.git
cd dashboards

2. Create a Virtual Environment

python3 -m venv env
source env/bin/activate  # macOS/Linux
# or
env\Scripts\activate  # Windows

3. Install Dependencies

pip install -r requirements.txt

4. Run the App

python app.py

Visit:


5. Docker support

docker build -t dashboards-app . docker run -p 80:80 dashboards-app http://localhost/ui

🧪 cURL API Examples

➕ Submit Config

curl -X POST http://localhost:5000/api/config \
  -H "Content-Type: application/json" \
  -d @user_config.json

📊 Get Chart Image

curl http://localhost:5000/api/burndownchart_image > chart.png

📦 PyInstaller Packaging

macOS

pyinstaller --name Dashboards \
            --windowed \
            --add-data "LICENSE.md:." \
            --add-data "README.md:." \
            --hidden-import matplotlib \
            --hidden-import flasgger \
            --onefile app.py

Windows

pyinstaller --name Dashboards ^
            --windowed ^
            --add-data "LICENSE.md;." ^
            --add-data "README.md;." ^
            --hidden-import matplotlib ^
            --hidden-import flasgger ^
            --onefile app.py

🧩 GitHub Project Setup

  1. Milestones: Define them for sprints/releases.
  2. Issues: Add [Task] prefix and a numeric Story Points label.
  3. GitHub Projects v2:
    • Add Story Points (number field).
    • Add Sprint (iteration field).
  4. Link Issues to the Project.

See full instructions in the original documentation above for detailed setup.


📸 Screenshots

burn image


📄 License

MIT – Permissive open-source license allowing free use, modification, and distribution for any purpose, with minimal restrictions.

🤝 Contributing

Contributions make this repo better! Whether fixing bugs, adding features, or improving docs, you're welcome. Let's have fun!

About

Generic Dashboards, a versatile repository designed to enhance your project management experience on GitHub. This repo offers tools to generate burndown charts and other visual analytics, specifically tailored for GitHub projects.

Resources

License

Stars

Watchers

Forks

Packages

No packages published