BaldissaraMatheus / Tasks.md

A self-hosted, Markdown file based task management board
https://hub.docker.com/r/baldissaramatheus/tasks.md
MIT License
859 stars 34 forks source link

[Idea] Using subpaths for new boards #10

Open mms-gianni opened 1 year ago

mms-gianni commented 1 year ago

First of all, congratulations on your work. I had a closer look into it.

Opening the task board with a random path string loads the board but it does not work.

Example: http://localhost:8080/randomString

This is strange but not a big issue. But this led me to this idea: it would be nice to have a new and clean board on any subpath to manage multiple boards for teams and/or projects

http://localhost:8080/team1 http://localhost:8080/team2 http://localhost:8080/projectX http://localhost:8080/projectY

PS: I was not able the set labels for this issue. PPS: Why did you use nginx to run the application and not node itself?

BaldissaraMatheus commented 1 year ago

Hey, thank you for reporting the issue and for the suggestion.

I was testing everything up again a few hours ago and it seems like that both the subpath and title env variables are not working as expected, I think it may have broken with the changes in the Dockerfile released earlier, but I still need to invesitgate it further.

About your suggestion, it kinda works this way right now if you use a different port for each project (well, at least it was when the subpath variable was working). The application was designed to contain a single project for container, so each one of them have its own port, title and volumes (for styles and files), in such way that each project is self contained. If having a different port is an issue for you, you could "hide" it by using a local dns or reverse proxy.

We could think in way for the application to handle multiple projects by mapping a project to its subpath, but the biggest challenge would be find a way to organize the files without overcomplicating it too much. Right now each lane/list is a folder and each card is a file, in a way that is very easy to navigate and to understand just by looking into it, so I'd really like to avoid compromising it.

About using nginx instead of node: I was thinking in making the application SSR, but to be honest I don't have much experience with it, so I decided to make it a SPA so I could develop it faster and maybe convert it to SSR in the future, it would probably simplify the docker setup a lot

mms-gianni commented 1 year ago

The simples way, and maybe the most secure and atomic, would be to add an addition layer to the structure:

So what we have now :

files
├── backlog
├── done
│   └── doit.md
└── progress

To

files
├── project1
│   ├── backlog
│   ├── done
│   │   └── doit.md
│   └── progress
└── project2
    ├── backlog
    ├── done
    │   └── doit.md
    └── progress
accforgithubtest commented 8 months ago

Does tasks.md now support multiple projects using the above folder structure ?

BaldissaraMatheus commented 8 months ago

Does tasks.md now support multiple projects using the above folder structure ?

No, right now we don't support the above structure. In order to have multiple board you have to deploy different containers for each one of them. If you're running the application from the source code you have to change the ports so they don't conflict

benjaminapetersen commented 3 days ago

I'd love to hop on this as a big WIN for me as well! I just commented on the - [ ] sibling issue. The productivity provided by making /boards and - [ ] subtasks would really be fantastic. 🥳