The goal of this project is to build real-time tracking application. This application is compatible with the Windows operating system and the Google Chrome browser. You can use it program to see how much time you spend on a specific desktop app or website.
The inspiration for this project was taken from https://www.youtube.com/watch?v=ZBLYcvPl1MA&t=796s.
- python 3.8
- tkinter
- pandas
- numpy
- matplotlib
- plotly
- pillow
- uiautomation
- win32
- Real-time tracking of desktop applications and websites
- Automatically save raw data every 2 minutes or when exiting the program
- Automatic change of raw data saving after date change (at 00:00)
- Updating real-time summary and graph every 3 minutes
- Logging error and continuing to run the application in the event of non-critical errors (files/logs/errors.txt)
- Registering your desktop applications and websites to make reports more clearly and user-friendly
- Viewing and comparing daily activity summaries
- Merging several daily activity summaries into reports (e.g. weekly or monthly reports) and then comparing them
- Adjusting the appearance of the application to user needs
- requirements.txt - file with all required packages
- main.py - script to run application
- backend - folder contains all packages/modules related to the backend
- user_interface - folder contains all packages/modules related to the user interface
- files - folder contains all hepler files like: raw data, reports, setting files, images
- settings - separate settings package
- Download repository - git clone https://github.com/Cyki89/RealTimeTrackingApplication.git.
- Create new virtual enviroment - mkvirtualenv --python=<your python 3.8 location> virtualenv_name.
- Install dependecies - pip install -r requirements.txt.
- Go to main application folder - cd TimeTrackingApp.
- Run script main.py on your local machine - python main.py.
- See the tutorial below on how to use this application
- Click button "Start Time Tracking" to start time tracking
- Click button "Stop Time Tracking" to stop time tracking
- Click button "Tutorial" to see application guide in web browser
- In the upper frame you can see the daily activity summary, refreshed every 2 minutes
- In the lower frame you can see the daily activity summary plot, refreshed every 2 minutes
- If you see <UNKNOWN_APP> in the table then you should register the application (see MyApps section)
- If you see <UNKNOWN_WEBSITE> in the table then you should register the website (see MyWebsites section)
- Click the "Show Registered Apps" button to see the registered desktop applications and their identifying keywords
- Click the "Show Unknown Apps" button to see the unknown desktop applications identifying keywords and their added date to the system
- Click the "Register New App" button and enter desktop application identifying keyword and name to register new application
- Click the "Delete Registered App" button and enter desktop application identifying keyword to remove registered application from the system
- Click the "Delete Unknown Apps" button to remove all registered desktop applications from the system
- Restart apllication after all delete/add operations
- Click the "Show Registered Websites" button to see the registered websites and their identifying keywords
- Click the "Show Unknown Websites" button to see the unknown websites identifying keywords and their added date to the system
- Click the "Register New Website" button and enter website identifying keyword and name to register new website
- Click the "Delete Registered Website" button and enter applications identifying keyword to remove registered application from the system
- Click the "Delete Unknown Websites" button to remove all registered websites from the system
- Restart apllication after all delete/add operations
- Click the "Show Daily Summaries" button and select file to see daily summary
- Click the "Compare Daily Summaries" button and select files to compare daily activities (by summary tables)
- Click the "Update Raw Data" button and select json file to update activity name in raw data - usefull when you registered new desktop application or website
- Click the "Delete Raw Data" button to delete raw json file and coresponding daily summary from the system
- Click the "Make Report" button and select daily summaries to create an activity report for several days (e.g. weekly report)
- Click the "Show Report" button to see previously created activity report (summary and plot)
- Click the "Compare Reports" button and select files to compare activity reports (by summary tables)
- Click the "Delete Report" button to delete activity report
- Click the "Show Base Settings" button to see application appearance settings
- Click the "Show Files/Dir Patch" button to see dirs/files patchs
- Click the "Change Setting" button to change application appearance settings or dirs/files patchs