Skip to content
This repository was archived by the owner on Apr 28, 2025. It is now read-only.

qw3rtty/ts-timetracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

TS-Timetracker

Simple interactive command line timetracker.
TS-Timetracker Screenshot
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.

πŸ“„ Table of Contents

πŸ“Ÿ Installation

Follow the steps below for installing:

$ git clone https://github.com/tomschwarz/ts-timetracker.git  
$ cd ts-timetracker  
$ cmake .  
$ make  
$ sudo make install

πŸ“Ÿ Uninstall

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  

βœ”οΈ Unit tests

Follow the steps below for unit testing after the installation guide:

$ make test    

πŸ“‹ Usage

$ 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)

πŸ”§ Configuration

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!

Available Models:

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"
Available Views:

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

πŸ“ Contributing

If you want to contribute check the CONTRIBUTING.md

πŸš— Roadmap

  • 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

πŸ› Known bugs

Currently are no bugs known/reported.
If you find any bugs, don't hesitate and open an issue :)

πŸ“š Libaries in usage

😍 Supported by

I can proudly say, that I get support from:

Supported by JetBrains

πŸ“œ License

MIT-License Β© Tom Schwarz

About

Simple interactive command line timetracker.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published