Coder Social home page Coder Social logo

ts-timetracker's Introduction

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

ts-timetracker's People

Contributors

qw3rtty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.