Updated todo
This commit is contained in:
parent
ce0bff8d9c
commit
fd80094eca
2 changed files with 21 additions and 163 deletions
166
Featurecreep.md
166
Featurecreep.md
|
@ -1,162 +1,7 @@
|
||||||
# Featurecreep
|
# Featurecreep
|
||||||
|
|
||||||
* Listen erstellen, ändern, löschen
|
This is the place where I write down ideas to work on at some point.
|
||||||
* Todopunkte zu Listen hinzufügen, bearbeiten, löschen
|
Sorry for some of them being in German, I'll tranlate them at some point.
|
||||||
* Listen teilen (Email/Benutzername angeben, oder öffentlicher link (+einstellbar ob mit registrierung oder nicht, oder passwortgeschützt)
|
|
||||||
* Rechtemanagement
|
|
||||||
|
|
||||||
### Todopunkte
|
|
||||||
|
|
||||||
* ID
|
|
||||||
* Text
|
|
||||||
* Description
|
|
||||||
* Status (done, not done)
|
|
||||||
* Fälligkeitsdatum
|
|
||||||
* Erinnerungsdatum (und zeit)
|
|
||||||
* Zuständig (später, mit teilen)
|
|
||||||
* Liste wo der Punkt drauf ist
|
|
||||||
* Timestamps
|
|
||||||
|
|
||||||
### Websockets
|
|
||||||
|
|
||||||
Das ganze soll als Websocket zur verfg gestellt werden, der dann automatisch bescheidsagt wenn sich was ändert. Benachrichtigungen machen clients.
|
|
||||||
|
|
||||||
## API-Roadmap
|
|
||||||
|
|
||||||
Ab v0.3 können wir mit clients anfangen.
|
|
||||||
|
|
||||||
#### v0.1
|
|
||||||
|
|
||||||
* [x] Listen erstellen/bearbeiten/löschen
|
|
||||||
|
|
||||||
* [x] Ansehen
|
|
||||||
* [x] Übersicht
|
|
||||||
* [x] Einzelne liste mit allen todopunkten
|
|
||||||
* [x] Erstellen
|
|
||||||
* [x] Bearbeiten
|
|
||||||
* [x] Löschen
|
|
||||||
|
|
||||||
* [x] Todopunkte hinzufügen/abhaken/löschen
|
|
||||||
|
|
||||||
* [x] Erstellen
|
|
||||||
* [x] Bearbeiten (abhaken)
|
|
||||||
* [x] Löschen
|
|
||||||
|
|
||||||
* [x] Überall nochmal überprüfen dass der Nutzer auch das Recht hat die Liste zu löschen
|
|
||||||
|
|
||||||
* [x] Swaggerdocs !!!!
|
|
||||||
|
|
||||||
Neues Konzept: _Namespaces_
|
|
||||||
|
|
||||||
Ein Namespace kann Listen haben, es gibt mindestens einen Besiter pro Namespace. Wenn ein neuer Nutzer angelegt wird,
|
|
||||||
wird automatisch einer für den Nutzer erstellt.
|
|
||||||
|
|
||||||
Es gibt Lese- und Schreibrechte pro Namespace und Nutzer.
|
|
||||||
|
|
||||||
Namespace:
|
|
||||||
|
|
||||||
* ID
|
|
||||||
* Name
|
|
||||||
* OwnerID
|
|
||||||
* Timestamps
|
|
||||||
|
|
||||||
Teams:
|
|
||||||
|
|
||||||
* ID
|
|
||||||
* Name
|
|
||||||
* Description
|
|
||||||
* Rights (Selbsthochzählende Konstanten als json-array abspeichern)
|
|
||||||
* CreatedByUser
|
|
||||||
* Timestamps
|
|
||||||
|
|
||||||
TeamMembers:
|
|
||||||
|
|
||||||
* ID
|
|
||||||
* TeamID
|
|
||||||
* MemberID
|
|
||||||
* Timestamps
|
|
||||||
|
|
||||||
TeamNamespaces:
|
|
||||||
|
|
||||||
* ID
|
|
||||||
* TeamID
|
|
||||||
* NamespaceID
|
|
||||||
* Timestamps
|
|
||||||
|
|
||||||
TeamLists:
|
|
||||||
|
|
||||||
* ID
|
|
||||||
* TeamID
|
|
||||||
* ListID
|
|
||||||
* Timestamps
|
|
||||||
|
|
||||||
(+Check ob das Team schon Zugriff auf den Namespace hat und dafür sorgen dass das sich nicht überschneidet)
|
|
||||||
Bsp: wenn ein Namespace-Team Schreibrechte hat, soll es nicht möglich sein dieses Team mit Schreibrechten
|
|
||||||
zur Liste hinzuzufügen. Wenn das Team im Namespace aber nur Leserechte Hat soll es möglich sein dieses Team
|
|
||||||
als Schreibend zur Liste hinzuzufügen.
|
|
||||||
|
|
||||||
Oder noch Besser: Man kann globale Rechte pro Namespace vergeben, die man dann wieder feinjustieren kann pro Liste.
|
|
||||||
Es soll aber nicht mgl. sein, ein Team zu einer Liste hinzuzufügen was nicht im Namespace ist.
|
|
||||||
Es muss also möglich sein, Teams zum Namespace hinzuzufügen die keinerlei Rechte haben (damit man
|
|
||||||
denen dann wieder pro Liste welche geben kann)
|
|
||||||
|
|
||||||
Rechte:
|
|
||||||
Erstmal nur 3: Lesen, Schreiben, Admin. Admins dürfen auch Namen ändern, Teams verwalten, neue Listen anlegen, etc.
|
|
||||||
Owner haben immer Adminrechte. Später sollte es auch möglich sein, den ownership an andere zur übertragen.s
|
|
||||||
|
|
||||||
Teams sind global, d.h. Ein Team kann mehrere Namespaces verwalten.
|
|
||||||
|
|
||||||
#### Neues Todo
|
|
||||||
|
|
||||||
* [x] Teams
|
|
||||||
|
|
||||||
* [x] Erstellen
|
|
||||||
* [x] Ansehen
|
|
||||||
* [x] Bearbeiten
|
|
||||||
* [x] Löschen
|
|
||||||
|
|
||||||
~~Ein zu lösendes Problem: Wie regelt man die Berechtigungen um Teams zu verwalten?~~
|
|
||||||
|
|
||||||
* [x] Namespaces
|
|
||||||
|
|
||||||
* [x] Erstellen
|
|
||||||
* [x] Ansehen
|
|
||||||
* [x] Bearbeiten
|
|
||||||
* [x] Löschen
|
|
||||||
* [x] Teams hinzufügen. Der Nutzer kriegt nur Teams angezeigt die er erstellt hat.
|
|
||||||
* [x] Alle Listen eines Namespaces anzeigen
|
|
||||||
|
|
||||||
* [x] Listen
|
|
||||||
|
|
||||||
* [x] Listen zu einem Namespace hinzufügen
|
|
||||||
|
|
||||||
#### v0.2
|
|
||||||
|
|
||||||
* [x] Listen teilbar
|
|
||||||
* [x] Mit anderen Nutzern
|
|
||||||
* [x Namespaces
|
|
||||||
* [x] Teams
|
|
||||||
* [ ] Mit Link
|
|
||||||
* [ ] Offen
|
|
||||||
* [ ] Passwortgeschützt
|
|
||||||
|
|
||||||
* [x] Rechtemanagement (Und damit Unterscheidung zwischen Ownern und Mitgleidern)
|
|
||||||
* [x] Mange Team members
|
|
||||||
* [x] Hinzufügen
|
|
||||||
* [x] Löschen
|
|
||||||
|
|
||||||
*Routen*
|
|
||||||
|
|
||||||
* [x] `namespaces/:id/teams`
|
|
||||||
* [x] Create
|
|
||||||
* [x] ReadAll
|
|
||||||
* [x] Delete
|
|
||||||
* [x] `lists/:id/teams`
|
|
||||||
* [x] Create
|
|
||||||
* [x] ReadAll
|
|
||||||
* [x] Delete
|
|
||||||
|
|
||||||
* [x] /namespaces soll zumindest auch die namen (+id) der dazugehörigen Listen rausgeben
|
|
||||||
|
|
||||||
## Feature-Ideen
|
## Feature-Ideen
|
||||||
|
|
||||||
|
@ -168,7 +13,7 @@ Teams sind global, d.h. Ein Team kann mehrere Namespaces verwalten.
|
||||||
## Clients
|
## Clients
|
||||||
|
|
||||||
* [ ] Webapp (vue.js) + Bulma
|
* [ ] Webapp (vue.js) + Bulma
|
||||||
* [ ] "Native" Clients (auf dem Rechner installiert (mit elektron oder so? Oder native mit qt oder so?)
|
* [ ] "Native" Clients (auf dem Rechner installiert (mit electron oder so? Oder native mit qt oder so?)
|
||||||
* [ ] Android (Flutter)
|
* [ ] Android (Flutter)
|
||||||
* [ ] iOS (mit Framework???? (Ging das nich auch mit Flutter?))
|
* [ ] iOS (mit Framework???? (Ging das nich auch mit Flutter?))
|
||||||
|
|
||||||
|
@ -223,7 +68,6 @@ Teams sind global, d.h. Ein Team kann mehrere Namespaces verwalten.
|
||||||
* [x] Wir brauchen noch ne gute idee, wie man die listen kriegt, auf die man nur so Zugriff hat (ohne namespace)
|
* [x] Wir brauchen noch ne gute idee, wie man die listen kriegt, auf die man nur so Zugriff hat (ohne namespace)
|
||||||
* Dazu am Besten nen pseudonamespace anlegen (id -1 oder so), der hat das dann alles
|
* Dazu am Besten nen pseudonamespace anlegen (id -1 oder so), der hat das dann alles
|
||||||
* [x] Testing mit locust: https://locust.io/
|
* [x] Testing mit locust: https://locust.io/
|
||||||
* [ ] Methode einbauen, um mit einem gültigen token ein neues gültiges zu kriegen
|
|
||||||
|
|
||||||
#### Userstuff
|
#### Userstuff
|
||||||
|
|
||||||
|
@ -247,6 +91,7 @@ Teams sind global, d.h. Ein Team kann mehrere Namespaces verwalten.
|
||||||
* [ ] Auch noch nen "link" zum Featurecreep
|
* [ ] Auch noch nen "link" zum Featurecreep
|
||||||
* [ ] Anleitung zum Makefile
|
* [ ] Anleitung zum Makefile
|
||||||
* [ ] Struktur erklären
|
* [ ] Struktur erklären
|
||||||
|
* [ ] Backups
|
||||||
* [ ] Deploy in die docs
|
* [ ] Deploy in die docs
|
||||||
* [ ] Docker
|
* [ ] Docker
|
||||||
* [ ] Native
|
* [ ] Native
|
||||||
|
@ -279,4 +124,5 @@ Teams sind global, d.h. Ein Team kann mehrere Namespaces verwalten.
|
||||||
* [ ] Labels
|
* [ ] Labels
|
||||||
* [ ] Task-Templates innerhalb namespaces und Listen (-> Mehrere, die auswählbar sind)
|
* [ ] Task-Templates innerhalb namespaces und Listen (-> Mehrere, die auswählbar sind)
|
||||||
* [ ] Bulk-edit -> Transactions
|
* [ ] Bulk-edit -> Transactions
|
||||||
* [ ] Ein Task muss von mehreren Assignees abgehakt werden bis er als done markiert wird
|
* [ ] Ein Task muss von mehreren Assignees abgehakt werden bis er als done markiert wird
|
||||||
|
* [ ] Methode einbauen, um mit einem gültigen token ein neues gültiges zu kriegen
|
||||||
|
|
18
README.md
18
README.md
|
@ -27,16 +27,28 @@ Try it under [try.vikunja.io](https://try.vikunja.io)!
|
||||||
* [x] Subtasks
|
* [x] Subtasks
|
||||||
* [x] Repeating tasks
|
* [x] Repeating tasks
|
||||||
* [x] Get tasks via caldav
|
* [x] Get tasks via caldav
|
||||||
|
* [x] Get all your tasks for an interval (day/month/period)
|
||||||
* [ ] Labels for todo lists and tasks
|
* [ ] Labels for todo lists and tasks
|
||||||
* [ ] Assign users to tasks
|
* [ ] Assign users to tasks
|
||||||
* [ ] Attachments on tasks
|
* [ ] Attachments on tasks
|
||||||
* [ ] Get all your tasks for an interval (day/month/period)
|
|
||||||
* [ ] More sharing features
|
* [ ] More sharing features
|
||||||
* [x] Share with individual users
|
* [x] Share with individual users
|
||||||
* [ ] Share via a world-readable link with or without password, like Nextcloud
|
* [ ] Share via a world-readable link with or without password, like Nextcloud
|
||||||
|
* [ ] Read-only websocket to notify multiple clients of updates when something was changed
|
||||||
|
* [ ] "Smart Lists" - Create lists based on filters
|
||||||
|
* [ ] IMAP-Integration - Send an email to Vikunja to create a new task
|
||||||
|
* [ ] Webhooks - Trigger other events when an action is done (like completing a task)
|
||||||
|
* [ ] Performace statistics - Get an overview and beautiful charts about what you got done this month
|
||||||
|
* [ ] Activity feeds - Get a quick overview about who did what
|
||||||
|
* [ ] Bulk-edit multiple tasks at once
|
||||||
|
* [ ] Team-efforts - Requiring a task to be marked as done by multiple members until it's done
|
||||||
|
* [ ] Global limits for namespaces/lists/tasks
|
||||||
|
* [ ] Disable registration, making an instance "invite-only"
|
||||||
|
|
||||||
* [ ] [Mobile apps](https://code.vikunja.io/app) (seperate repo)
|
See (Featurecreep.md)[Featurecreep.md] for even more! (mostly ideas, for now)
|
||||||
* [ ] [Webapp](https://code.vikunja.io/frontend) (seperate repo)
|
|
||||||
|
* [ ] [Mobile apps](https://code.vikunja.io/app) (seperate repo) *In Progress*
|
||||||
|
* [ ] [Webapp](https://code.vikunja.io/frontend) (seperate repo) *In Progress*
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue