TODO #1

Open
opened 2017-11-15 15:36:59 +00:00 by konrad · 0 comments
Owner

Frontend

Grundfunktionen

  • Bücher:
    • Übersicht anzeigen
    • Mengen anzeigen
    • Löschen
    • Bearbeiten
      • Mengen
    • Neu anlegen
    • Mengen mitspeichern, in ner extratabelle damit man nachverfolgen kann was über zeit weg/dazugekommen ist
    • Einzelnes Buch anzeigen
  • Autoren:
    • Übersicht anzeigen
    • Löschen
    • Bearbeiten
    • Neu anlegen
    • Einzelnen anzeigen
  • Verlage:
    • Übersicht anzeigen
    • Löschen
    • Bearbeiten
    • Neu anlegen
    • Einzelnen anzeigen
  • Items - Alles was nicht Buch ist, wie zb die Spiele. Sollte einfach nur ne Tabelle sein. Titel, Preis, Mengen verknüpfen
    • Übersicht anzeigen
    • Löschen
    • Bearbeiten
    • Neu anlegen
    • Einzelnen anzeigen
  • Benutzer --> Mit nem admintoken (oder der nutzer ist schon admin) was in der config angelegt werden muss:
    • Übersicht anzeigen
    • Löschen
    • Bearbeiten
    • Neu anlegen
  • Ne Art Kassensystem überlegen
  • Logs ansehen (auch mit admintoken)
  • Überall in den detailansichten Änderungs und Erstellungsdatum anzeigen

