Awesome
dstask-gui (placeholder)
The name of this project is a placeholder, suggestions are more than welcome.
What
This is a HTTP API layer and Web frontend on top of dstask. It's born out of a need to manage my tasks when I'm using my phone.
It does this by using dstask as a library and doesn't simply exec
out to dstask.
It's very early days still and expect bugs (possibly destroying your entire task history)
Todo
- Complete basic CRUD API
- Priorities (filter and add to task)
- Templates (add to task and show templates)
- Tags (filter and add to task)
- Contexts (filter and add to task)
- Project (filter and add to task)
- State (filter and set on task)
- Add redux toolkit slices
- Add toaster for error notification
Dev setup
For development the app is broken in to 2 pieces
- Frontend end client
- Backend API server
To run the frontend client you will need nodejs and yarn.
Nodejs can either be installed through your OS package manager or using nvm
Yarn can be installed with npm once you have node in stalled npm -g install yarn
To run the backend API you will need golang, this can be installed through your OS package manager.
Once those two dependencies are installed you can use make debug
or if you want to start them individually, look below.
Frontend
The frontend is a react based webapp that uses CRA as it's base, blueprint for component library and axios for API calls.
To start the FE app:
cd client
yarn
yarn run start
Backend
The backend app is a simple go http api that has handlers to call dstask library function.
At the moment the backend relies on a modified version of dstask
that includes tweaks so that dstask behaves better when used as a lib.
The advised way is to clone the modified version git clone --branch lib-tweaks https://github.com/botto/dstask.git
and update the replace line in go mod to point to the correct path of the lib tweaks version.
To start the BE API:
go get
go run .