Repository
https://github.com/Guitlle/habito
Habito
What is the project about?
Habito is habit tracking tool implemented on top of tiddlywiki system. I found Habitica a while ago and I really liked the idea of having a habit tracker with an RPG theme. I also liked it was open source. I also like very much tiddlywiki and I have been using it to organize my ideas and projects. Tiddlywiki has become one of the main softwares I use and I felt the need to have time-management features in it. Since Tiddlywiki is easily extendable and I think it has a great potential I decided to implement this tool and learn more about Tiddlywiki internals.
One of the great things I really like of Tiddlywiki is that it is a truly descentralized piece of software because anyone can easily run it and modify it. One of the things I don't like of using Habitica is that my personal data is in someone else's computer. Also, if you want to modify Habitica you would need to hack the code and run your own server (you could do it locally, though).
Technology Stack
This tool is based on Tiddlywiki 5 system, which is built with javascript on top of modern browsers tech.
Tiddlywiki is a one-page one-file serverless wiki system that runs completely on the browser. It was writen by [Jeremy Rouston|https://github.com/Jermolene]. You could describe it as a note taking system. Way better than any wiki system out there, and much better than Evernote IMO, at least for the use case of personal note taking. Each document in this system is a tiddler. Tiddlers can contain configurations, runtime code, templates, css, pdfs, images and whatever you want to embed. It provides a way to transclude (embed) tiddlers within tiddlers and has many declarative directives that allows you to make dynamic content. The whole GUI of tiddlywiki is based on tiddlers. When you save a tiddlywiki document, it encodes itself into an html file. The main goal of this system is its hackability.
Current status
For now I have implemented habits, daily tasks, rewards and a very simple gold/experience system. Read the introductory documentation and checkout the demo here. You should also learn a bit about tiddlywiki to get started. For now it has very rough edges, but the goal is to have a very user-friendly system that doesn't get in the way.
Roadmap
The next steps to get a beta version with a good set of features are:
- Add simple TO-DO tasks.
- I think the floating buttons next to the titles don't work well. Therefore, I will add a row with the button and the details about the items, such as last date of activity, cooldown status, price/cost and configuration. This box is going to be displayed below the title.
- A GUI to edit the items is the next big step. For now the configuration of each item is manually set up. To be more user-friendly, visual editors for tasks, rewards, habits and dailies will be implemented.
- Reports with calendars that show activity by tags and type of items.
- Export your habit tracking data to CSV.
How to contribute?
This project is open source and as such you can
- Adapt it to your own needs,
- Open issues to make suggestions or report bugs
- And send pull requests, which will be reviewed and accepted if they solve important issues or add great value to the project (you are welcome to implement the next steps listed above).