Smart Bug Tracker

Professional task management and bug tracking system

Built with Python and PyQt5. Supports Developer and Tester roles with role-specific workflows, sound system, and GitHub integration.


smart-bug-tracker — professional task management and bug tracking system built with Python and PyQt5. Supports Developer and Tester roles with role-specific workflows, sound system, and GitHub integration.

Professional Task Management: Comprehensive desktop application for managing tasks and bugs in software development projects. With separate Developer and Tester modes, it streamlines the entire workflow from bug reporting to task completion.

  • Dual-Mode Operation — Developer and Tester roles with tailored workflows
  • Single Instance Protection — Prevents multiple application instances with smart focus switching
  • Comprehensive Help System — F1 hotkey access with categorized keyboard shortcuts
  • GitHub Integration — URL validation, template support, and one-click copy
  • Sound System — Toggle sound effects (Ctrl+M) with audio feedback
  • Natural Version Sorting — dev → test → alpha → beta → rc → v1.0.0
  • Dark Theme — Modern dark UI designed for long working sessions
  • Export Capabilities — Statistics and reports in multiple formats

✨ Major New Features

  • Enhanced Single Instance Protection — Intelligent launch control with automatic focus
  • Comprehensive Help System — Extended keyboard shortcuts, organized help dialog
  • Advanced Keyboard Navigation — Task management shortcuts (Ctrl+D, Ctrl+P)
  • F1 Hotkey — Instant access to help from any window

🔧 Technical Improvements

  • Single Application Pattern — Robust singleton implementation
  • Cross-Platform Compatibility — Linux and macOS support
  • Improved Error Handling — Better recovery from edge cases
  • Enhanced Memory Management — Reduced resource consumption

Global Shortcuts

ShortcutAction
F1Open Help Dialog
Ctrl+QExit Application
Ctrl+MToggle Sound
Ctrl+OOpen Project
Ctrl+SSave Project
Ctrl+FFocus Search

Tab Navigation

ShortcutAction
Ctrl+1Tasks Tab
Ctrl+2Bugs Tab
Ctrl+3Statistics Tab

Task Management

ShortcutAction
Ctrl+NNew Task
Ctrl+EEdit Task
Ctrl+DMark Task Done
Ctrl+PMark Task In Progress

Bug Management

ShortcutAction
Ctrl+Shift+NNew Bug
Ctrl+Shift+EEdit Bug
Ctrl+Shift+DMark Bug Done
Ctrl+Shift+PMark Bug In Progress

Requirements:

  • Python 3.8+
  • PyQt5

Installation:

git clone https://github.com/aixandrolab/smart-bug-tracker.git
cd smart-bug-tracker
pip install -r requirements.txt
python main.py

First Run:

  • Choose Developer or Tester mode
  • Create a new project or open existing .bugtracker.json
  • Start managing tasks and bugs

Developer Mode:

  • Create and manage tasks
  • View and update bug reports
  • Track development progress
  • Assign tasks to team members
  • Version management and GitHub integration

Tester Mode:

  • Report bugs with detailed reproduction steps
  • Upload screenshots and attachments
  • Track bug status and resolution
  • View task progress and test instructions
  • Comment on bugs and tasks

Project Files:

smart-bug-tracker/
├── core/                    # Core application logic
│   ├── models/             # Data models (Bug, Task, Project)
│   ├── managers/           # Business logic managers
│   ├── ui/                 # User interface components
│   │   ├── windows/        # Main application windows
│   │   └── dialogs/        # Modal dialog windows
│   └── utils/              # Utility functions
├── core/data/sounds/       # Sound effects
├── main.py                 # Application entry point
├── README.md               # Documentation
└── requirements.txt        # Python dependencies

Data Structure (.bugtracker.json):

{
  "meta": {
    "name": "Project Name",
    "description": "Project description",
    "author": "Your Name",
    "created_at": "2025-01-01T12:00:00",
    "github_url": "https://github.com/username/repo",
    "versions": ["v1.0.0", "v1.1.0"],
    "developers": ["dev1", "dev2"],
    "testers": ["tester1", "tester2"]
  },
  "versions": {
    "v1.0.0": {
      "tasks": { ... },
      "bugs": { ... }
    }
  }
}

Version Sorting: dev → test → alpha → beta → rc → v1.0.0 → v1.0.1 → v1.1.0 → v2.0.0

  • Language: Python 3.8+
  • GUI Framework: PyQt5
  • Platform: Linux / macOS / Windows
  • License: MIT
  • Dependencies: PyQt5, Python Standard Library

Version 1.1.3 (Current Release - 2025)

  • Added: Single instance protection with smart focus switching
  • Added: Comprehensive help system with keyboard shortcuts reference
  • Added: Dozens of new keyboard shortcuts for improved productivity
  • Added: F1 help hotkey in all application windows
  • Enhanced: Cross-platform compatibility and stability
  • Improved: Application architecture and code maintainability

Version 1.1.2

  • Added: Project editing capabilities for developers
  • Added: Automatic version selection on startup
  • Added: Sound system with toggle (Ctrl+M)
  • Added: Enhanced GitHub integration features

General Questions

Q: Can I run multiple instances?
A: No. The application prevents multiple instances and focuses existing windows.
Q: Can I turn off sounds?
A: Yes! Press Ctrl+M at any time or click the sound button in the header.
Q: What Python version do I need?
A: Python 3.8 or higher is required.
Q: Can I run this on a server?
A: This is a desktop application designed for local use. For team collaboration, share the project file.

Usage Questions

Q: How do I assign tasks to team members?
A: Use the "Assigned To" field when creating or editing tasks.
Q: Can I change bug priorities after creation?
A: Yes! Edit any bug to change its priority.
Q: What's the difference between "Won't Fix" and "Invalid"?
A: "Won't Fix" means it's a bug but won't be addressed. "Invalid" means it's not actually a bug.
Q: How do I track which bugs belong to which tasks?
A: When reporting bugs, you can associate them with tasks. Use the task filter to see all related bugs.

Q: Where are screenshots stored?
A: Screenshots are referenced by file path, not embedded. Keep the image files accessible.
Q: Can I export my data for reporting?
A: Yes! Use the export options in the Statistics tab or File menu.

By using this software, you agree to the full disclaimer terms.

Software provided "AS IS" without warranty. You assume all risks.

Full legal disclaimer: See DISCLAIMER.md

License: MIT License

Links


Created by Aixandrolab

Copyright © 2025-2026, Alexander Suvorov. All rights reserved.