Quickstarters
Feature Overview
Wie man ein Backend für ExpressJS erstellt?
50 min
einführung in diesem tutorial lernen sie, wie sie ein vollständiges backend für eine expressjs anwendung mit back4app erstellen wir werden die integration wesentlicher back4app funktionen durchgehen – wie z b datenbankverwaltung, cloud code funktionen, rest und graphql apis, benutzerauthentifizierung und echtzeitanfragen (live queries) – um ein sicheres, skalierbares und robustes backend zu erstellen, das nahtlos mit ihren expressjs routen und middleware kommuniziert sie werden auch sehen, wie die schnelle einrichtung und die intuitive umgebung von back4app die zeit und den aufwand im vergleich zur manuellen konfiguration von servern und datenbanken drastisch reduzieren können unterwegs werden sie praktische erfahrungen mit wichtigen funktionen sammeln, einschließlich fortschrittlicher sicherheitsmerkmale, der planung von aufgaben mit cloud jobs und der einrichtung von webhooks für externe integrationen am ende dieses tutorials sind sie gut vorbereitet, um dieses grundlegende setup in eine produktionsbereite anwendung zu erweitern oder bei bedarf benutzerdefinierte logik und drittanbieter apis einfach zu integrieren voraussetzungen um dieses tutorial abzuschließen, benötigen sie ein back4app konto und ein neues back4app projekt erste schritte mit back4app https //www back4app com/docs/get started/new parse app wenn sie kein konto haben, können sie eines kostenlos erstellen befolgen sie die obige anleitung, um ihr projekt vorzubereiten grundkenntnisse in node js / express umgebung sie können dies mit express generator https //expressjs com/en/starter/generator html oder einem ähnlichen tool einrichten stellen sie sicher, dass node js auf ihrem computer installiert ist node js (version 14 oder höher) installiert sie benötigen node js, um npm pakete zu installieren und lokale entwicklungsserver auszuführen node js installieren https //nodejs org/en/download/ vertrautheit mit javascript und grundlegenden expressjs konzepten offizielle dokumentation von expressjs https //expressjs com/ wenn sie neu bei express sind, lesen sie die offiziellen dokumente oder ein tutorial für anfänger, bevor sie beginnen stellen sie sicher, dass sie alle diese voraussetzungen erfüllt haben, bevor sie beginnen ihr back4app projekt eingerichtet und ihre lokale expressjs umgebung bereit zu haben, wird ihnen helfen, leichter folgen zu können schritt 1 – einrichten des back4app projekts ein neues projekt erstellen der erste schritt beim erstellen ihres expressjs backends auf back4app besteht darin, ein neues projekt zu erstellen wenn sie noch keines erstellt haben, folgen sie diesen schritten melden sie sich bei ihrem back4app konto an klicken sie auf die schaltfläche „neue app“ in ihrem back4app dashboard geben sie ihrer app einen namen (z b „expressjs backend tutorial“) sobald das projekt erstellt ist, wird es in ihrem back4app dashboard aufgeführt dieses projekt wird die grundlage für alle backend konfigurationen sein, die in diesem tutorial besprochen werden verbinden sie das parse sdk back4app basiert auf der parse plattform, um ihre daten zu verwalten, echtzeitfunktionen bereitzustellen, die benutzerauthentifizierung zu handhaben und mehr um ihre expressjs anwendung mit back4app zu verbinden, müssen sie das parse npm paket installieren und es mit den anmeldeinformationen aus ihrem back4app dashboard initialisieren rufen sie ihre parse schlüssel ab navigieren sie in ihrem back4app dashboard zu den „app einstellungen“ oder zum abschnitt „sicherheit & schlüssel“, um ihre anwendungs id und javascript schlüssel sie finden auch die parse server url (oft im format https //parseapi back4app com ) installieren sie das parse sdk in ihrem expressjs projekt npm install parse wenn sie yarn verwenden, können sie es mit folgendem befehl installieren yarn add parse initialisieren sie parse in ihrer expressjs anwendung sie könnten eine datei (z b parseconfig js ) in ihrem projektverzeichnis erstellen src/parseconfig js // src/parseconfig js const parse = require('parse/node'); // replace the placeholders with your back4app credentials parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; module exports = parse; diese datei stellt sicher, dass, wann immer sie parse an anderer stelle in ihrer express app importieren (z b in ihren routen oder controllern), es vorkonfiguriert ist, um sich mit ihrer spezifischen back4app instanz zu verbinden durch das abschließen dieses schrittes haben sie eine sichere verbindung zwischen ihrem expressjs server und dem back4app backend hergestellt alle anfragen und datenübertragungen werden sicher über dieses sdk geleitet, wodurch die komplexität manueller rest oder graphql aufrufe verringert wird (obwohl sie diese bei bedarf weiterhin verwenden können) schritt 2 – datenbank einrichten daten speichern und abfragen mit ihrem back4app projekt, das eingerichtet und das parse sdk in ihre express app integriert ist, können sie jetzt mit dem speichern und abrufen von daten beginnen der einfachste weg, einen datensatz zu erstellen, besteht darin, die parse object klasse zu verwenden in einem ihrer routen handler, zum beispiel // routes/todo js const express = require('express'); const router = express router(); const parse = require(' /parseconfig'); // example create a todo item router post('/create', async (req, res) => { try { const { title, iscompleted } = req body; const todo = parse object extend('todo'); const todo = new todo(); todo set('title', title); todo set('iscompleted', iscompleted); const savedtodo = await todo save(); res status(200) json({ message 'todo saved successfully', savedtodo }); } catch (error) { res status(500) json({ error 'error saving todo', details error message }); } }); // example query all todo items router get('/', async (req, res) => { try { const todo = parse object extend('todo'); const query = new parse query(todo); const results = await query find(); res status(200) json(results); } catch (error) { res status(500) json({ error 'error fetching todos', details error message }); } }); module exports = router; alternativ können sie die rest api endpunkte von back4app verwenden curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo back4app bietet auch eine graphql schnittstelle an mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } diese vielfältigen optionen ermöglichen es ihnen, datenoperationen auf die weise zu integrieren, die am besten zu ihrem entwicklungsprozess passt – sei es über das parse sdk, rest oder graphql schema design und datentypen standardmäßig erlaubt parse schemaerstellung on the fly , aber sie können auch ihre klassen und datentypen im back4app dashboard definieren, um mehr kontrolle zu haben navigieren sie zum abschnitt „datenbank“ in ihrem back4app dashboard erstellen sie eine neue klasse (z b „todo“) und fügen sie relevante spalten hinzu, wie titel (string) und iscompleted (boolean) back4app unterstützt auch verschiedene datentypen string , number , boolean , object , date , file , pointer , array , relation , geopoint , und polygon sie können den geeigneten typ für jedes feld auswählen wenn sie möchten, können sie auch parse automatisch diese spalten erstellen lassen, wenn sie ein objekt zum ersten mal aus ihrer express app speichern back4app bietet einen ki agenten, der ihnen helfen kann, ihr datenmodell zu entwerfen öffnen sie den ki agenten von ihrem app dashboard oder im menü beschreiben sie ihr datenmodell in einfacher sprache (z b „bitte erstellen sie eine neue todo app bei back4app mit einem vollständigen klassenschema “) lassen sie den ki agenten das schema für sie erstellen die verwendung des ki agenten kann ihnen zeit sparen, wenn sie ihre datenarchitektur einrichten, und die konsistenz in ihrer anwendung sicherstellen relationale daten wenn sie relationale daten haben – sagen wir, ein kategorie objekt, das auf mehrere todo elemente verweist – können sie zeiger oder beziehungen in parse verwenden zum beispiel, indem sie einen zeiger zu einer kategorie aktivieren sie live abfragen in ihrem back4app dashboard unter den servereinstellungen stellen sie sicher, dass „live abfragen“ aktiviert ist initialisieren sie ein live abonnement in ihrem code src/parseconfig js // src/parseconfig js const parse = require('parse/node'); // replace the placeholders with your back4app credentials parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; // live query's subdomain parse livequeryserverurl = 'wss\ //your subdomain here b4a io'; module exports = parse;// a node script to subscribe to live queries const parse = require(' /parseconfig'); async function subscribetotodos(callback) { const query = new parse query('todo'); const subscription = await query subscribe(); subscription on('create', (newtodo) => { console log('new todo created ', newtodo); callback('create', newtodo); }); subscription on('update', (updatedtodo) => { console log('todo updated ', updatedtodo); callback('update', updatedtodo); }); subscription on('delete', (deletedtodo) => { console log('todo deleted ', deletedtodo); callback('delete', deletedtodo); }); return subscription; } durch das abonnieren erhalten sie echtzeitbenachrichtigungen, wann immer ein neues todo erstellt, aktualisiert oder gelöscht wird diese funktion ist besonders wertvoll für kollaborative oder dynamische apps, in denen mehrere benutzer die neuesten daten ohne zusätzliche abfragen sehen müssen schritt 3 – anwendung von sicherheit mit acls und clps back4app sicherheitsmechanismus back4app nimmt sicherheit ernst, indem es zugriffskontrolllisten (acls) und klassenebene berechtigungen (clps) diese funktionen ermöglichen es ihnen, einzuschränken, wer daten auf objekt oder klassenbasis lesen oder schreiben kann, und stellen sicher, dass nur autorisierte benutzer ihre daten ändern können zugriffskontrolllisten (acls) eine acl wird auf einzelne objekte angewendet, um zu bestimmen, welche benutzer, rollen oder die öffentlichkeit lese /schreiboperationen durchführen können zum beispiel const parse = require(' /parseconfig'); async function createprivatetodo(title, owneruser) { const todo = parse object extend('todo'); const todo = new todo(); todo set('title', title); // create an acl granting read/write access only to the owner const acl = new parse acl(owneruser); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); todo setacl(acl); try { return await todo save(); } catch (err) { console error('error saving private todo ', err); } } wenn sie das objekt speichern, hat es eine acl, die verhindert, dass jemand außer dem angegebenen benutzer es liest oder ändert klassenebene berechtigungen (clps) clps regeln die standardberechtigungen einer gesamten klasse, wie z b ob die klasse öffentlich lesbar oder schreibbar ist oder ob nur bestimmte rollen darauf zugreifen können gehen sie zu ihrem back4app dashboard , wählen sie ihre app aus und öffnen sie den datenbank bereich wählen sie eine klasse aus (z b „todo“) öffnen sie die klassenebene berechtigungen registerkarte konfigurieren sie ihre standardwerte, wie „erfordert authentifizierung“ für lesen oder schreiben oder „kein zugriff“ für die öffentlichkeit diese berechtigungen setzen die basislinie, während acls die berechtigungen für einzelne objekte verfeinern ein robustes sicherheitsmodell kombiniert typischerweise sowohl clps (breite einschränkungen) als auch acls (fein abgestufte einschränkungen pro objekt) für weitere informationen gehen sie zu app sicherheitsrichtlinien schritt 4 – schreiben und bereitstellen von cloud funktionen cloud code ist eine funktion der parse server umgebung, die es ihnen ermöglicht, benutzerdefinierten javascript code auf der serverseite auszuführen – ohne dass sie ihre server oder infrastruktur verwalten müssen durch das schreiben von cloud code können sie ihr back4app backend mit zusätzlicher geschäftslogik, validierungen, triggern und integrationen erweitern, die sicher und effizient auf dem parse server ausgeführt werden wie es funktioniert wenn sie cloud code schreiben, platzieren sie typischerweise ihre javascript funktionen, trigger und alle erforderlichen npm module in einer main js (oder app js ) datei diese datei wird dann in ihr back4app projekt bereitgestellt, das innerhalb der parse server umgebung ausgeführt wird da diese funktionen und trigger auf dem server ausgeführt werden, können sie darauf vertrauen, dass sie vertrauliche logik verarbeiten, sensible daten verarbeiten oder backend exklusive api aufrufe tätigen – prozesse, die sie möglicherweise nicht direkt dem client aussetzen möchten all cloud code für ihre back4app app läuft innerhalb des von back4app verwalteten parse servers, sodass sie sich keine gedanken über serverwartung, skalierung oder bereitstellung machen müssen jedes mal, wenn sie ihre main js datei aktualisieren und bereitstellen, wird der laufende parse server mit ihrem neuesten code aktualisiert main js dateistruktur eine typische main js könnte folgendes enthalten require anweisungen für alle benötigten module (npm pakete, integrierte node module oder andere cloud code dateien) cloud funktionsdefinitionen mit parse cloud define() trigger wie parse cloud beforesave() , parse cloud aftersave() , usw npm module die sie installiert haben (falls erforderlich) zum beispiel könnten sie ein paket wie axios installieren, um http anfragen zu stellen sie können es dann oben in ihrer datei require (oder importieren) // main js // 1 import necessary modules and other cloud code files const axios = require('axios'); const report = require(' /reports'); // 2 define a custom cloud function parse cloud define('fetchexternaldata', async (request) => { const url = request params url; if (!url) { throw new error('url parameter is required'); } const response = await axios get(url); return response data; }); // 3 example of a beforesave trigger parse cloud beforesave('todo', (request) => { const todo = request object; if (!todo get('title')) { throw new error('todo must have a title'); } }); mit der möglichkeit, npm module zu installieren und zu verwenden, wird cloud code unglaublich flexibel, sodass sie mit externen apis integrieren, datenumwandlungen durchführen oder komplexe serverseitige logik ausführen können typische anwendungsfälle geschäftslogik zum beispiel können sie die punktzahl eines benutzers in einem spiel berechnen, indem sie mehrere objektattribute aggregieren und diese daten dann automatisch speichern datenvalidierungen stellen sie sicher, dass bestimmte felder vorhanden sind oder dass ein benutzer über die richtigen berechtigungen verfügt, bevor sie einen datensatz speichern oder löschen trigger führen sie aktionen aus, wenn sich daten ändern (z b senden sie eine benachrichtigung, wenn ein benutzer sein profil aktualisiert) integrationen verbinden sie sich mit apis oder diensten von drittanbietern zum beispiel könnten sie direkt von cloud code aus mit zahlungs gateways, slack benachrichtigungen oder e mail marketing plattformen integrieren sicherheitsdurchsetzung fügen sie eine zusätzliche sicherheitsebene hinzu, indem sie eingabeparameter in ihren cloud code funktionen validieren und bereinigen ihre funktion bereitstellen unten finden sie eine einfache cloud code funktion, die die länge eines von der clientseite gesendeten textstrings berechnet main js // main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); bereitstellung über die back4app cli 1 installieren sie die cli für linux/macos curl https //raw\ githubusercontent com/back4app/parse cli/back4app/installer sh | sudo /bin/bash für windows laden sie die b4a exe datei von der release seite https //github com/back4app/parse cli/releases 2 konfigurieren sie ihren kontoschlüssel b4a configure accountkey 3 bereitstellen sie ihren cloud code b4a deploy bereitstellung über das dashboard gehen sie im dashboard ihrer app zu cloud code > funktionen kopieren/einfügen sie die funktion in den main js editor klicken sie auf bereitstellen aufruf ihrer funktion von ihrer expressjs anwendung aus können sie die cloud code funktion mit dem parse sdk aufrufen const parse = require(' /parseconfig'); async function gettextlength(text) { try { const result = await parse cloud run('calculatetextlength', { text }); console log('text length ', result length); } catch (err) { console error('error calling cloud function ', err); } } sie können es auch über rest aufrufen curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"text" "hello back4app"}' \\ https //parseapi back4app com/functions/calculatetextlength oder über graphql mutation { calculatetextlength(input { text "hello graphql" }) { result } } diese flexibilität ermöglicht es ihnen, ihre benutzerdefinierte logik in ihr expressjs backend oder jeden anderen client zu integrieren, der rest oder graphql unterstützt schritt 5 – konfiguration der benutzerauthentifizierung benutzerauthentifizierung in back4app back4app nutzt die parse user klasse als grundlage für die authentifizierung standardmäßig kümmert sich parse um die passwort hashing, sitzungstoken und sichere speicherung das bedeutet, dass sie keine komplexen sicherheitsabläufe manuell einrichten müssen benutzerauthentifizierung einrichten in einer express anwendung könnten sie routen für die benutzerregistrierung und den login erstellen // routes/user js const express = require('express'); const router = express router(); const parse = require(' /parseconfig'); // sign up route router post('/signup', async (req, res) => { try { const { username, password, email } = req body; const user = new parse user(); user set('username', username); user set('password', password); user set('email', email); await user signup(); res status(201) json({ message 'user signed up successfully!' }); } catch (error) { res status(500) json({ error 'error signing up user', details error message }); } }); // log in route router post('/login', async (req, res) => { try { const { username, password } = req body; const user = await parse user login(username, password); res status(200) json({ message 'user logged in', user }); } catch (error) { res status(401) json({ error 'invalid credentials', details error message }); } }); module exports = router; über rest könnte ein login so aussehen curl x get \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ g \\ \ data urlencode 'username=alice' \\ \ data urlencode 'password=secret123' \\ https //parseapi back4app com/login sitzungsverwaltung nach einem erfolgreichen login erstellt parse ein sitzungstoken , das im benutzerobjekt gespeichert wird in ihrer express app könnten sie dieses token in einer sitzung speichern oder es an den client zurückgeben const currentuser = parse user current(); if (currentuser) { console log('currently logged in user ', currentuser getusername()); } else { console log('no user is logged in'); } parse verwaltet automatisch tokenbasierte sitzungen im hintergrund, aber sie können sie auch manuell verwalten oder widerrufen dies ist nützlich, wenn sie sich abmelden müssen await parse user logout(); integration von social login back4app und parse können mit beliebten oauth anbietern integrieren, wie google oder facebook , indem zusätzliche pakete installiert oder vorhandene adapter verwendet werden zum beispiel können sie ein facebook login einrichten, indem sie ihre facebook app id konfigurieren und parse facebookutils login() detaillierte anweisungen variieren, daher beziehen sie sich auf die dokumentation zum social login https //www back4app com/docs/platform/sign in with apple const facebooklogin = async () => { try { const user = await parse facebookutils login('email'); console log(user existed() ? 'user logged in' 'user signed up and logged in'); } catch (error) { console error('error logging in with facebook ', error); } }; e mail verifizierung und passwortzurücksetzung um die e mail verifizierung und passwortzurücksetzung zu aktivieren navigieren sie zu den e mail einstellungen in ihrem back4app dashboard aktivieren sie die e mail verifizierung um sicherzustellen, dass neue benutzer den besitz ihrer e mail adressen verifizieren konfigurieren sie die absenderadresse , e mail vorlagen und ihre benutzerdefinierte domain, falls gewünscht diese funktionen verbessern die kontosicherheit und benutzererfahrung, indem sie den benutzerbesitz von e mails validieren und eine sichere methode zur passwortwiederherstellung bereitstellen schritt 6 – umgang mit dateispeicherung hochladen und abrufen von dateien parse enthält die parse file klasse zum verarbeiten von datei uploads, die back4app sicher speichert in einer express route könnten sie folgendes tun const express = require('express'); const router = express router(); const multer = require('multer'); // for handling file uploads const upload = multer({ dest 'uploads/' }); const parse = require(' /parseconfig'); router post('/upload', upload single('file'), async (req, res) => { try { const { file } = req; if (!file) { return res status(400) json({ error 'no file uploaded' }); } const parsefile = new parse file(file originalname, file); const savedfile = await parsefile save(); res status(200) json({ url savedfile url() }); } catch (err) { res status(500) json({ error 'error uploading file', details err message }); } }); module exports = router; um die datei einem objekt in der datenbank anzuhängen, können sie folgendes tun const photo = parse object extend('photo'); const photo = new photo(); photo set('imagefile', parsefile); await photo save(); und das abrufen der datei url ist unkompliziert const imagefile = photo get('imagefile'); const imageurl = imagefile url(); sie können dann mit imageurl in ihren express routen antworten dateisicherheit parse server bietet flexible konfigurationen zur verwaltung der dateiuploadsicherheit das folgende beispiel zeigt, wie sie berechtigungen festlegen können, um zu steuern, wer dateien auf den server hochladen kann enableforpublic wenn auf true gesetzt, erlaubt es jedem, unabhängig vom authentifizierungsstatus, dateien hochzuladen enableforanonymoususer steuert, ob anonyme benutzer (nicht registriert) dateien hochladen können enableforauthenticateduser gibt an, ob nur authentifizierte benutzer dateien hochladen können schritt 7 – aufgaben mit cloud jobs planen cloud jobs cloud jobs in back4app ermöglichen es ihnen, routineaufgaben in ihrem backend zu planen und auszuführen – wie das bereinigen alter daten oder das versenden einer täglichen zusammenfassungs e mail ein typischer cloud job könnte so aussehen // main js parse cloud job('cleanupoldtodos', async (request) => { // this runs in the background, not triggered by a direct user request const todo = parse object extend('todo'); const query = new parse query(todo); // for example, remove todos older than 30 days const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); stellen sie ihren cloud code bereit mit dem neuen job (über cli oder das dashboard) gehen sie zum back4app dashboard > app einstellungen > servereinstellungen > hintergrundjobs planen sie den job, um täglich oder in einem anderen intervall, das ihren bedürfnissen entspricht, ausgeführt zu werden cloud jobs ermöglichen es ihnen, die hintergrundwartung oder andere regelmäßige prozesse zu automatisieren – ohne manuelle eingriffe schritt 8 – integration von webhooks webhooks ermöglichen es ihrer back4app app, http anfragen an einen externen dienst zu senden, wann immer bestimmte ereignisse auftreten dies ist leistungsstark für die integration mit drittanbietersystemen wie zahlungs gateways (z b stripe), e mail marketing tools oder analyseplattformen navigieren sie zur webhooks konfiguration in ihrem back4app dashboard > mehr > webhooks und klicken sie dann auf webhook hinzufügen richten sie einen endpunkt ein (z b https //your external service com/webhook endpoint https //your external service com/webhook endpoint ) konfigurieren sie trigger um festzulegen, welche ereignisse in ihren back4app klassen oder cloud code funktionen den webhook auslösen wenn sie beispielsweise einen slack kanal benachrichtigen möchten, wann immer ein neues todo erstellt wird erstellen sie eine slack app, die eingehende webhooks akzeptiert kopieren sie die slack webhook url in ihrem back4app dashboard setzen sie den endpunkt auf diese slack url für das ereignis „neuer datensatz in der todo klasse “ sie können auch benutzerdefinierte http header oder payloads hinzufügen, wenn nötig sie können auch webhooks im cloud code definieren, indem sie benutzerdefinierte http anfragen in triggern wie beforesave, aftersave erstellen schritt 9 – erkundung des back4app admin panels die back4app admin app ist eine webbasierte verwaltungsoberfläche, die für nicht technische benutzer entwickelt wurde, um crud operationen durchzuführen und routinemäßige datenaufgaben ohne programmierung zu erledigen sie bietet eine modellzentrierte , benutzerfreundliche oberfläche, die die datenbankverwaltung, das benutzerdefinierte datenmanagement und betriebsinterne vorgänge optimiert aktivierung der admin app aktivieren sie sie, indem sie zu app dashboard > mehr > admin app gehen und auf die schaltfläche „admin app aktivieren“ klicken erstellen sie einen ersten admin benutzer (benutzername/passwort), der automatisch eine neue rolle (b4aadminuser) und klassen (b4asetting, b4amenuitem und b4acustomfield) im schema ihrer app generiert wählen sie eine subdomain für den zugriff auf die admin oberfläche und schließen sie die einrichtung ab einloggen mit den admin anmeldeinformationen, die sie erstellt haben, um auf ihr neues admin app dashboard zuzugreifen sobald aktiviert, macht die back4app admin app es einfach, datensätze aus ihrer datenbank anzuzeigen, zu bearbeiten oder zu entfernen – ohne direkte nutzung des parse dashboards oder backend codes mit konfigurierbaren zugriffskontrollen können sie diese schnittstelle sicher mit teammitgliedern oder kunden teilen, die eine klare, klickbare möglichkeit benötigen, um daten zu verwalten fazit indem sie dieses umfassende tutorial befolgt haben, haben sie erstellte ein sicheres backend für eine expressjs app auf back4app konfigurierte eine datenbank mit klassenschemas, datentypen und beziehungen integrierte echtzeitanfragen (live queries) für sofortige datenaktualisierungen wendete sicherheitsmaßnahmen an unter verwendung von acls und clps, um den datenzugriff zu schützen und zu verwalten implementierte cloud code funktionen, um benutzerdefinierte geschäftslogik auf der serverseite auszuführen richtete die benutzerauthentifizierung ein mit unterstützung für e mail bestätigung und passwortzurücksetzungen verwaltete datei uploads und abrufe, mit optionalen datei sicherheitskontrollen planete cloud jobs für automatisierte hintergrundaufgaben verwendete webhooks zur integration mit externen diensten erforschte das back4app admin panel für die datenverwaltung mit einem soliden expressjs server und einem robusten back4app backend sind sie nun gut gerüstet, um funktionsreiche, skalierbare und sichere anwendungen zu entwickeln setzen sie ihre erkundung fort, integrieren sie ihre geschäftslogik und nutzen sie die leistungsfähigkeit von back4app, um ihnen unzählige stunden in der server und datenbankverwaltung zu sparen viel spaß beim programmieren! nächste schritte erstellen sie eine produktionsbereite expressjs app durch die erweiterung dieses backends, um komplexere datenmodelle, caching strategien und leistungsoptimierungen zu behandeln integrieren sie erweiterte funktionen wie spezialisierte authentifizierungsabläufe, rollenbasierte zugriffskontrolle oder externe apis (wie zahlungs gateways) überprüfen sie die offizielle dokumentation von back4app für tiefere einblicke in erweiterte sicherheit, leistungsoptimierung und protokollanalyse erforschen sie andere tutorials zu echtzeit chat anwendungen, iot dashboards oder standortbasierten diensten sie können die hier erlernten techniken mit drittanbieter apis kombinieren, um komplexe, reale anwendungen zu erstellen