Quickstarters
CRUD Samples
Wie man eine CRUD-Anwendung mit Elm erstellt?
35 min
übersicht in diesem tutorial lernen sie, wie sie eine vollständige crud (erstellen, lesen, aktualisieren, löschen) anwendung mit elm erstellen wir verwenden back4app als unseren backend service, um daten mühelos zu verwalten diese anleitung erklärt, wie man ein back4app projekt konfiguriert, ein flexibles datenschema entwirft und crud operationen in eine elm anwendung mit rest api aufrufen integriert zunächst richten sie ein back4app projekt ein, hier genannt basic crud app elm , das eine robuste, nicht relationale datenbank bietet sie werden ihr datenmodell entweder manuell oder mit hilfe des intelligenten ki agenten von back4app entwerfen als nächstes verwalten sie ihr backend mit der back4app admin app, die eine intuitive drag and drop oberfläche zur datenmanipulation bietet schließlich verbinden sie ihre elm app mit back4app, indem sie restful api anfragen stellen und dabei sichere datenoperationen gewährleisten am ende dieses tutorials haben sie eine produktionsbereite elm anwendung, die die grundlegenden crud funktionalitäten und eine sichere benutzerauthentifizierung unterstützt wesentliche erkenntnisse erfahren sie, wie sie eine elm crud anwendung mit einem nicht relationalen backend erstellen verstehen sie, wie sie ein skalierbares backend strukturieren und es mit einem elm frontend verbinden verwenden sie die back4app admin app für nahtlose erstellungs , lese , aktualisierungs und löschvorgänge erforschen sie bereitstellungsoptionen, einschließlich docker, um ihre elm anwendung problemlos zu starten voraussetzungen bevor sie beginnen, stellen sie sicher, dass sie ein back4app konto mit einem eingerichteten projekt brauchen sie hilfe? besuchen sie erste schritte mit back4app https //www back4app com/docs/get started/new parse app eine elm entwicklungsumgebung installieren sie elm und verwenden sie ihren bevorzugten editor vertrautheit mit den grundlagen von elm, funktionaler programmierung und http anfragen überprüfen sie den elm leitfaden https //guide elm lang org/ falls erforderlich schritt 1 – initialisierung ihres projekts erstellen eines neuen back4app projekts melden sie sich bei ihrem back4app konto an klicken sie auf die schaltfläche „neue app“ in ihrem dashboard benennen sie ihr projekt basic crud app elm und folgen sie den anweisungen, um die einrichtung abzuschließen neues projekt erstellen sobald ihr projekt bereit ist, wird es auf ihrem dashboard angezeigt und bereitet die bühne für ihre backend konfiguration schritt 2 – erstellen des datenschemas einrichten ihrer datenstrukturen für diese crud anwendung werden sie mehrere sammlungen (oder klassen) in back4app erstellen nachfolgend finden sie beispiele für die hauptsammlungen und deren felder zur unterstützung von crud operationen 1\ artikel sammlung diese sammlung speichert details zu jedem eintrag feld typ einzelheiten id objekt id automatisch generierte eindeutige kennung titel zeichenfolge name des artikels beschreibung zeichenfolge kurze beschreibung des artikels erstelltam datum zeitstempel zur kennzeichnung der erstellung aktualisiertam datum zeitstempel, der das letzte update markiert 2\ benutzersammlung diese sammlung verwaltet die benutzerauthentifizierung und anmeldeinformationen feld typ einzelheiten id objekt id automatisch generierte eindeutige kennung benutzername zeichenfolge einzigartiger benutzername für den benutzer e mail zeichenfolge eindeutige e mail adresse passworthash zeichenfolge verschlüsseltes passwort zur sicherheit erstelltam datum zeitstempel für die erstellung des kontos aktualisiertam datum zeitstempel für das letzte kontoupdate sie können diese sammlungen und felder manuell über das back4app dashboard hinzufügen neue klasse erstellen sie können felder hinzufügen, indem sie den entsprechenden typ auswählen, das feld benennen und angeben, ob es obligatorisch ist spalte erstellen verwendung des back4app ai agenten zur schema konfiguration der back4app ai agent vereinfacht die erstellung ihres datenschemas basierend auf ihrer beschreibung dieser automatisierte prozess stellt sicher, dass ihr schema für alle erforderlichen crud aktionen eingerichtet ist so verwenden sie den ai agenten zugriff auf den ai agenten melden sie sich bei ihrem back4app dashboard an und suchen sie den ai agenten in ihren projekteinstellungen beschreiben sie ihr datenschema beschreiben sie die sammlungen und felder, die sie benötigen überprüfen und bestätigen überprüfen sie das vorgeschlagene schema und genehmigen sie es, um ihr backend zu konfigurieren beispielaufforderung create the following collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) dieser intelligente ansatz spart zeit und sorgt für ein robustes, konsistentes datenschema schritt 3 – aktivierung der admin oberfläche und verwaltung von crud operationen einführung in die admin oberfläche die admin app von back4app bietet ihnen eine no code oberfläche zur verwaltung ihrer backend daten ihr benutzerfreundliches design ermöglicht es ihnen, crud aktionen wie das hinzufügen, anzeigen, bearbeiten und löschen von datensätzen durchzuführen aktivierung der admin app gehen sie zum menü “mehr” auf ihrem back4app dashboard wählen sie “admin app” und klicken sie auf “admin app aktivieren ” erstellen sie ihr admin konto, das auch rollen wie b4aadminuser und systemkollektionen einrichtet admin app aktivieren sobald aktiviert, melden sie sich bei der admin app an, um ihre daten zu verwalten admin app dashboard durchführen von crud aktionen in der admin app innerhalb der admin app können sie datensätze einfügen wählen sie „datensatz hinzufügen“ in einer sammlung (z b artikel), um neue einträge zu erstellen datensätze inspizieren/bearbeiten klicken sie auf einen beliebigen datensatz, um details anzuzeigen oder daten zu ändern datensätze entfernen löschen sie einträge, die nicht mehr benötigt werden diese benutzerfreundliche oberfläche vereinfacht das datenmanagement schritt 4 – verbinden sie ihre elm anwendung mit back4app nachdem ihr backend konfiguriert ist, ist es an der zeit, ihre elm anwendung mit back4app zu verknüpfen verwendung von rest api aufrufen in elm da elm kein dediziertes parse sdk unterstützt, werden wir die integrierten http funktionen verwenden, um mit den rest endpunkten von back4app zu interagieren beispiel daten aus der artikelkollektion abrufen im folgenden ein beispiel für ein elm modul, das das http paket verwendet, um eine liste von artikeln abzurufen module items exposing (item, fetchitems, itemdecoder) import http import json decode as decode exposing (decoder) type alias item = { id string , title string , description string } itemdecoder decoder item itemdecoder = decode map3 item (decode field "objectid" decode string) (decode field "title" decode string) (decode field "description" decode string) fetchitems cmd msg fetchitems = http get { url = "https //parseapi back4app com/classes/items" , expect = http expectjson handleresponse (decode field "results" (decode list itemdecoder)) } handleresponse result http error (list item) > msg handleresponse result = \ map the http result to your application's message type debug todo "handle the response appropriately" beispiel einen neuen artikel erstellen du kannst auch post anfragen in elm implementieren, um neue datensätze hinzuzufügen createitem string > string > cmd msg createitem title description = let body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } handlepostresponse result http error decode value > msg handlepostresponse result = debug todo "process the post response" createitem string > string > cmd msg createitem title description = let body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } handlepostresponse result http error decode value > msg handlepostresponse result = debug todo "process the post response" createitem string > string > cmd msg createitem title description = let body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } handlepostresponse result http error decode value > msg handlepostresponse result = debug todo "process the post response" wiederholen sie ähnliche muster für update und löschoperationen mit den methoden put und delete schritt 5 – sicherung ihres backends zugriffskontrollen (acls) konfigurieren schützen sie ihre daten, indem sie acls für ihre objekte einrichten zum beispiel, um ein element auf seinen ersteller zu beschränken, könnten sie folgendes verwenden \ in elm, you can add acl details to your json payload createprivateitem string > string > string > cmd msg createprivateitem title description ownerid = let acl = encode object \[ ( ownerid, encode object \[ ("read", encode bool true), ("write", encode bool true) ] ) , ( " ", encode object \[ ("read", encode bool false), ("write", encode bool false) ] ) ] body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) , ( "acl", acl ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } klassenebene berechtigungen (clps) festlegen definieren sie clps im back4app dashboard, damit nur authentifizierte benutzer auf bestimmte sammlungen zugreifen können schritt 6 – implementierung der benutzerauthentifizierung verwaltung von benutzerkonten back4app nutzt die integrierte benutzerkollektion zur handhabung der authentifizierung in ihrer elm app verwalten sie anmeldungen und logins über rest api aufrufe beispiel benutzeranmeldung anfrage signupuser string > string > string > cmd msg signupuser username password email = let body = http jsonbody <| encode object \[ ( "username", encode string username ) , ( "password", encode string password ) , ( "email", encode string email ) ] in http post { url = "https //parseapi back4app com/users" , body = body , expect = http expectjson handleauthresponse decode value } handleauthresponse result http error decode value > msg handleauthresponse result = debug todo "process the authentication response" verfolgen sie einen ähnlichen ansatz für die anmeldung und sitzungsverwaltung schritt 7 – bereitstellung ihrer elm anwendung back4app unterstützt nahtlose bereitstellung sie können ihre elm anwendung mit verschiedenen methoden, einschließlich docker, bereitstellen 7 1 erstellen ihrer elm anwendung kompilieren sie ihren elm code führen sie den elm compiler aus, um javascript zu generieren elm make src/main elm output=dist/main js bereiten sie ihre assets vor stellen sie sicher, dass ihre generierten javascript und html dateien bereit für die bereitstellung sind 7 2 organisieren ihrer projektstruktur ein typisches elm projektlayout könnte so aussehen basic crud app elm/ \| src/ \| | main elm \| | api elm \| dist/ \| | index html \| | main js \| elm json \| package json \| dockerfile 7 3 dockerisieren ihrer elm anwendung wenn sie containerisieren, fügen sie ein dockerfile \# use a lightweight node image for serving static files from node 16 alpine \# set the working directory workdir /app \# copy compiled files copy dist/ /app/dist/ \# expose the desired port expose 8080 \# serve the static files using a simple server cmd \["npx", "http server", "dist", " p", "8080"] 7 4 bereitstellung mit back4app’s web bereitstellung verknüpfen sie ihr repository hosten sie ihr elm projekt auf github konfigurieren sie die bereitstellungseinstellungen wählen sie im back4app dashboard die web bereitstellung funktion, verbinden sie ihr repository (z b basic crud app elm ) und wählen sie den gewünschten branch setzen sie die build befehle geben sie den build befehl an (z b elm make src/main elm output=dist/main js ) und den speicherort des artefakts bereitstellen ihrer app klicken sie auf bereitstellen und überwachen sie die protokolle, bis ihre app live ist schritt 8 – abschließende gedanken und zukünftige richtungen herzlichen glückwunsch! sie haben eine auf elm basierende crud anwendung erstellt, die mit back4app integriert ist sie haben ein projekt mit dem namen basic crud app elm , sammlungen für artikel und benutzer entworfen und daten über die back4app admin app verwaltet darüber hinaus haben sie ihre elm anwendung mit rest api aufrufen verbunden und sicherheitsmaßnahmen implementiert zukünftige verbesserungen funktionen erweitern integrieren sie erweiterte suchfunktionen, detaillierte ansichten oder echtzeit updates backend funktionen verbessern experimentieren sie mit cloud funktionen, integrationen von drittanbietern oder rollenbasiertem zugriff ihr wissen vertiefen besuchen sie die back4app dokumentation https //www back4app com/docs und andere ressourcen, um ihre app zu verfeinern viel spaß beim programmieren und beim erstellen mit elm und back4app!