# Featurecreep * Listen erstellen, ändern, löschen * Todopunkte zu Listen hinzufügen, bearbeiten, löschen * 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 * [ ] "Apiformat" Methoden, damit in der Ausgabe zb kein Passwort drin ist..., oder created/updated von Nutzern... oder ownerID nicht drin ist sondern nur das ownerobject * [x] Swaggerdocs !!!! * [ ] Rechte überprüfen (in extra Funktion auslagern, dann wird das einfacher später): * [ ] Listen erstellen * [ ] Listen bearbeiten (nur eigene im Moment) * [ ] Listenpunkte hinzufügen * [ ] Listenpunkte bearbeiten #### v0.2 * [ ] Listen teilbar * [ ] Mit anderen Nutzern * [ ] Mit Link * [ ] Offen * [ ] Passwortgeschützt #### v0.3 * [ ] Rechtemanagement (Und damit Unterscheidung zwischen Ownern und Mitgleidern) #### v0.4 * [ ] Websocket? ## Clients * [ ] Webapp (vue.js) + Bulma * [ ] "Native" Clients (auf dem Rechner installiert (mit elektron oder so? Oder native?) * [ ] Android (Flutter) * [ ] iOS (mit Framework???? (Ging das nich auch mit Flutter?)) ## Anderes * [ ] CI aufsetzen * [ ] Tests schreiben * [ ] Ne Instanz mit den docs aufsetzen * [ ] Namen finden * [ ] Alle Packages umziehen * [ ] Swagger UI aufsetzen * [ ] mgl. zum Emailmaskieren haben (in den Nutzereinstellungen, wenn man seine Email nicht an alle Welt rausposaunen will) * [ ] Mgl. zum Accountlöschen haben (so richtig krass mit emailverifiezierung und dass alle Privaten Listen gelöscht werden und man alle geteilten entweder wem übertragen muss oder auf provat stellen)