kimbtech / kimb-notes Goto Github PK
View Code? Open in Web Editor NEWLightweight and powerful Notes WebApp with Desktop Application — 📝🗃
Home Page: https://github.com/KIMB-technologies/KIMB-Notes/wiki/
License: Other
Lightweight and powerful Notes WebApp with Desktop Application — 📝🗃
Home Page: https://github.com/KIMB-technologies/KIMB-Notes/wiki/
License: Other
Veröffentlichung unter der GPLv3
data.***REMOVED***.eu
, diesAuch die Eingabe von LaTex erlauben und dann mittels MathJax rendern.
Wenn JavaScript deaktiviert ist oder ES6 nicht unterstützt wird, dann bekommt der User keine Meldung, das sollte sich ändern!
Notizen können ja auch jetzt schon nicht gelöscht werden, aber trotzdem verschwinden sie für den User komplett, wenn er sie archiviert.
Den Button für den Archivmanager mit Leben füllen.
Bessere Offline-Funktionalität durch CacheManifest-Datei.
Ohne Internet dann einfach aus dem localStorage laden (Login überspringen, Änderungen beim nächsten Mal mit Internet sichern)
Auch auf Desktop-App offline gut nutzbar machen.
Das System (UI) sollte übersetzt werden, es sind eigentlich nicht viele Stellen.
Das Männchen oben rechts mit Leben füllen:
Aktuell werden Freigaben nicht automatisch aktualisiert, hier müsste regelmäßig der Server nach Änderungen befragt werden.
Dies kann auch bei "normalen" Notizen sinnvoll sein (ein User auf zwei Geräten).
Weiterhin ist die Abfrage, ob eine Freigabe bearbeitbar sein soll, nicht beschriftet.
:<name>:
?, Autocomplete?)@<noteid>
referenzieren
noteid
und Anzeige dann mit Namen (und anklickbar)In der Notizliste soll es die Möglichkeit geben Gruppen zu erstellen, welche mehrere Notizen zusammenfassen.
So kann man zB ToDos von Planungen trennen.
Technisch der Liste eine untergeordnete Liste als Element ermöglichen, welche mittels Klick ausgeklappt werden kann. API benötigt ein Group Attribute bei Abfrage der Notizliste. Außerdem Möglichkeit der Vergabe von Attributen.
Den schon jetzt erstellten Verlauf der Notiz auch für User sichtbar machen und auch darauf zurückspringbar machen.
Den Button mit Leben füllen.
Festes Verhalten wenn Server keine Rückmeldung zu Notizabfrage gibt
Im Tool sind an einigen Stellen im PHP-Code sehr viele Dopplungen vorhanden, besonders bei Prüfungen der Eingaben und Auflösen von IDs zu Dateien/ Objekten.
Hier den Code in Klassen und Funktionen kapseln, bzw. durch optionale Parameter bei der Eingabepüfung besser verschachteln.
Auch der JavaScript Code könnte mal aufgeräumt werden.
Eine defekte Datei (Notiz) kann das ganze Notizarchiv zerschießen, hier sollte ein sinnvolles Error Handling stattfinden und fehlerhafte Dateien einfach übersprungen oder als "nicht wiederherstellbar" markiert werden.
Manchmal benötigt man bei einer Notiz nicht nur Texte und Code, sondern auch Dateien.
Hierzu soll ein Dateiupload für jede Notiz möglich werden.
Dateigröße auf 2 MB oder so beschränken, Bilder skalieren.
Das System erkennt automatisch, wenn es offline ist. Manchmal liegt es aber falsch, bisher muss man dann neu starten, um erneut nach einer Internetverbindung zu gucken.
Hier sollte es eine Button geben (Click auf Offlinemodus Meldung)
Notizfreigabe
https://notes.example.com/#<authcode>
Die Liste der Notizen soll bei schmalen Bildschirmen die volle Breite ausnutzen.
Es soll möglich sein eine Notiz auch anderen Usern freizugeben und bei denen anzuzeigen.
Es werden noch alte Versionen von jQuery und jQuery UI (vielleicht Theme an Rest anpassen) genutzt, hier sollte man mal die aktuellen nutzen.
Auch sollten andere Bibilotheken überprüft werden.
Ein automatischer Prozess im Build-Skript wäre schön um veraltete Bibilotheken zu erkennen und automatisch anzupassen.
Der Administrationsdialog nimmt teilweise eine unzureichende Prüfung der Eingaben vor.
Einene Demo über GitHub pages ermöglichen.
Keine Server-Backend, nur feste Werte über eine veränderte ajax_request()
Funktion auslesen.
Somit ein Gefühl geben, aber kein ganzes Tool.
In seltenen Fällen kann es passieren, dass eine Prozess nacheinander in eine JSON Datei schreibt und damit Daten überschreibt.
Die JSON-Klasse sollte ihre Dateien locken und die JavaScript App sollte immer nur einen Schreibbefehl senden, bevor dieser erneut kommt. (Autosave in Maker)
Die JSON-Klasse könnte auch nach dem Schreiben das Ergebnis prüfen.
Neben der AJAX-Web-API auch eine REST-API bauen, gleicher Aufbau bis auf Login, hier nur Username und Passwort bzw. Username und Authcode zu UserID (und Authcode) funktion.
Die Methode getValue()
der JSON Klasse gibt ja einfach den Inhalt zurück, sobald der Inhalt unter einem nächsten Index empty()
ist. Diese Verhalten führt zu einigen Fehlern bzw. unerwartetem Verhalten, hier muss etwas optimiert werden!
Die WebApp sieht in der Desktop-Application noch sehr nach Homepage an, hier wäre ein Design näher an einer nativen App schön.
(automatisch erkennen auf Mobil und per Befehl in der Desktop-Application)
Unter iOS wird die Feststelltaste in CodeMirror teilweise nicht korrekt erkannt. (Bleibt nach einmal groß im Caps-Log)
Schon jetzt wird die SJCL Bibilothek benutzt, mit dieser soll es dann auch möglich sein verschlüsselte Notzien anzulegen.
Der User kann bei der Erstellung verschlüsselt wählen und muss dann ein Passwort angeben, mit dem die Notiz verschlüsselt und auch wieder entschlüsselt werden kann. (So kann dann selbst der Serverbetreiber nichts lesen.)
Der Verlauf kann dann kein Diff. anzeigen.
Mittels Electron eine Desktop-App bauen.
Mittels Verschlüsselter Notizen ein komfortable Listung von Passwörtern ermöglichen.
Quasi als Passwortmanager fungieren können.
(Funktion aktivieren beim Erstellen, dann keine direkte Eingabe mehr sondern PW Frontend)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.