Daten universell bereitstellen

  • Hey,


    ich bin gerade an der Code Competition und stehe vor einer Herausforderung die ich mit meinem aktuellen Wissen nicht lösen kann.


    Ich habe bereits einiges gegoogelt und nach einer Möglichkeit geschaut, wie ich Daten die mit JavaScript in die indexedDB/ in den localstorage abgespeichert wurden universell abspeichern kann, damit diese Daten auf jedem Client beim Aufruf der entsprechenden Seite auch vorhanden sind. Leider habe ich keine Möglichkeit gefunden.


    Die Daten in der indexedDB sind nur im Client verfügbar welcher den Eintrag erstellt hat - das gleiche im localstorage.

    Was ich weiß ist, dass die Daten auf dem Server gespeichert werden müssen, weil diese sonst für den anderen Client nicht verfügbar sind.


    Irgendwie ist das mit JavaScript möglich weil sie sonst JavaScript wohl nicht als Programmiersprache zugelassen hätten.


    Habt ihr Ideen/Vorschläge wie ich Daten mittels JavaScript universell abspeichern kann?


    Schon ein Danke im voraus für hilfreiche Antworten :)


    Schöne Grüße,

    Stef

  • Hi Stef,


    wenn nur JS erlaubt ist als Sprache, dann kannst du als Server NodeJS nutzen. Ein Webserver ist mit NodeJS sehr schnell mit express aufgesetzt. Schau dir mal an wie das damit funktioniert. (NodeJs, NPM und express sind die schlüsselwörter). Wenn auch das ablegen der Daten nur mit JS gemacht werden soll, würde ich vorschlagen die Daten einfach in JSON-Dateien auf dem Server zu speichern.


    Für die API kannst du dir dann auch etwas simples überlegen. Falls du hierzu weitere Fragen hast, sag einfach bescheid :)


    Viele grüße,


    Timo

  • Arne Drews Ich hatte da auch nochmal nachgefragt, die Competition erlaubt noch einiges mehr. Das mit dem reinen JS ist nicht ganz korrekt. JAVA und Python wären auch erlaubt. Genauso wie Docker, PackageManager und Buildsysteme wie Maven, NPM usw.


    Ich hatte auch überlegt ob ein Docker mit Apache und PHP ok ist, aber die wollen JAVA, Python oder JS und der Buildprozess muss auf Linux/Mac laufen.


    Nur so zur info :)

  • Hi,


    ich habe mich entschieden dies mit JavaScript zu programmieren. Bibliotheken sind erlaubt. Ich nutze bisher zum Beispiel auch die smtp.js Bibliothek für den E-Mailversand. Es sind auch weitere erlaubt und erwünscht.

    Buildsysteme, Paket Manager & Docker Server sind auch erwünscht. Dies hat jedoch nichts direkt mit der Programmiersprache die ich verwende zu tun. Diese Bereiche möchte ich planmäßig wenn die ganze Anwendung fertig steht angehen.


    Ich habe dort nochmal nachgeschaut und sehe, das NPM nicht gleich Node.js ist. NPM ist einfach nur ein Paketmanager, der bei der Installation von Node.Js mitinstalliert wird.


    Ob in dieser Sicht Node.js erlaubt ist weis ich nicht. Ich frage mal nach.


    Ist nun aber auch nebensächlich weil ich bis Ende des Zeitraums nicht damit fertig werde und dies mit Node.js für mich erstellen werde.


    Danke für eure Hilfe 🙂

  • Ich nutze bisher zum Beispiel auch die smtp.js Bibliothek für den E-Mailversand.

    Ok, habe mir das im Detail nicht angesehen, aber wenn ich das Beispiel auf der Homepage sehe

    , kann ich wieder mal nur hoffen, dass das am Ende nicht den Weg ins öffentliche Netz findet. =O

    Warum will man das?!


    Muss ja jeder selber wissen, ich bin raus...

    :sleeping:

  • Arne Drews


    Da es um eine Code-Competition geht, geht es hier ja eher darum etwas neues zu entwickeln und dabei bestimmte Technologien zu verwenden. Meist müssen diese weder Sicher noch Performant sein (Es sei denn, das ist das Thema :P)


    In den seltensten fällen erblickt glaub ich sowas den Produktiven Einsatz.


    Weiter ist die smtp.js eigentlich für den Einsatz auf nodeJs gedacht, daher kommt da ja der Client nicht dran. Oder wenn für Interne Systeme dann ist es egal, aber die seite hat nur 2 bereiche, etwas drunter kannst du auch den Sec-Token hinterlegen. Wie gesagt, es ist eher nicht für Public-websites gedacht :).


    Stef

    Nachdem was ich da gelesen habe, wird NodeJS erlaubt sein, genauso wie PHP, solange du eine einfache Installation hin bekommst. Was ja durch ein Docker-Container möglich wäre.

  • Wunderschönen guten Morgen :)

    Das Passwort kann verschlüsselt werden. Daher sehe ich darin eine mögliche Lösung für eine native JavaScript Application auf Clientbasis.


    Was findest du daran denn schlimm? Bin immer offen für neues :)


    Ich konnte durch eure Hilfe tolle neue Möglichkeiten für mich entdecken wie ich dies Ganze mit JavaScript auf Serverbasis programmieren kann. Großes Dankeschön :)


    Schönen Tag euch allen :)

  • Das Passwort kann verschlüsselt werden.

    Das ist zwar richtig, aber du erlaubst dennoch jedem, solange das Token gültig ist, über den eingetragenen SMTP, Mails zu versenden. Was du hier einbindest ist ja nicht nur ein Package, dahinter steht ja ein Service der genutzt wird. Hier wird eben der Request mit den Zugangsdaten an smtpjs (Server) gesendet und die senden dann Mails über dein smtp Server.

    Im gleichen Zuge könntest du auch selbst z.B. ein PHP-Script hosten welches Mails versendet und du es über eine API ansprechen kannst. Da hast ggf. noch mehr Sicherheit :D


    Grüße


    Timo