Skip to content

shield44-project/Time-Taken-for-Tasks-Tracker

Repository files navigation

🏭 Time Taken for Tasks (TTT) Tracker

An industrial-grade desktop application for tracking tasks, analyzing productivity, and measuring equipment effectiveness. Built with Python and PySide6, featuring interactive visualizations using Plotly.


πŸ“‹ Table of Contents

  1. Project Overview
  2. Features
  3. Screenshots & Components
  4. Installation
  5. Quick Start Guide
  6. Technology Stack
  7. Project Structure
  8. Troubleshooting
  9. Additional Documentation

πŸ”° Project Overview

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.

Key Industrial Engineering Concepts Used

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

✨ Features

1. Task Management

  • 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)

2. Work Breakdown Structure (WBS)

  • Organize tasks in hierarchical structure
  • Parent tasks can contain subtasks
  • Tree view of task relationships
  • Analyze time at different levels of granularity

3. Standard Time & Efficiency

  • Define standard time for each task
  • Compare actual time vs standard time
  • Calculate efficiency percentage
  • Identify efficiency gaps

4. Pareto Analysis (80/20 Rule)

  • 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

5. Gantt Chart Visualization

  • Visualize task schedules
  • Display start and end times
  • Resource-based coloring
  • Track project progress

See GANTT_README.md for detailed documentation

6. OEE (Overall Equipment Effectiveness)

  • Track equipment performance
  • Calculate Availability, Performance, Quality
  • Monitor equipment downtime
  • Measure Overall Equipment Effectiveness

See OEE_README.md for detailed documentation


πŸ–₯️ Screenshots & Components

Main Dashboard

The application features a dark-themed dashboard with navigation tabs:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  [Tasks] [Pareto] [Gantt] [OEE]                            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚                    Content Area                             β”‚
β”‚              (Changes based on selected tab)                β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Task Screen

  • Task list with status indicators
  • Add/Edit/Delete task buttons
  • Start/Stop timer controls
  • Task details panel

Pareto Screen

  • Generate Pareto chart button
  • Bar chart showing individual task times
  • Cumulative percentage line
  • Task count summary

Gantt Screen

  • Generate Gantt chart button
  • Timeline visualization
  • Resource-based task coloring
  • Task count display

OEE Screen

  • Equipment input form
  • Equipment list display
  • Calculate OEE button
  • OEE summary statistics
  • Bar chart visualization

πŸ’Ύ Installation

Prerequisites

  • Python 3.8 or higher
  • Operating System: Windows, macOS, or Linux

Step 1: Clone or Download the Repository

git clone https://github.com/yourusername/ttt-tracker.git
cd ttt-tracker

Step 2: Create Virtual Environment (Recommended)

On Windows:

python -m venv venv
venv\Scripts\activate

On macOS/Linux:

python -m venv venv
source venv/bin/activate

Step 3: Install Dependencies

pip install -r requirements.txt

The requirements.txt includes:

PySide6>=6.5
PySide6-QtWebEngine
plotly>=5.0
qdarktheme

Step 4: Run the Application

python main.py

πŸš€ Quick Start Guide

First Launch

  1. Run python main.py
  2. The application will automatically:
    • Create a SQLite database (task_tracker.db)
    • Seed sample data for demonstration

Using the Task Screen

  1. Click "Add Task" to create a new task
  2. Fill in task details:
    • Task Name (required)
    • Description (optional)
    • Assigned To (optional)
    • Standard Time in seconds (optional)
    • Parent Task (for WBS hierarchy)
  3. Click "Start" to begin tracking time
  4. Click "Stop" to stop tracking and record time
  5. Efficiency is automatically calculated

Using Pareto Analysis

  1. Complete several tasks (with recorded times)
  2. Navigate to the Pareto tab
  3. Click "Generate Pareto"
  4. Review the chart showing:
    • Individual task times (bar chart)
    • Cumulative percentage (line chart)

Using Gantt Chart

  1. Navigate to the Gantt tab
  2. Click "Generate Gantt"
  3. View task timelines and schedules
  4. See resource allocation per task

Using OEE

  1. Navigate to the OEE tab
  2. Enter equipment details:
    • Equipment Name
    • Planned Time (hours)
    • Standard Output (units/hour)
  3. Click "Add Equipment"
  4. Add performance data:
    • Downtime (hours)
    • Actual Output
    • Good Units
  5. Click "Calculate OEE"
  6. View OEE percentages and chart

πŸ› οΈ Technology Stack

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

Why These Technologies?

  • 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

πŸ“ Project Structure

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

πŸ”§ Database Schema

Tasks Table

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
)

Equipment Table

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
)

βš™οΈ Troubleshooting

Issue: Application doesn't start

Solution:

  • Ensure Python 3.8+ is installed: python --version
  • Verify dependencies: pip list | grep -E "PySide6|plotly"
  • Reinstall requirements: pip install -r requirements.txt

Issue: Charts not displaying

Solution:

  • Charts open in default browser - check browser popup
  • Ensure PySide6-QtWebEngine is installed

Issue: Database errors

Solution:

  • Delete existing task_tracker.db file
  • Restart application to recreate database

Issue: OEE shows 0%

Solution:

  • Ensure all fields are filled (planned_time, downtime, actual_output, good_units, standard_output)
  • Check that no value is zero or negative

πŸ“š Additional Documentation

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

πŸ“„ License

This project is provided for educational and industrial use.


πŸ™ Acknowledgments


Last Updated: 2024

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages