Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/botto/dstask-gui


https://github.com/botto/dstask-gui

Last synced: about 5 hours ago
JSON representation

Awesome Lists containing this project

README

        

# 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](https://github.com/naggie/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](https://github.com/nvm-sh/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:

```shell
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:

```shell
go get
go run .
```