nikolassv / bartib

A simple timetracker for the command line. It saves a log of all tracked activities as a plaintext file and allows you to create flexible reports.
GNU General Public License v3.0
687 stars 36 forks source link

Refactor to abscissa microframework for Rust applications #46

Closed simonsan closed 9 months ago

simonsan commented 9 months ago

Would you be open to a PR where I refactor this project to abscissa (microframework for building Rust applications)? I think it has really good abstractions and will make development easier going forward. As new commands are just implementing a trait for a struct etc. Also, it uses the newest Clap version, and I see clap is heavily outdated in this project. So it would need a refactor nevertheless.

As an example, you can see the general project structure here: https://github.com/rustic-rs/rustic/tree/main/src

nikolassv commented 9 months ago

The framework appears nice and I could imagine using it in the right context, but I would rather not refactor bartib to use it. I do not plan much further development for bartib. Besides the occasional refinement of existing features, I like to view bartib as "finished" software. It has its set of features that are useful in a limited number of use cases. If someone has a use case that bartib can not cater to, there are plenty of other time tracking solutions that may be better suited.

Moreover, I want bartib to stay cold-blooded software and therefore limit its dependencies as much as possible. I do not have a problem importing some libraries, where I do not fear that outdated versions may pose a big problem. But making it dependent on some framework would, in my opinion, complicate changes after a long time of inactivity.

simonsan commented 9 months ago

there are plenty of other time tracking solutions that may be better suited

Which one's do you have in mind?