Simple interactive command line timetracker.
This tool allows you to track your time for all your projects or needs. You can manage your projects and export it for your needs.
- Installation
- Uninstall
- Unit tests
- Usage
- Configuration
- Contributing
- Roadmap
- Known bugs
- Libaries in usage
- Supported by
- License
Follow the steps below for installing:
$ git clone https://github.com/tomschwarz/ts-timetracker.git
$ cd ts-timetracker
$ cmake .
$ make
$ sudo make installFollow the steps below for uninstalling:
$ cd ts-timetracker # should be the same directory where the repository was cloned into
$ sudo make uninstallIf there is an error during the uninstall process or you don't have the directory anymore following the steps below:
$ sudo updatedb
$ locate ts-timetracker # $ locate ts-timetracker | grep /usr - if the output is to large
$ sudo rm {PATH}/ts-timetracker # where {PATH} is the full path to the binary Follow the steps below for unit testing after the installation guide:
$ make test $ ts-timetrackerThat's it. Now the interactive command line starts and you can start to track your times on your projects or for your needs.
To Exit, just type 'exit' or press Ctrl + c.
Here are all commands you can use:
| COMMAND | DESCRIPTION |
|---|---|
| help | Show's the help menu |
| config | Show's the config options |
| projects | Show's all available projects |
| times | List all tracked times of selected project |
| touch <name> | Create's a new project with entered name |
| rm <name> | Delete's entered project |
| use <name> | Set project to track time on, a name from 'list' command |
| start | Start's timetracking |
| stop | Stop's timetracking |
| save <comment> | Save new timetrack on selected project with entered comment |
| export <p> | Export selected project to given path (selected project by 'use' command) |
Default path of the config file: ~/.config/ts-timetracker/
Name of the config file: ts-timetracker.conf
The config file will be generated automatically while installation.
Possible config values:
| OPTION | DEFAULT VALUES | DESCRIPTION |
|---|---|---|
| timeFormat | %d.%m.%Y %T | format is used for displaying time |
| projectsPath | .config/ts-timetracker/projects/ | path is used for creating, saving and deleting projects |
| storage | filesystem | indicates which model should used |
| view | terminal | indicates which view should used |
Feel free to change your config values to your needs!
The key storage indicates which model should be used.
Following list shows all available models:
- filesystem: save's the data into files, location is configured by "projectsPath"
The key view indicates which view should be used.
Following list shows all available views:
- terminal: run's in the terminal, with and simple interactive command line interface
If you want to contribute check the CONTRIBUTING.md
- Create interface for models
- Create interface for views
- Improve performance of filesystem model
- Improve unit tests
- Improve make file
- Add more models for different databases(?)
- SQLite(?)
- MySQL(?)
- Add more formats for exporting projects
- Plaintext
- XML
- Remove dependency of library
Currently are no bugs known/reported.
If you find any bugs, don't hesitate and open an issue :)
- For printing the table: https://github.com/friedmud/variadic_table
I can proudly say, that I get support from: