{"id":32366180,"url":"https://github.com/gjovanovicst/worklog-manager","last_synced_at":"2025-10-27T21:01:16.648Z","repository":{"id":320093990,"uuid":"1080114170","full_name":"gjovanovicst/worklog-manager","owner":"gjovanovicst","description":"A professional Python desktop application for precise work time tracking with automatic overtime calculation, break management, and comprehensive reporting capabilities. Built to ensure compliance with customizable work norms while providing detailed analytics and audit trails.","archived":false,"fork":false,"pushed_at":"2025-10-21T23:14:16.000Z","size":227,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-21T23:29:38.098Z","etag":null,"topics":["cross-platform","desktop-app","employee-timesheet","gui","office-productivity","productivity","productivity-tool","pystray","python","python-app","system-try","time-tracker","time-tracking","tk-gui","tkinter","work-management","worklog"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gjovanovicst.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-20T22:22:08.000Z","updated_at":"2025-10-21T23:14:20.000Z","dependencies_parsed_at":"2025-10-21T23:29:43.117Z","dependency_job_id":"c2c1931b-fd43-41f3-ac5d-f1b0b38cbb8b","html_url":"https://github.com/gjovanovicst/worklog-manager","commit_stats":null,"previous_names":["gjovanovicst/worklog-manager"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/gjovanovicst/worklog-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gjovanovicst%2Fworklog-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gjovanovicst%2Fworklog-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gjovanovicst%2Fworklog-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gjovanovicst%2Fworklog-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gjovanovicst","download_url":"https://codeload.github.com/gjovanovicst/worklog-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gjovanovicst%2Fworklog-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280841251,"owners_count":26400401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-platform","desktop-app","employee-timesheet","gui","office-productivity","productivity","productivity-tool","pystray","python","python-app","system-try","time-tracker","time-tracking","tk-gui","tkinter","work-management","worklog"],"created_at":"2025-10-24T18:00:33.572Z","updated_at":"2025-10-24T18:01:55.993Z","avatar_url":"https://github.com/gjovanovicst.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Worklog Manager\r\n\r\n[![Python Version](https://img.shields.io/badge/python-3.7%2B-blue.svg)](https://www.python.org/downloads/)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\r\n[![Version](https://img.shields.io/badge/version-1.7.0-green.svg)](CHANGELOG.md)\r\n[![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](INSTALL.md)\r\n[![Code Style](https://img.shields.io/badge/code%20style-PEP8-orange.svg)](https://www.python.org/dev/peps/pep-0008/)\r\n\r\nA professional Python desktop application for precise work time tracking with automatic overtime calculation, break management, and comprehensive reporting capabilities. Built to ensure compliance with customizable work norms while providing detailed analytics and audit trails.\r\n\r\n## Screenshot\r\n\r\n![Worklog Manager Interface](images/worklog-manager-interface.png)\r\n\r\n*Professional time tracking interface with real-time session monitoring, break management, and productivity analytics*\r\n\r\n---\r\n\r\n## Table of Contents\r\n\r\n- [Worklog Manager](#worklog-manager)\r\n  - [Screenshot](#screenshot)\r\n  - [Table of Contents](#table-of-contents)\r\n  - [Key Features](#key-features)\r\n  - [Installation](#installation)\r\n  - [Usage](#usage)\r\n    - [Daily Workflow](#daily-workflow)\r\n    - [Key Functions](#key-functions)\r\n    - [Display Reference](#display-reference)\r\n  - [Technical Architecture](#technical-architecture)\r\n  - [Configuration](#configuration)\r\n  - [Logging \\\u0026 Monitoring](#logging--monitoring)\r\n  - [Troubleshooting](#troubleshooting)\r\n  - [Development Status](#development-status)\r\n  - [Documentation](#documentation)\r\n  - [Contributing](#contributing)\r\n  - [Support](#support)\r\n  - [License](#license)\r\n  - [Acknowledgments](#acknowledgments)\r\n\r\n## Key Features\r\n\r\n- **Precise Time Tracking** - Real-time session tracking with 1-second accuracy and automatic productive time calculation\r\n- **Break Management** - Support for multiple break types (Lunch, Coffee, General) with automatic duration tracking\r\n- **Overtime Calculation** - Automatic detection and tracking against configurable work norms (default: 7.5 hours)\r\n- **Action History \u0026 Revoke** - Undo up to 5 recent actions with full state restoration and validation\r\n- **Export \u0026 Reporting** - Generate professional reports in CSV, JSON, or PDF formats with productivity analytics\r\n- **Advanced UI** - Light/Dark themes, system tray integration, customizable keyboard shortcuts, and color-coded status indicators\r\n- **Notification System** - Configurable alerts for work reminders, break times, and overtime warnings\r\n- **Automated Backups** - Scheduled database backups with retention policies for data safety\r\n- **Cross-Platform** - Compatible with Windows, macOS, and Linux\r\n\r\n## Installation\r\n\r\n**Requirements:** Python 3.7 or higher\r\n\r\n**Quick Start:**\r\n```bash\r\ngit clone \u003crepository-url\u003e\r\ncd worklog-manager\r\npython main.py\r\n```\r\n\r\n*Note: Uses Python standard library only - no external dependencies required for core functionality.*\r\n\r\n## Usage\r\n\r\n### Daily Workflow\r\n1. **Start Day** - Begin time tracking for the current date\r\n2. **Stop/Continue** - Pause for breaks (select type: Lunch, Coffee, or General) and resume work\r\n3. **End Day** - Complete tracking and review summary (productive time, overtime, breaks)\r\n\r\n### Key Functions\r\n\r\n**Revoke Actions**\r\n- Undo up to the last 5 actions with full state restoration\r\n- Review action history before confirming rollback\r\n- Safe validation prevents invalid state transitions\r\n\r\n**Reset Day**\r\n- Completely clear today's data and start fresh\r\n- ⚠️ **Warning**: Permanently deletes all today's data - requires double confirmation\r\n\r\n**Export Data**\r\n- Quick export options: Today (CSV), This Week (JSON), or Custom (CSV/JSON/PDF)\r\n- Professional reports include productivity metrics, break analysis, and statistical trends\r\n- Automated file naming and organized export directory\r\n\r\n### Display Reference\r\n\r\n**Time Indicators:**\r\n- Current Session • Total Work Time • Break Time • Productive Time • Remaining • Overtime\r\n\r\n**Color Codes:**\r\n- 🟢 Green: Meeting/exceeding targets\r\n- 🟠 Orange: Approaching targets\r\n- 🔴 Red: Overtime or critical status\r\n- 🔵 Blue: Active session\r\n\r\n## Technical Architecture\r\n\r\n**Database:** SQLite with three core tables\r\n- `work_sessions` - Daily work summaries and status\r\n- `action_log` - Complete audit trail with timestamps\r\n- `break_periods` - Individual break tracking by type\r\n\r\n**Project Structure:**\r\n```\r\nworklog-manager/\r\n├── main.py              # Application entry point\r\n├── config.ini           # Configuration settings\r\n├── gui/                 # UI components and dialogs\r\n├── core/                # Business logic and calculations\r\n├── data/                # Database operations and models\r\n├── exporters/           # CSV, JSON, PDF export modules\r\n├── logs/                # Daily log files\r\n├── exports/             # Generated reports\r\n└── backups/             # Automated database backups\r\n```\r\n\r\n## Configuration\r\n\r\nCustomize settings via `config.ini`:\r\n- Work norm hours (default: 7.5)\r\n- Theme and UI preferences\r\n- Notification timing and alerts\r\n- Backup retention policies\r\n- Keyboard shortcuts\r\n\r\n## Logging \u0026 Monitoring\r\n\r\nDaily logs stored in `logs/` directory with format `worklog_YYYYMMDD.log`. Includes all actions, errors, and system events with configurable log levels.\r\n\r\n## Troubleshooting\r\n\r\n| Issue | Solution |\r\n|-------|----------|\r\n| Application won't start | Verify Python 3.7+ and file permissions |\r\n| Database errors | Check disk space and write permissions |\r\n| Timer not updating | Restart application or check system clock |\r\n| Data not saving | Review logs and verify database file access |\r\n\r\n**Debug:** Check `logs/worklog_YYYYMMDD.log` for detailed error information.\r\n\r\n## Development Status\r\n\r\n**Current Version: 1.7.0** - All phases completed\r\n- ✅ Phase 1: Core time tracking and break management\r\n- ✅ Phase 2: Action history and revoke system\r\n- ✅ Phase 3: Export and reporting (CSV/JSON/PDF)\r\n- ✅ Phase 4: Advanced features (themes, notifications, system tray, keyboard shortcuts)\r\n\r\n## Documentation\r\n\r\nComprehensive documentation is available in the `docs/` directory:\r\n\r\n- **[Installation Guide](INSTALL.md)** - Detailed setup instructions for all platforms\r\n- **[Quick Start Guide](QUICKSTART.md)** - Get started in 5 minutes\r\n- **[Contributing Guide](CONTRIBUTING.md)** - How to contribute to the project\r\n- **[Changelog](CHANGELOG.md)** - Version history and release notes\r\n- **[Security Policy](SECURITY.md)** - Security considerations and reporting\r\n- **[Code of Conduct](CODE_OF_CONDUCT.md)** - Community guidelines\r\n\r\n## Contributing\r\n\r\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details on:\r\n- How to report bugs\r\n- How to suggest features\r\n- Development setup\r\n- Code style guidelines\r\n- Pull request process\r\n\r\n## Support\r\n\r\n- 📖 **Documentation**: Check the `docs/` directory\r\n- 🐛 **Bug Reports**: [Open an issue](https://github.com/your-username/worklog-manager/issues/new?template=bug_report.md)\r\n- 💡 **Feature Requests**: [Submit a request](https://github.com/your-username/worklog-manager/issues/new?template=feature_request.md)\r\n- 💬 **Discussions**: [GitHub Discussions](https://github.com/your-username/worklog-manager/discussions)\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## Acknowledgments\r\n\r\nSee [ACKNOWLEDGMENTS.md](ACKNOWLEDGMENTS.md) for credits and attributions.\r\n\r\n---\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n\r\n**Worklog Manager** - Professional time tracking for productive teams\r\n\r\n⭐ Star this repository if you find it helpful!\r\n\r\n[Report Bug](https://github.com/your-username/worklog-manager/issues) · [Request Feature](https://github.com/your-username/worklog-manager/issues) · [View Documentation](docs/)\r\n\r\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgjovanovicst%2Fworklog-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgjovanovicst%2Fworklog-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgjovanovicst%2Fworklog-manager/lists"}