An industrial-grade desktop application for tracking tasks, analyzing productivity, and measuring equipment effectiveness. Built with Python and PySide6, featuring interactive visualizations using Plotly.
- Project Overview
- Features
- Screenshots & Components
- Installation
- Quick Start Guide
- Technology Stack
- Project Structure
- Troubleshooting
- Additional Documentation
The Time Taken for Tasks (TTT) Tracker is a comprehensive industrial engineering tool designed for:
- Manufacturing Engineers - Track production tasks and measure efficiency
- Project Managers - Visualize project schedules with Gantt charts
- Maintenance Teams - Monitor equipment performance and downtime
- Quality Engineers - Analyze production quality metrics
- Operations Managers - Make data-driven decisions using OEE and Pareto analysis
This application helps organizations implement Lean Manufacturing principles by providing real-time insights into task performance, equipment effectiveness, and resource utilization.
| Concept | Description |
|---|---|
| Standard Time | Predetermined time allowed for completing a task |
| Work Breakdown Structure (WBS) | Hierarchical decomposition of project tasks |
| OEE (Overall Equipment Effectiveness) | Measure of manufacturing productivity |
| Pareto Analysis | 80/20 rule for identifying vital few vs trivial many |
| Gantt Chart | Visual timeline for project scheduling |
- Create, edit, and delete tasks
- Assign tasks to team members
- Set standard times for tasks
- Start/stop timer for time tracking
- View task hierarchy (parent-child relationships)
- Track task status (Pending, Running, Completed)
- Organize tasks in hierarchical structure
- Parent tasks can contain subtasks
- Tree view of task relationships
- Analyze time at different levels of granularity
- Define standard time for each task
- Compare actual time vs standard time
- Calculate efficiency percentage
- Identify efficiency gaps
- Identify tasks consuming most time
- Generate Pareto charts with cumulative percentages
- Focus on the "vital few" tasks
- Make data-driven prioritization decisions
See PARETO_README.md for detailed documentation
- Visualize task schedules
- Display start and end times
- Resource-based coloring
- Track project progress
See GANTT_README.md for detailed documentation
- Track equipment performance
- Calculate Availability, Performance, Quality
- Monitor equipment downtime
- Measure Overall Equipment Effectiveness
See OEE_README.md for detailed documentation
The application features a dark-themed dashboard with navigation tabs:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β [Tasks] [Pareto] [Gantt] [OEE] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Content Area β
β (Changes based on selected tab) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Task list with status indicators
- Add/Edit/Delete task buttons
- Start/Stop timer controls
- Task details panel
- Generate Pareto chart button
- Bar chart showing individual task times
- Cumulative percentage line
- Task count summary
- Generate Gantt chart button
- Timeline visualization
- Resource-based task coloring
- Task count display
- Equipment input form
- Equipment list display
- Calculate OEE button
- OEE summary statistics
- Bar chart visualization
- Python 3.8 or higher
- Operating System: Windows, macOS, or Linux
git clone https://github.com/yourusername/ttt-tracker.git
cd ttt-trackerOn Windows:
python -m venv venv
venv\Scripts\activateOn macOS/Linux:
python -m venv venv
source venv/bin/activatepip install -r requirements.txtThe requirements.txt includes:
PySide6>=6.5
PySide6-QtWebEngine
plotly>=5.0
qdarktheme
python main.py- Run
python main.py - The application will automatically:
- Create a SQLite database (
task_tracker.db) - Seed sample data for demonstration
- Create a SQLite database (
- Click "Add Task" to create a new task
- Fill in task details:
- Task Name (required)
- Description (optional)
- Assigned To (optional)
- Standard Time in seconds (optional)
- Parent Task (for WBS hierarchy)
- Click "Start" to begin tracking time
- Click "Stop" to stop tracking and record time
- Efficiency is automatically calculated
- Complete several tasks (with recorded times)
- Navigate to the Pareto tab
- Click "Generate Pareto"
- Review the chart showing:
- Individual task times (bar chart)
- Cumulative percentage (line chart)
- Navigate to the Gantt tab
- Click "Generate Gantt"
- View task timelines and schedules
- See resource allocation per task
- Navigate to the OEE tab
- Enter equipment details:
- Equipment Name
- Planned Time (hours)
- Standard Output (units/hour)
- Click "Add Equipment"
- Add performance data:
- Downtime (hours)
- Actual Output
- Good Units
- Click "Calculate OEE"
- View OEE percentages and chart
| Layer | Technology | Purpose |
|---|---|---|
| GUI Framework | PySide6 (Qt) | Cross-platform desktop UI |
| Charts | Plotly | Interactive data visualizations |
| Database | SQLite | Local data persistence |
| Theme | QDarkTheme | Dark mode styling |
| Language | Python 3.8+ | Application logic |
- PySide6: Provides native-looking, responsive GUI across platforms
- Plotly: Creates interactive, publication-quality charts
- SQLite: Zero-configuration, file-based database
- Python: Extensive libraries for data analysis and GUI development
ttt-tracker/
β
βββ main.py # Main application entry point
β # - Initializes Qt application
β # - Sets up dark theme
β # - Creates main window with navigation
β # - Manages screen switching
β
βββ database.py # Database operations
β # - SQLite connection management
β # - Task CRUD operations
β # - Equipment CRUD operations
β # - OEE calculations
β # - Sample data seeding
β
βββ task_screen.py # Task management UI
β # - Task list display
β # - Add/Edit/Delete dialogs
β # - Start/Stop timer
β # - Task hierarchy management
β
βββ pareto_screen.py # Pareto analysis screen
β # - Data aggregation
β # - Pareto chart generation
β # - Cumulative percentage calculation
β
βββ gantt_screen.py # Gantt chart screen
β # - Timeline data preparation
β # - Gantt visualization
β # - Resource mapping
β
βββ oee_screen.py # OEE tracking screen
β # - Equipment management
β # - OEE input forms
β # - OEE calculation and display
β
βββ plotly_widget.py # Plotly integration utilities
β # - HTML conversion
β # - Browser-based chart rendering
β
βββ requirements.txt # Python dependencies
β
βββ README.md # This file
CREATE TABLE tasks (
id INTEGER PRIMARY KEY AUTOINCREMENT,
task_name TEXT NOT NULL,
description TEXT,
assigned_to TEXT,
start_time TEXT,
end_time TEXT,
total_time REAL DEFAULT 0,
standard_time REAL,
efficiency REAL,
status TEXT,
parent_task_id INTEGER
)CREATE TABLE equipment (
id INTEGER PRIMARY KEY AUTOINCREMENT,
equipment_name TEXT NOT NULL,
planned_time REAL,
downtime REAL DEFAULT 0,
actual_output INTEGER DEFAULT 0,
good_units INTEGER DEFAULT 0,
standard_output REAL
)Solution:
- Ensure Python 3.8+ is installed:
python --version - Verify dependencies:
pip list | grep -E "PySide6|plotly" - Reinstall requirements:
pip install -r requirements.txt
Solution:
- Charts open in default browser - check browser popup
- Ensure PySide6-QtWebEngine is installed
Solution:
- Delete existing
task_tracker.dbfile - Restart application to recreate database
Solution:
- Ensure all fields are filled (planned_time, downtime, actual_output, good_units, standard_output)
- Check that no value is zero or negative
For detailed information on specific features, see:
| Document | Description |
|---|---|
| PARETO_README.md | Complete guide to Pareto Analysis |
| GANTT_README.md | Complete guide to Gantt Charts |
| OEE_README.md | Complete guide to OEE |
This project is provided for educational and industrial use.
- Industrial Engineering concepts from ASQ
- OEE standards from OEE.com
- Pareto Principle from Vilfredo Pareto
Last Updated: 2024