Skip to content

sayanrup/Bug_Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Bug Tracker Dashboard

A single-page, client-side dashboard for tracking bug closure performance against Turnaround Time (TAT) SLAs. Upload your bug list (Excel or CSV export) and it renders KPIs, charts, and a breach-tracking table — no server, no data upload, everything runs in your browser.

Live version: enable GitHub Pages for this repo (Settings → Pages → Deploy from branch → main / / (root)) and it will be served at https://<your-username>.github.io/Bug_Tracker/.

What it does

  • Bug Closure % within TAT — the headline KPI: of all closed bugs (Closed / Rejected / Bugs Treatment), what % were closed within their priority's TAT window.
  • TAT rules (all in working days, Mon–Fri, minus configured holidays):
    • High priority: 2 working days
    • Medium priority: 7 working days
    • Low priority: 30 working days
  • Breach tracking — open bugs past their TAT deadline are flagged as "Breached." You can mark a breach as Accepted (e.g. an acknowledged exception) with an optional note — it's excluded from the Breached KPI/chart but stays visible in the table with an "Undo accept" option.
  • Filters by created date range, priority, status, project, assignee, and free-text search.
  • Every chart has a "Table view" toggle for an accessible, sortable data view.
  • Light theme by default, with a dark mode toggle.

Using it

  1. Open index.html (via GitHub Pages, or serve.ps1 locally — see below).
  2. Click Load sample data to preview with synthetic data, or Upload Excel / CSV to load your real export.
  3. Confirm the column mapping dialog — columns are auto-detected, but you can correct any that don't match.
  4. Adjust Settings (gear icon) if needed:
    • TAT working days per priority
    • Which status values count as "closed"
    • Public holidays to exclude from working-day counts (none are pre-loaded — add your organization's holidays here)

All settings and accepted-breach decisions are saved in your browser's localStorage, so they persist across reloads and re-uploads on the same machine.

Expected columns

The dashboard auto-detects columns by header name (case-insensitive). It was built against an OpenProject/Jira-style work-package export, so these headers are recognized out of the box:

Purpose Recognized headers
Bug ID id
Subject Subject, Title, Summary
Status Status
Priority Priority (must contain High / Medium / Low)
Created date Created on, Created date, Created
Closed date (optional) Closed date, Closed on, Resolution date, Resolved on/date
Fallback closure date Updated on, Updated date, Updated
Assignee Assignee, Assigned to
Project Project
Category Category, Module

If your sheet has an explicit "Closed Date" / "Resolution Date" column, map it — otherwise the dashboard uses Updated on as the closure timestamp for closed bugs.

Dates are read as DD-MM-YYYY (also accepts DD/MM/YYYY, with or without a time suffix, and native Excel date cells).

Local development

No build step and no Node/Python dependency required. To preview locally on Windows:

powershell -ExecutionPolicy Bypass -File serve.ps1 -Port 5500

Then open http://localhost:5500/. (This is only for local preview — GitHub Pages serves the static files directly, no server needed.)

Deploying updates

index.html loads style.css, sample-data.js, and app.js with a ?v=N query string. Browsers can aggressively cache these files on GitHub Pages, so bump the v=N number in index.html on every deploy that changes those files — otherwise returning visitors may keep running stale JS/CSS after a hard refresh isn't done. If a dashboard update doesn't seem to show up for a user, ask them to hard-refresh (Ctrl+Shift+R) first.

Privacy

Your bug data never leaves the browser — parsing happens entirely client-side via SheetJS. Nothing is uploaded anywhere, which is also why this works unmodified on GitHub Pages.

Project structure

index.html              Page shell
assets/css/style.css    Styling (light/dark theme)
assets/js/app.js        Parsing, TAT engine, filters, charts
assets/js/sample-data.js Synthetic sample data (not real bug data)
assets/vendor/          Vendored Chart.js + SheetJS (offline-friendly)
serve.ps1                Local static file server for development

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors