Skip to content

LizardKing00/ChronoStaff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

79 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Chrono Staff

License: MIT Python Platform

A comprehensive employee time tracking and management system designed for German labor law compliance, featuring automated reporting and intuitive workforce management.

πŸš€ Overview

Chrono Staff is a professional-grade employee time tracking application built to streamline workforce management while ensuring compliance with German labor regulations. The system provides comprehensive time tracking, automated break calculation, overtime monitoring, and generates detailed PDF reports for payroll and compliance purposes.

Key Features

  • πŸ‘₯ Employee Management: Complete employee lifecycle management with detailed profiles
  • ⏰ Advanced Time Tracking: Multi-period time entry with automatic break calculations
  • βš–οΈ German Labor Law Compliance: Automated compliance checking for working hours and breaks
  • πŸ“Š Comprehensive Reporting: PDF report generation with LaTeX and ReportLab support
  • 🌐 Multi-Language Support: English and German interface localization
  • 🎨 Modern UI: Professional interface with light/dark theme support
  • πŸ’Ύ Robust Database: SQLite-based data storage with backup capabilities
  • πŸ“ˆ Analytics Dashboard: Employee statistics and performance metrics

πŸ“Έ GUI

Main Dashboard

Main Dashboard Employee management interface with comprehensive employee data overview

Time Tracking Interface

Time Tracking Advanced time entry system with German labor law compliance validation

Report Generation

Reports Professional PDF reports with customizable templates and multi-language support

Sample Report Output

German Language Report

Reports Monthly time report in German - "Monatlicher Arbeitszeitbericht" with complete company and employee information

English Language Report

Reports Monthly time report in English with identical data structure and professional formatting

Report Features Demonstrated:
  • Multi-language Support: Complete German and English localization
  • Professional Layout: Clean, structured format suitable for official documentation
  • Comprehensive Data: Company info, employee details, work hours, vacation/sick days
  • Detailed Time Records: Day-by-day breakdown with start/end times and break tracking
  • Summary Statistics: Monthly totals for working hours, vacation, and sick leave
  • Compliance Ready: Format suitable for German labor law documentation requirements

Settings & Configuration

Settings Comprehensive settings management with company branding and theme customization

πŸ› οΈ Installation

Prerequisites

  • Python 3.7 or higher
  • Operating System: Windows 10+, macOS 10.14+, or Linux Ubuntu 18.04+

Quick Installation

  1. Clone the Repository

    git clone https://github.com/LizardKing00/ChronoStaff.git
    cd ChronoStaff
  2. Create Virtual Environment (Recommended)

    python -m venv chrono_env
    
    # Windows
    chrono_env\Scripts\activate
    
    # macOS/Linux
    source chrono_env/bin/activate
  3. Install Core Dependencies

    pip install -r requirements.txt
  4. Install Optional Components

    # For enhanced theming support
    pip install ttkthemes
    
    # For advanced PDF generation
    pip install reportlab
    
    # For LaTeX-based PDF templates (requires LaTeX installation)
    # Ubuntu/Debian:
    sudo apt update && sudo apt install texlive-latex-base texlive-latex-extra
    
    # macOS (with Homebrew):
    brew install --cask mactex
    
    # Windows: Download and install MiKTeX from https://miktex.org/
  5. Launch Application

    python gui_management.py

Alternative Installation Methods

Portable Installation

  1. Download the latest release from Releases
  2. Extract the archive
  3. Run chrono-staff.exe (Windows) or ./chrono-staff (Linux/macOS)

πŸ“‹ System Requirements

Minimum Requirements

  • CPU: Dual-core 1.5 GHz processor
  • RAM: 2 GB RAM
  • Storage: 100 MB available space
  • Display: 1024x768 resolution

Recommended Requirements

  • CPU: Quad-core 2.0 GHz processor
  • RAM: 4 GB RAM
  • Storage: 500 MB available space
  • Display: 1920x1080 resolution or higher

Dependencies

Component Required Purpose Installation
Python 3.7+ βœ… Yes Core runtime python.org
tkinter βœ… Yes GUI framework Included with Python
sqlite3 βœ… Yes Database Included with Python
ttkthemes ⚠️ Optional Enhanced themes pip install ttkthemes
reportlab ⚠️ Optional PDF generation pip install reportlab
LaTeX ⚠️ Optional Advanced PDF templates Platform-specific installation

πŸš€ Quick Start Guide

First Launch Setup

  1. Launch the Application

    python gui_management.py
  2. Configure Company Information

    • Navigate to Settings tab
    • Update company details under "Company Information"
    • Set brand colors and contact information
    • Click "Save Settings"
  3. Add Your First Employee

    • Go to Employees tab
    • Click "Add Employee"
    • Fill in required information:
      • Name (required)
      • Employee ID (4-digit format, e.g., 0001)
      • Position, hourly rate, email
      • Working hours per week and vacation days
    • Click "Save"
  4. Record Time Entries

    • Switch to Time Tracking tab
    • Select the employee from dropdown
    • Choose the date (or use "Today" button)
    • Enter work periods (start/end times)
    • The system automatically calculates breaks and compliance
    • Click "Add Entry"
  5. Generate Your First Report

    • Navigate to Reports tab
    • Select employee and time period
    • Click "Generate Preview" to see report content
    • Click "Export PDF" to create a professional PDF report

πŸ“– Feature Documentation

Employee Management

  • Add/Edit/Delete: Full CRUD operations for employee records
  • Status Management: Activate/deactivate employees without losing data
  • Detailed Profiles: Comprehensive employee information with statistics
  • Bulk Operations: Import/export employee data (CSV support)

Time Tracking

  • Multi-Period Entry: Up to 3 work periods per day
  • Automatic Calculations: Break time, overtime, and total hours
  • Compliance Monitoring: German labor law validation
  • Record Types: Work, vacation, sick leave, and holidays
  • Calendar Integration: Visual date selection and navigation

Reporting System

  • PDF Generation: Professional reports with company branding
  • Template Options:
    • Default (ReportLab): Modern, fast generation
    • LaTeX Black & White: Professional academic-style reports
    • LaTeX Color: Colorful, branded corporate reports
  • Multi-Language: English and German report templates
  • Customizable Output: Configurable paths and naming conventions

Settings & Configuration

  • Theme Support: Light and dark themes with ttkthemes integration
  • Company Branding: Logo, colors, and contact information
  • Default Values: Working hours, vacation days, and overtime thresholds
  • Database Management: Backup, restore, and migration tools

🎯 Advanced Usage

Command Line Options

# Launch with specific database
python gui_management.py --database=/path/to/custom.db

# Launch with debug mode
python gui_management.py --debug

# Launch with specific theme
python gui_management.py --theme=dark

Database Schema

-- Core tables
employees (id, name, employee_id, position, hourly_rate, ...)
time_records (id, employee_id, date, start_time_1, end_time_1, ...)
settings (key, value, category)
company_data (key, value)

πŸ”§ Troubleshooting

Common Issues

Issue: "ttkthemes not found" warning Solution: Install themes with pip install ttkthemes

Issue: PDF generation fails Solutions:

  • For ReportLab: pip install reportlab
  • For LaTeX: Install platform-specific LaTeX distribution

Issue: Database errors on startup Solution: Check file permissions in application directory

Issue: Theme not applying Solution: Restart application after installing ttkthemes

Getting Help

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

git clone https://github.com/LizardKing00/ChronoStaff.git
cd ChronoStaff
python -m venv dev_env
source dev_env/bin/activate  # or dev_env\Scripts\activate on Windows
pip install -r requirements-dev.txt
python -m pytest tests/

Code Style

  • Follow PEP 8 guidelines
  • Use type hints where appropriate
  • Maintain test coverage above 80%
  • Document all public functions

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • tkinter: Python's standard GUI toolkit
  • ttkthemes: Enhanced theme support
  • ReportLab: PDF generation capabilities
  • LaTeX: Professional document typesetting
  • German Labor Law: Compliance framework inspiration

πŸ“Š Project Stats

  • Test Coverage: 85%
  • Supported Languages: English, German
  • Platforms: Windows, macOS, Linux
  • Database: SQLite (portable)

πŸ—ΊοΈ Roadmap

Version 2.0 (Upcoming)

  • Web-based interface
  • Multi-company support
  • REST API
  • Mobile app companion
  • Advanced analytics dashboard
  • Integration with payroll systems

Version 1.1 (Next Release)

  • Data import/export utilities
  • Enhanced reporting templates
  • Automated backup system
  • Plugin architecture
  • Improved German translations

Made with ❀️ for efficient workforce management

About

Employee Time Management System

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors