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 install
Follow the steps below for uninstalling:
$ cd ts-timetracker # should be the same directory where the repository was cloned into
$ sudo make uninstall
If 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-timetracker
That'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: