f24e56159a
basically at MVP now
the react app can now add, complete and reactively filter tasks
The filter command doesn't have a enter action, it should probably do
something. maybe I do need the default to be select, instead of filter,
and filter should _actually filter_.
Syncing is next. I'll need to look at the vcln starter template to
understand how they set up, and then maintain different databases for
each user.
What needs to be done is setting up rooms, and the backend such that
everybody gets their own lil sql database, and the syncer can identify
them. we don't really have any notion of security, which is uhhh, not
great.
After that we can look at some malleable features that lend themself to
discoverability. ideally, I don't need to have a tutorial at all.
reactivity needs to exist for almost every command. I want to save the
command, to a dirty state sql table, and then restore it on load. that
should cause all the elements to re-render the proposed change.
this actually unlocks a thought for me: executing filters, sets them as
a "context". a context makes up a view. reports are literally just
saved contexts then. this allows the tanstack table to handle virtual
ids for us!
Then, for the malleable input, all we need some kind of triple scroll
wheel that can be typed, for each of the three segments. ideally with
desired autocomplete 🤔
i think i'm reimagining the CLI for the web almost!
|
||
---|---|---|
cli | ||
db | ||
js | ||
mast-react-vite | ||
parser | ||
server | ||
.gitignore | ||
architecture.png | ||
flake.lock | ||
flake.nix | ||
go.mod | ||
go.sum | ||
package-lock.json | ||
package.json | ||
README.md |
Mast
This project is born out of frustration with Taskwarrior's upgrade to version 3.0.0
I'm looking to build my own task management software, after nearly a decade of using taskwarrior. It tries very hard to emulate the good of taskwarrior, while also being more modern. Opinionated defaults, meets malleable software. I loved Taskwarrior, it grew with me so much, but I believe I can do better.
Goal Map
I want a syncing cross platform, fast and effective tasks program. A web client for phone usage, and a CLI client at a computer. They sync through cr-sqlite, using a fairly simple websocket server (at this stage)
I plan to keep the filter
and add
commands from Taskwarrior. Probably lots of the properties too. I'm using PEGs for parsing these grammars.
I'd like real calendar integration (iCS) for due:
I'm not yet sure what I'd like to do for priority. I like the configurability of taskwarrior, but it's very heavy handed. Some kind of slider would be nice
I also need to find out a solution to virtual tags, and especially ID
I need it to keep integration with Kitaab. That largely means a _json interface, which is fine. Some compatibility layer with Taskwarrior for taskwarrior-tui would be cool too, but isn't yet on the goal list.
Status
A vaguely unordered list of the next tasks to be accomplished, and those recently completed
Next:
- Parsing
task add
grammar (For JS) - Make SQL files common, instead of embedded in each
- Parsing
task filter
grammar - Defining all attributes
- Defining virtual attributes
Completed:
- Syncing between JS & Go clients
- Parsing
task add
grammar (For Go)