{"id":23997716,"url":"https://github.com/frankiedl/timetracker","last_synced_at":"2026-06-18T00:31:18.846Z","repository":{"id":260754109,"uuid":"882253546","full_name":"frankiedl/TimeTracker","owner":"frankiedl","description":"Track your freelancer time with this python app that writes and reads an Excell chart. Works in windows and osx","archived":false,"fork":false,"pushed_at":"2025-09-13T07:25:26.000Z","size":1858,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-13T09:34:06.622Z","etag":null,"topics":["clock","desktop","fee","free","freelance","money","monitor","project","time","tracking"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frankiedl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-02T10:13:00.000Z","updated_at":"2025-09-13T07:25:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"9ffd279b-63b7-418f-9715-737c3cb98d74","html_url":"https://github.com/frankiedl/TimeTracker","commit_stats":null,"previous_names":["frankiedl/timetracker"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/frankiedl/TimeTracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankiedl%2FTimeTracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankiedl%2FTimeTracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankiedl%2FTimeTracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankiedl%2FTimeTracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frankiedl","download_url":"https://codeload.github.com/frankiedl/TimeTracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frankiedl%2FTimeTracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34471638,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"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":["clock","desktop","fee","free","freelance","money","monitor","project","time","tracking"],"created_at":"2025-01-07T22:59:10.510Z","updated_at":"2026-06-18T00:31:18.840Z","avatar_url":"https://github.com/frankiedl.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Time Tracker\n\nA simple yet powerful desktop application for tracking time spent on projects and calculating billable amounts. Built with Python and Tkinter, this application supports multiple currencies and provides a user-friendly interface for time tracking and project management.\n\n![image](https://github.com/user-attachments/assets/298bf7b7-b149-49c0-8bba-55611b8fd79d)\n\n\n## Features\n\n- **Real-time Time Tracking**: Start and stop timer for tracking work sessions\n- **Project Management**: Create and manage multiple projects\n- **Rate Management**: Set different rates for different projects\n- **Multi-currency Support**: \n  - Euro (€)\n  - US Dollar ($)\n  - British Pound (£)\n  - Japanese Yen (¥)\n  - Chinese Yuan (元)\n- **Automatic Calculations**: \n  - Total time per project\n  - Billable amount based on rate and time\n- **Data Persistence**: All data is stored in Excel format\n- **Clean Interface**: Modern, intuitive user interface\n- **Session History**: Keeps track of all work sessions\n\n## Requirements\n\n- Python 3.6 or higher\n- Required Python packages (automatically installed on first run):\n  - pandas\n  - openpyxl\n  - tkinter (usually comes with Python)\n\n## Installation\n\n1. Clone this repository:\n```bash\ngit clone https://github.com/frankiedl/TimeTracker.git\ncd time-tracker\n```\n\n2. Run the application using one of these methods:\n\n### Windows\nDouble click on `time-tracker.bat` or run it from the command line:\n```bash\ntime-tracker.bat\n```\nThe batch file will:\n- Check if required packages (pandas and openpyxl) are installed\n- Install missing packages automatically\n- Launch the Time Tracker application\n\n### Other Operating Systems\nInstall required packages and run the Python script directly:\n```bash\npip install pandas openpyxl\npython time_tracker.py\n```\n\n## Usage\n\n### Starting a New Project\n\n1. Launch the application using `time-tracker.bat` or `python time_tracker.py`\n2. Click the '+' button next to the Project dropdown\n3. Enter the project name when prompted\n4. Click OK to create the project\n\n### Setting Up Rates\n\n1. Click the '+' button next to the Rate dropdown\n2. Enter the rate for 8 hours of work\n3. Select the desired currency from the Currency dropdown\n4. The rate will be automatically converted to a per-minute rate for calculations\n\n### Tracking Time\n\n1. Select a project from the dropdown\n2. Select a rate from the rate dropdown\n3. Click the START button to begin tracking\n4. Click the STOP button when finished\n5. The total time and billable amount will be automatically updated\n\n### Viewing Project Totals\n\n- Total project time and billable amount are displayed at the bottom of the application\n- These totals are automatically updated when switching between projects or after tracking sessions\n\n## Project Structure\n\n```\ntime-tracker/\n│\n├── time_tracker.py     # Main application script\n├── time-tracker.bat    # Windows batch file for easy execution\n├── time_tracking.xlsx  # Data storage file (created on first run)\n├── README.md          # This documentation\n└── screenshots/       # Application screenshots\n```\n\n## Data Storage\n\nAll data is stored in an Excel file (`time_tracking.xlsx`) with the following columns:\n- Project\n- Date\n- Start_Time\n- End_Time\n- Duration_Minutes\n- Rate\n- Currency\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Built with Python and Tkinter\n- Uses Pandas for data management\n- Modern UI design inspired by Material Design principles\n\n## Support\n\nIf you encounter any problems or have suggestions, please open an issue in the GitHub repository.\n\n## Screenshots\n\n### Main Interface\n![image](https://github.com/user-attachments/assets/e9bd4f8b-d8d1-4700-8b93-63067b39c3a0)\n\n\n### Adding a New Project\n![image](https://github.com/user-attachments/assets/aba36b81-12df-4640-9dab-7b968600c94e)\n\n\n### Setting Rates\n![image](https://github.com/user-attachments/assets/205b2998-4331-45b5-a4b9-3489faecdd15)\n\n\n## Batch File Details\n\nThe included `time-tracker.bat` file provides the following functionality:\n\n1. Changes to the directory where the script is located\n2. Checks if pandas is installed, installs it if missing\n3. Checks if openpyxl is installed, installs it if missing\n4. Launches the Time Tracker application\n\nThis makes the application easy to run on Windows systems without manually installing dependencies or running Python commands.\n\n\n# Changelog Time Tracker v1.2.1\n\n## Bug Fixes\n- Fixed indentation of `setup_ui` method to be properly inside the `TimeTrackerApp` class\n- Added debug print in `check_activity` to track inactivity detection\n\n## Previous Changes (v1.2.0)\n- Added multi-currency support\n- English UI\n- Automatic dependency installation\n- Excel-based data storage with proper data types\n- Project and rate management\n\n## Technical Updates\n- DataFrame handling improvements\n- Activity detection optimization\n- UI responsiveness improvements\n\n## Notes\n- Excel file is created on first run\n- All times are saved in local timezone\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrankiedl%2Ftimetracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrankiedl%2Ftimetracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrankiedl%2Ftimetracker/lists"}