Quickstarters
Feature Overview
Wie man ein Backend für AngularJS erstellt?
52 min
einführung in diesem tutorial lernen sie, wie sie ein vollständiges backend für eine angularjs anwendung mit back4app erstellen wir werden die integration wesentlicher back4app funktionen durchgehen – wie 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 ihrem angularjs frontend 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 grundlegende angularjs entwicklungsumgebung sie können dies mit der angularjs dokumentation https //docs angularjs org/guide oder durch herunterladen des minimierten skripts einrichten stellen sie sicher, dass sie node js installiert haben, wenn sie planen, abhängigkeiten mit npm zu verwalten node js (version 14 oder höher) installiert sie benötigen node js, um npm pakete zu installieren und lokale entwicklungen auszuführen node js installieren https //nodejs org/en/download/ vertrautheit mit javascript und grundlegenden angularjs konzepten offizielle angularjs dokumentation https //docs angularjs org/guide stellen sie sicher, dass sie alle diese voraussetzungen erfüllt haben, bevor sie beginnen ihr back4app projekt eingerichtet und ihre lokale angularjs 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 angularjs backends auf back4app besteht darin, ein neues projekt zu erstellen wenn sie noch keines erstellt haben, befolgen sie diese schritte 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 „angularjs backend tutorial“) sobald das projekt erstellt ist, sehen sie es in ihrem back4app dashboard aufgelistet 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 die verbindung ihrer angularjs anwendung mit back4app umfasst die installation des parse npm pakets (wenn sie npm verwenden) und die initialisierung mit den anmeldeinformationen aus ihrem back4app dashboard 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 (häufig im format https //parseapi back4app com ) installieren sie das parse sdk in ihrem angularjs projekt (wenn sie npm für abhängigkeiten verwenden) npm install parse oder yarn add parse initialisieren sie parse in ihrer angularjs anwendung typischerweise könnten sie eine javascript datei erstellen (z b parseconfig js ) für diesen zweck src/parseconfig js // src/parseconfig js import parse from 'parse'; // replace the placeholders with your back4app credentials parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; export default parse; diese datei stellt sicher, dass, wann immer sie parse an anderer stelle in ihrer angularjs app importieren, 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 angularjs frontend 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 sie 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 angularjs app integriert ist, können sie jetzt beginnen, daten zu speichern und abzurufen der einfachste weg, einen datensatz zu erstellen, besteht darin, die parse object klasse zu verwenden // example create a todo item import parse from ' /parseconfig'; async function createtodoitem(title, iscompleted) { const todo = parse object extend('todo'); const todo = new todo(); todo set('title', title); todo set('iscompleted', iscompleted); try { const savedtodo = await todo save(); console log('todo saved successfully ', savedtodo); return savedtodo; } catch (error) { console error('error saving todo ', error); } } // example query all todo items async function fetchtodos() { const todo = parse object extend('todo'); const query = new parse query(todo); try { const results = await query find(); console log('fetched todo items ', results); return results; } catch (error) { console error('error fetching todos ', error); } } 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 zur laufzeit , 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 , zahl , boolean , objekt , datum , datei , zeiger, 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 aus ihrer angularjs app zum ersten mal speichern back4app bietet einen ki agenten, der ihnen helfen kann, ihr datenmodell zu entwerfen öffnen sie den ai agenten in 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 ai agenten das schema für sie erstellen die verwendung des ai agenten kann ihnen zeit sparen, wenn sie ihre datenarchitektur einrichten, und sorgt für konsistenz in ihrer anwendung 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 auf eine kategorie // linking a task to a category with a pointer async function createtaskforcategory(categoryobjectid, title) { const todo = new parse object('todo'); // construct a pointer to the category const categorypointer = new parse object('category'); categorypointer id = categoryobjectid; // set fields todo set('title', title); todo set('category', categorypointer); try { return await todo save(); } catch (err) { console error('error creating task with category relationship ', err); } } wenn sie abfragen, können sie auch zeiger daten einbeziehen const query = new parse query('todo'); query include('category'); const todoswithcategory = await query find(); dieser include('category') aufruf ruft die kategoriedetails zusammen mit jedem todo ab, wodurch ihre relationalen daten nahtlos zugänglich werden echtzeitabfragen für echtzeit updates bietet back4app echtzeitabfragen in ihrer angularjs app können sie änderungen in einer bestimmten klasse abonnieren aktivieren sie live abfragen in ihrem back4app dashboard unter den servereinstellungen stellen sie sicher, dass „live abfragen“ aktiviert ist initialisieren sie ein live abonnement für abfragen in ihrem code src/parseconfig js // src/parseconfig js import parse from 'parse'; // 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'; export default parse;import parse from ' /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 sehen müssen, ohne die seite zu aktualisieren 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 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 „benötigt 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 ihre eigene infrastruktur verwalten zu 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 api aufrufe durchführen – 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 benötigte 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 am anfang 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 zum beispiel können sie sicherstellen, dass eingehende daten bestimmten formaten entsprechen, ungültige oder bösartige eingaben ablehnen und zugriffsregeln basierend auf benutzerrollen oder berechtigungen durchsetzen, bevor sie sensible operationen durchführen bereitstellen ihrer funktion im folgenden finden sie eine einfache cloud code funktion, die die länge eines vom client 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 angularjs aus mit dem parse sdk import parse from ' /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 angularjs frontend 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 angularjs anwendung können sie einen neuen benutzer mit folgendem befehl erstellen import parse from ' /parseconfig'; async function signupuser(username, password, email) { const user = new parse user(); user set('username', username); user set('password', password); user set('email', email); try { await user signup(); console log('user signed up successfully!'); } catch (error) { console error('error signing up user ', error); } } melden sie einen bestehenden benutzer an async function loginuser(username, password) { try { const user = await parse user login(username, password); console log('user logged in ', user); } catch (error) { console error('error logging in user ', error); } } über rest könnte eine anmeldung 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 einer erfolgreichen anmeldung erstellt parse ein sitzungstoken , das im benutzerobjekt gespeichert wird in ihrer angularjs app können sie auf den aktuell angemeldeten benutzer zugreifen 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 sozialem login back4app und parse können mit beliebten oauth anbietern wie google oder facebook , durch die installation zusätzlicher pakete oder die verwendung vorhandener adapter integriert werden zum beispiel können sie ein facebook login einrichten, indem sie ihre facebook app id konfigurieren und parse facebookutils login() verwenden detaillierte anweisungen variieren, daher beziehen sie sich auf die dokumentation zum sozialen 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 besitz 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 import parse from ' /parseconfig'; async function uploadimage(file) { // file is typically from a file input in angularjs const name = file name; const parsefile = new parse file(name, file); try { const savedfile = await parsefile save(); console log('file saved ', savedfile url()); return savedfile url(); } catch (err) { console error('error uploading file ', err); } } um die datei einem objekt in der datenbank anzuhängen, können sie folgendes tun async function createphotoobject(file) { const photo = parse object extend('photo'); const photo = new photo(); const parsefile = new parse file(file name, file); photo set('imagefile', parsefile); return await photo save(); } das abrufen der datei url ist unkompliziert const imagefile = photo get('imagefile'); const imageurl = imagefile url(); sie können diese imageurl in ihren angularjs vorlagen anzeigen, indem sie sie in ihrem html binden oder in einem controller verwenden 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 wartung im hintergrund 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 ) 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 setzen sie in ihrem back4app dashboard 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 machen 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 unternehmensweite operationen 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 die back4app admin app aktiviert ist, können sie einfach datensätze aus ihrer datenbank anzeigen, bearbeiten oder entfernen – ohne direkten zugriff auf das parse dashboard oder backend code 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 angularjs 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 verifizierung 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 angularjs frontend 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 angularjs 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) schauen sie sich die offizielle dokumentation von back4app an für tiefere einblicke in erweiterte sicherheit, leistungsoptimierung und protokollanalyse entdecken sie weitere 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