Anderes

  • Beim Löschen vorher nachfragen (kriegt man ein Semantic-UI popup nur mit css zum laufen, ohne jquery?)
  • Status dynamisch umsetzen in der Buchübersicht
  • Benutzername und Gravatar oben Rechts anzeigen
  • Irgendwie testen ob die aktuelle session noch gilt, wenn nicht neu einloggen anzeigen
  • Bild beim loginformular hinzufügen
  • Es sollte mindestens ein Titel vorhanden sein, wenn man ein Buch eintragen will
  • Mehrsprachigkeit
  • API-URL sollte einfach einstellbar sein
  • Nachdem was neues erstellt wurde (Buch, Autor, Verlag) soll man wieder zurück zu übersicht, aber mit Nachricht dass es geklapt hat. -> vlt mit so kleinen notifications statt wie bisher??
  • Modal so erweitern dass es auf esc und enter reagiert
  • Die Anzeige der einzelnen Dinger (Buch, Autor, Verlag) in eine Modulare Komponente auslagern
  • /home-Route in / umbennen
  • Sprachauswahl schöner machen
  • Title der seite entsprechend ändern
  • Fonts von google runterladen und selbst einabauen
  • Fancy spinner einbauen (http://epic-spinners.epicmax.co/#/)

Bugs

  • Wenn man ein Buch gelöscht hat, ist es weg, dafür taucht dann ein anders an seiner stelle auf... (Caching?)
  • Wenn man dem Grid ein Objekt übergibt, bei dem der Inhalt leer ist, wird nur { "content": "" } angezeigt, anstatt einfach nur nichts.
  • Wenn man ein Buch bearbeitet werden sehr viele neue Autoren in die Datenbank eingefügt
  • Bei der authetifiziereung: "Bearer null"????
  • Wenn man einen falschen Preis einträgt (. statt ,) gehts nicht. Das sollte vom Frontend abgefangen werden.
  • Das loginformular sollte nicht mit leeren werten abgeschickt werden
  • Wenn man ein Buch löscht, wird die Liste nicht neu geladen....
  • Autor oder Publisher sind nicht auswählbar wenn die UI in einer anderen Sprache als Englisch ist
  • Wenn man was löscht (mindestens nen publisher) wird immer alles mitgeschickt vom vorherigen wenn man schonmal einen gelöscht hat
  • [Vue warn]: Error in render: "TypeError: item is undefined"
  • Beim neuanlegen/bearbeiten sollte das ganze erst neugeladen werden wenn es angelgt/bearbeitet wurde -> Race condition
  • Durch die änderungen am Backend geht neuanlegen/Bearbeiten nicht mehr
  • Wenn sich der nutzer einloggt, kriegt der http teil nicht mit, dass da ein neues token ist und schickt daher alle requests mit Authorisation: Bearer null anstatt dem token ab. Einmal neuladen behebt das ganze.
  • Bei mehr als 2 Autoren funktionieren die Kommas in der übersicht nicht mehr

Backend

Grundfunktionen

  • Bei Büchern Mengen mitspeichern, in ner extratabelle damit man nachverfolgen kann was über zeit weg/dazugekommen ist
  • Status dynamisch umsetzen in der Buchübersicht
  • Was überlegen um den ersten nutzer anzulegen
  • Datenbankverbindung sollte aus der configdatei kommen
  • Ob die SQL-Queries angezeigt werden oder nicht sollte ebenfalls aus der config kommen
  • Das Interface des Webservers soll aus der config kommen
  • Methode zum updaten eines Buchs
  • Wenn ein Autor leer ist, sollte er nicht eingetragen werden.
  • Überall structs mit infos anstatt IDs übergeben
  • Bookstruct überprüfen wenns ankommt
  • Strategie für Dist überlegen, wie wo soll die index.html von npm hin und dann wohin ausgeliefert werden? --> Makefile anpassen damit das dahin kopiert wird
  • PublisherFull in Publisher umbenennen, das alte Publisher zu PublisherID
  • Wenn man an eine PUT-Route ein JSON-Objekt mit ID übergibt, wird der kram geupdated anstatt eingefügt. In diesem Fall sollte die API sagen das man doch bitte ne andere methode (POST) benutzen soll.
  • Die Menge soll nur neu eingefügt werden wenn sie sich auch geändert hat (wenn man das dazugehörige buch ändert)
  • Mengen so speichern dass die von büchern und items in der selben tabelle gespeichert werden können
  • Items -> also alles was nicht buch ist, sollte man auch verwalten können???
  • Quantities sollen mit weniger abfragen geholt und upgedated werden
  • Such-Routen optimieren, dazu brauchen wir eigentlich keine extra routen mit extra code, das lässt sich viel einfacher in die List-Methode integrieren
  • Alle json-Antworten sollten komplett in lowercase zurückkommen
  • Quantities so umbauen, dass einmal alle geholt werden und die dann durchgegangen werden anstatt alle durchzugehen und für jeden einzeln ne sqlabfrage zu machen
  • Mitspeichern welcher Nutzer wann was gemacht hat
  • Ne Art Kassensystem überlegen
  • Sollte einen Fehler werfen wenn die Datenbankverbindung fehlschlägt (inkl datenbank nicht existiert)
  • Option mit sqlite
  • Message als JSON all lowercase
  • Version (Oder nur Git commit ref) irgendwo hinterlegen
  • Unit Tests
  • Überall wo was fehlschlagen kann custom error types einbauen (und darauf testen)
  • Es sollte möglich sein, von einem Buch die Autoren + Publihser zu entfernen
  • Als admin sollte man logs kriegen können

Bugs

  • Update methode reparieren
  • Beim Löschen gucken ob die ID leer ist
  • wenn ein neues Buch eingefügt wird und kein Verlag angegeben ist, wird ein leerer angelegt und verknüpft.
  • Buch updaten schlägt fehl wenn man keinen titel angegeben hat
  • Der Server stoppt wenn der Benutzer der in der Config angelegt wird schon existiert
  • Wenn bei den Routen wo was mit /:id passiert, die ID nicht existiert sollte 404 zurückgegeben werden. (und nicht 400)
  • Wenn dinge gelöscht werden, werden die Mengen nicht mitgelöscht

Allgemeineres

  • API-Endpunkte dokumentieren
  • Altes neues Frontend raus, das lohnt ja so nicht mehr
  • Downloads in der Readme verlinken
  • Den Build so umbauen dass zips/tar rausfallen
  • Kann man den Nodejs build for frontend Prozess so umbauen dass der Eintrag im makefile wegfällt? (Also mit kopieren und so) Droneconfig abgeändert, das passt jetzt so
  • Lizenz einbauen
  • Anleitung schreiben zu "wie kriegt man den ganzen Kram zum laufen?" (und wie macht man das mit den prs)
  • Install Anleitung mit releasen
  • Config-Cheyt-sheet schreiben
  • Drone config fixen damit auch das frontend beim taggen gebaut wird
# Frontend ## Grundfunktionen * [x] Bücher: * [x] Übersicht anzeigen * [x] Mengen anzeigen * [x] Löschen * [x] Bearbeiten * [x] Mengen * [x] Neu anlegen * [x] Mengen mitspeichern, in ner extratabelle damit man nachverfolgen kann was über zeit weg/dazugekommen ist * [x] Einzelnes Buch anzeigen * [x] Autoren: * [x] Übersicht anzeigen * [x] Löschen * [x] Bearbeiten * [x] Neu anlegen * [x] Einzelnen anzeigen * [x] Verlage: * [x] Übersicht anzeigen * [x] Löschen * [x] Bearbeiten * [x] Neu anlegen * [x] Einzelnen anzeigen * [x] Items - Alles was nicht Buch ist, wie zb die Spiele. Sollte einfach nur ne Tabelle sein. `Titel`, `Preis`, Mengen verknüpfen * [x] Übersicht anzeigen * [x] Löschen * [x] Bearbeiten * [x] Neu anlegen * [x] Einzelnen anzeigen * [ ] Benutzer --> Mit nem admintoken (oder der nutzer ist schon admin) was in der config angelegt werden muss: * [ ] Übersicht anzeigen * [ ] Löschen * [ ] Bearbeiten * [ ] Neu anlegen * [ ] Ne Art Kassensystem überlegen * [ ] Logs ansehen (auch mit admintoken) * [x] Überall in den detailansichten Änderungs und Erstellungsdatum anzeigen ## Anderes * [x] Beim Löschen vorher nachfragen (kriegt man ein Semantic-UI popup nur mit css zum laufen, ohne jquery?) * [x] Status dynamisch umsetzen in der Buchübersicht * [x] Benutzername und Gravatar oben Rechts anzeigen * [x] Irgendwie testen ob die aktuelle session noch gilt, wenn nicht neu einloggen anzeigen * [x] Bild beim loginformular hinzufügen * [x] Es sollte mindestens ein Titel vorhanden sein, wenn man ein Buch eintragen will * [x] Mehrsprachigkeit * [x] API-URL sollte _einfach_ einstellbar sein * [x] Nachdem was neues erstellt wurde (Buch, Autor, Verlag) soll man wieder zurück zu übersicht, aber mit Nachricht dass es geklapt hat. -> vlt mit so kleinen notifications statt wie bisher?? * [x] Modal so erweitern dass es auf esc und enter reagiert * [x] Die Anzeige der einzelnen Dinger (Buch, Autor, Verlag) in eine Modulare Komponente auslagern * [x] `/home`-Route in `/` umbennen * [x] Sprachauswahl schöner machen * [x] Title der seite entsprechend ändern * [ ] Fonts von google runterladen und selbst einabauen * [x] Fancy spinner einbauen (http://epic-spinners.epicmax.co/#/) ## Bugs * [x] Wenn man ein Buch gelöscht hat, ist es weg, dafür taucht dann ein anders an seiner stelle auf... (Caching?) * [x] Wenn man dem Grid ein Objekt übergibt, bei dem der Inhalt leer ist, wird nur `{ "content": "" }` angezeigt, anstatt einfach nur nichts. * [x] Wenn man ein Buch bearbeitet werden _sehr viele_ neue Autoren in die Datenbank eingefügt * [x] Bei der authetifiziereung: "Bearer null"???? * [x] Wenn man einen falschen Preis einträgt (`.` statt `,`) gehts nicht. Das sollte vom Frontend abgefangen werden. * [x] Das loginformular sollte nicht mit leeren werten abgeschickt werden * [x] Wenn man ein Buch löscht, wird die Liste nicht neu geladen.... * [x] Autor oder Publisher sind nicht auswählbar wenn die UI in einer anderen Sprache als Englisch ist * [x] Wenn man was löscht (mindestens nen publisher) wird immer alles mitgeschickt vom vorherigen wenn man schonmal einen gelöscht hat * [x] `[Vue warn]: Error in render: "TypeError: item is undefined"` * [x] Beim neuanlegen/bearbeiten sollte das ganze erst neugeladen werden wenn es angelgt/bearbeitet wurde -> Race condition * [x] Durch die änderungen am Backend geht neuanlegen/Bearbeiten nicht mehr * [x] Wenn sich der nutzer einloggt, kriegt der http teil nicht mit, dass da ein neues token ist und schickt daher alle requests mit `Authorisation: Bearer null` anstatt dem token ab. Einmal neuladen behebt das ganze. * [x] Bei mehr als 2 Autoren funktionieren die Kommas in der übersicht nicht mehr # Backend ## Grundfunktionen * [x] Bei Büchern Mengen mitspeichern, in ner extratabelle damit man nachverfolgen kann was über zeit weg/dazugekommen ist * [x] Status dynamisch umsetzen in der Buchübersicht * [x] Was überlegen um den ersten nutzer anzulegen * [x] Datenbankverbindung sollte aus der configdatei kommen * [x] Ob die SQL-Queries angezeigt werden oder nicht sollte ebenfalls aus der config kommen * [x] Das Interface des Webservers soll aus der config kommen * [x] Methode zum updaten eines Buchs * [x] Wenn ein Autor leer ist, sollte er nicht eingetragen werden. * [x] Überall structs mit infos anstatt IDs übergeben * [x] Bookstruct überprüfen wenns ankommt * [x] Strategie für Dist überlegen, wie wo soll die index.html von npm hin und dann wohin ausgeliefert werden? --> Makefile anpassen damit das dahin kopiert wird * [x] `PublisherFull` in `Publisher` umbenennen, das alte `Publisher` zu `PublisherID` * [x] Wenn man an eine `PUT`-Route ein JSON-Objekt mit ID übergibt, wird der kram geupdated anstatt eingefügt. In diesem Fall sollte die API sagen das man doch bitte ne andere methode (POST) benutzen soll. * [x] Die Menge soll nur neu eingefügt werden wenn sie sich auch geändert hat (wenn man das dazugehörige buch ändert) * [x] Mengen so speichern dass die von büchern und items in der selben tabelle gespeichert werden können * [x] Items -> also alles was nicht buch ist, sollte man auch verwalten können??? * [x] Quantities sollen mit weniger abfragen geholt und upgedated werden * [x] Such-Routen optimieren, dazu brauchen wir eigentlich keine extra routen mit extra code, das lässt sich viel einfacher in die `List`-Methode integrieren * [x] Alle json-Antworten sollten komplett in lowercase zurückkommen * [x] Quantities so umbauen, dass einmal alle geholt werden und die dann durchgegangen werden anstatt alle durchzugehen und für jeden einzeln ne sqlabfrage zu machen * [x] Mitspeichern welcher Nutzer wann was gemacht hat * [ ] Ne Art Kassensystem überlegen * [x] Sollte einen Fehler werfen wenn die Datenbankverbindung fehlschlägt (inkl datenbank nicht existiert) * [x] Option mit sqlite * [x] Message als JSON all lowercase * [x] Version (Oder nur Git commit ref) irgendwo hinterlegen * [x] Unit Tests * [x] Überall wo was fehlschlagen kann custom error types einbauen (und darauf testen) * [ ] Es sollte möglich sein, von einem Buch die Autoren + Publihser zu entfernen * [ ] Als admin sollte man logs kriegen können ## Bugs * [x] Update methode reparieren * [x] Beim Löschen gucken ob die ID leer ist * [x] wenn ein neues Buch eingefügt wird und kein Verlag angegeben ist, wird ein leerer angelegt und verknüpft. * [x] Buch updaten schlägt fehl wenn man keinen titel angegeben hat * [x] Der Server stoppt wenn der Benutzer der in der Config angelegt wird schon existiert * [x] Wenn bei den Routen wo was mit `/:id` passiert, die ID nicht existiert sollte 404 zurückgegeben werden. (und nicht 400) * [x] Wenn dinge gelöscht werden, werden die Mengen nicht mitgelöscht # Allgemeineres * [x] API-Endpunkte dokumentieren * [x] Altes neues Frontend raus, das lohnt ja so nicht mehr * [x] Downloads in der Readme verlinken * [x] Den Build so umbauen dass zips/tar rausfallen * [x] ~~Kann man den Nodejs build for frontend Prozess so umbauen dass der Eintrag im makefile wegfällt? (Also mit kopieren und so)~~ Droneconfig abgeändert, das passt jetzt so * [x] Lizenz einbauen * [ ] Anleitung schreiben zu "wie kriegt man den ganzen Kram zum laufen?" (und wie macht man das mit den prs) * [ ] Install Anleitung mit releasen * [x] Config-Cheyt-sheet schreiben * [x] Drone config fixen damit auch das frontend beim taggen gebaut wird
konrad self-assigned this 2017-11-17 09:40:15 +00:00
konrad started working 2017-11-17 09:47:01 +00:00
konrad stopped working 2017-11-17 09:47:04 +00:00
3s
Sign in to join this conversation.
No Label
No Milestone
No Assignees
1 Participants
Notifications
Total Time Spent: 3 seconds
konrad
3 seconds
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: konrad/Library#1
No description provided.