Abo-Boxen sind heutzutage ein immer beliebteres Geschäft. Sie finden sie für alles, von Pflegeprodukten über gesunde Snacks, Kinderspiele bis hin zu Eis. In diesem Tutorial zeige ich Ihnen, wie Sie schnell eine Web-App erstellen, um zu testen, ob Sie die ersten 1.000 Kunden für Ihre Abonnementbox-Idee finden!
Unsere App ist vom Cocktail-Abonnement-Service Shaken inspiriert und bietet folgende Funktionen:
In diesem Lernprogramm erfahren Sie, wie Sie ein Backend mit vollem Funktionsumfang konfigurieren und ein AngularJS-Frontend erstellen, das mit diesem verbunden ist.
Die vollständige Codebase des Frontends finden Sie auf GitHub.
Coupon: Stamplay hat Tuts + -Lesern einen exklusiven Gutschein zur Verfügung gestellt 6 Monate des Plusplans kostenlos (Wert 600 $). Der Gutscheincode lautet CODETUTSPLUS und es läuft am 10. Oktober aus. Melden Sie sich jetzt kostenlos an, um es einzulösen.
Stamplay ist eine webbasierte Entwicklungsplattform, die Entwicklern eine unglaublich schnelle Möglichkeit bietet, vollständig integrierte Anwendungen zu erstellen. Mit Stamplay können Sie problemlos mit vielen verschiedenen APIs kommunizieren, so dass Sie dies nicht müssen.
Stamplay basiert auf dem Konzept der Komponenten. Komponenten sind die Bausteine unserer Anwendung. Wir können die verschiedenen verfügbaren Werkzeuge unter sehen Aufgaben> Komponenten.
Sobald Sie angemeldet sind, werden Sie mit diesem einfachen und eleganten Dashboard begrüßt. Wir erstellen hier eine Anwendung. Nennen Sie es, wie Sie möchten, aber denken Sie daran, dass wir diesen Namen zur Identifizierung unserer Anwendung verwenden. Diese wird auch als URL für unsere Anwendung verwendet, wenn sie gehostet wird.
In unserem Fall verwenden wir "tutsplus" und unsere Anwendung wird auf https://tutsplus.stamplayapp.com gehostet.
Beginnen wir nun mit der Konfiguration des Backends.
Diese App enthält ein Facebook-Login. Wir können mit der Facebook-API interagieren und Anmeldungen und Anmeldungen ohne eine einzige Codezeile ausführen. Da wir möchten, dass sich unsere Benutzer bei Facebook anmelden, müssen wir zur Facebook-Entwicklerseite gehen und eine neue Entwickler-App erstellen.
Wählen Webseite, Sobald Sie Ihre App erstellt haben, können wir zwei Dinge von Facebook für die Integration in Stamplay nutzen:
Diese beiden Dinge finden Sie unter Einstellungen> Grundeinstellungen.
Jetzt, da wir unsere App-ID und das App-Geheimnis haben, können wir diese in Stamplay einbinden.
Gehen Sie zurück zu Stamplay und wählen Sie Benutzer aus dem Hauptmenü und dann Authentifizierung. Hinzufügen Facebook Kopieren Sie als Anmeldedienst die App-ID und das App-Geheimnis, und klicken Sie auf sparen.
Sie können jetzt Benutzer über Facebook registrieren!
Nachdem wir unsere Facebook-Anmeldeinformationen eingerichtet haben, bietet Stamplay eine praktische API-URL für die Anmeldung bei Facebook. Lass uns jetzt dorthin gehen und unseren Facebook-Login in Aktion sehen.
Gehen Sie zu https://tutsplus.stamplayapp.com/auth/v1/facebook/connect.
Und boom! Sie haben Ihr Facebook-Login und sind in Betrieb.
Mit Komponenten kann nicht alles bedient werden, daher bietet uns Stamplay eine einfache Möglichkeit, mit benutzerdefinierten Daten umzugehen. Stellen Sie sich dies als Back-End-Datenbankschnittstelle für Ihre Anwendung vor.
Bestellungen werden mit einem Objekt namens verfolgt Aufträge
. Es hat die folgenden fünf Eigenschaften:
Stamplay zeigt sofort RESTful-APIs an, sobald Sie das Objekt erstellen. Der Endpunkt sieht folgendermaßen aus: https://APPID.stamplayapp.com/api/cobject/v1/orders.
Wir werden unsere Kunden regelmäßig in Rechnung stellen müssen, und dank Stripe ist das ganz einfach! Ihre wiederkehrende Zahlungsabwicklung wird im Plan-Konzept implementiert. Streifenpläne sind Objekte, die die Kosten und den Abrechnungszyklus Ihrer Abonnements darstellen.
Um dies einzurichten, müssen Sie Ihren Plan im erstellen Streifenkonsole> Pläne:
Wenn Sie fertig sind, gehen Sie zurück zu Stamplay und verbinden Sie die Stripe-Komponente Aufgabe> Komponenten. Wähle aus Streifen Modul und klicken Sie auf die Verbinden Taste.
Jetzt wird das Stripe-Konto mit der Stamplay-App verknüpft, die in unserem Auftrag API-Anforderungen ausführen kann.
Nach einer erfolgreichen Stripe-Verbindung erhalten Sie eine Ansicht wie diese.
Um MailChimp zu konfigurieren, ist der Prozess ziemlich ähnlich. Verbinden Sie einfach Ihr MailChimp-Konto wie zuvor mit Stripe, und Sie sehen eine Seite wie diese:
Dies ist der serverseitige Teil unserer Anwendung, bei dem der Großteil der Magie geschieht! Nehmen wir an, wir wollen ein paar Dinge tun:
Diese beiden Dinge würden normalerweise ein gutes Stück Code erfordern, aber nicht mit Stamplay…
Ein Assistent führt Sie durch die Konfiguration der Aufgabe. Unter Aufgaben> Verwalten, Erstellen Sie eine neue Aufgabe und richten Sie sie nach Ihren Wünschen ein. So haben wir die Willkommens-E-Mail-Aufgabe eingerichtet:
Dann können Sie die Aktion konfigurieren, indem Sie die vom Trigger kommenden Variablen (in diesem Fall der Benutzer) nutzen. So haben wir unsere konfiguriert:
Das Senden von E-Mails der Benutzer an Ihre Mailingliste in MailChimp ist unkompliziert.
Unter Aufgaben> Verwalten, Erstellen Sie eine neue Aufgabe und richten Sie sie nach Ihren Wünschen ein. So haben wir die MailChimp-Abonnementaufgabe eingerichtet.
Um an unserem Frontend zu arbeiten, müssen wir das Stamplay-CLI-Tool verwenden.
Mit diesem Tool können wir mit unseren Stamplay-Anwendungen arbeiten. Es erlaubt uns:
$ npm install -g stamplay-cli
Erstellen wir einen neuen Ordner und initialisieren Sie unsere Stamplay-Anwendung mit diesem Ordner.
$ mkdir tutsplus && cd tutsplus $ stamplay init
Sie werden aufgefordert, Ihr einzugeben appId
(Name Ihrer App) und Ihre API-Schlüssel
. In diesem Fall sind sie tutsplus
und 4 **** 0
beziehungsweise.
Dadurch wird eine stamplay.json-Datei im Stammverzeichnis Ihrer App erstellt, damit Stamplay bei der Bereitstellung Ihre Anmeldeinformationen kennt.
"appId": "tutsplus", "apiKey": "4e **** 0", "public": "./", "ignore": ["stamplay.json", "** /. *", "** / node_modules / **"]
Um mit einem guten Design zu starten, haben wir mit einer der vielen kostenlosen HTML5-Vorlagen von Templated.co begonnen. Die, die wir verwendet haben, heißt Retrospect.
Laden wir es herunter und entpacken Sie es in unseren Projektordner. Dann lassen Sie uns hier einige zusätzliche Bibliotheken mit Bower installieren. Führen Sie den folgenden Befehl aus und wir sind bereit zu gehen:
$ bower install Winkel-Ui-Router Winkel-Stamplay Stamplay-SDK Winkel-Route --save
Um Stamplay mit Angular verwenden zu können, müssen wir:
Hier sind die Zeilen, die dazu benötigt werden. Wir fügen sie unter dem hinzu Tag unserer index.html-Datei:
… …
Stellen Sie sicher, dass Sie Ihre eigene eingegeben haben AppId
in die Stamplay.init-Funktion. Wir können jetzt unseren lokalen Server starten, um sicherzustellen, dass alles korrekt geladen wird. Führen Sie folgendes aus:
stamplay start
Sie werden sehen, dass Ihre Anwendung unter http: // localhost: 8080 einsatzbereit ist.
Wir werden einige Dateien für unsere Angular-Anwendung erstellen:
Die beiden Servicedateien verwenden das Stamplay-SDK und die Winkel-Stamplay-Bibliotheken, um unsere Anwendung bei der Interaktion mit unseren Stamplay-Daten zu unterstützen.
Das wichtigste ist userService.js. Es hat einige Funktionen und hilft uns, Daten zu erfassen oder Daten zu erstellen. Weitere Informationen zu den Möglichkeiten des Stamplay-SDK finden Sie in der Dokumentation.
UserService.js nutzt das Stamplay JS SDK, um unserer Angular-App die folgenden Funktionen bereitzustellen:
/ * global angle, Stripe, Konsole * / 'use strict'; angle .module ('tutsplus.service') .factory ('userService', ['$ q', '$ stamplay'), Funktion ($ q, $ stamplay) var user = $ stamplay.User (). model; return login: function () return user.login ('facebook');, logout: function () return user.logout ();, isLogged: function () return user.isLogged ();, saveAddress : function (Adresse, Ort, Postleitzahl) // Adressdaten des Benutzers speichern, getUserModel: function () // Benutzerinformationen abrufen, createCard: function (cardObj) // Kreditkartendaten sammeln und über Stripe speichern , subscribe: function (planId) // Subscribe user, Abbestellen: function (planId) // Benutzerabonnement kündigen;)]);
Unsere Anwendung wird drei Seiten haben:
Diese Seiten werden von drei Controllern verwaltet (wie von Best Practices vorgeschlagen), nämlich homeCtrl.js, subscriptionCtrl.js und profileCtrl.js.
Seitenvorlagen und Controller sind durch die Haupt-App Angular miteinander verbunden.
Hier ist die Grundlage unserer app.js:
/ * global angle * / 'use strict'; angle.module ('tutsplus', ['tutsplus.service', 'ngRoute', 'ui.router', 'ngStamplay']); angle .module ('tutsplus') .config (Funktion ($ stateProvider, $ urlRouterProvider) $ urlRouterProvider.otherwise ('/'); $ stateProvider .state ('home', url: '/', templateUrl: '/ pages / home.html ', Controller:' homeCtrl ', controllerAs:' home ') .state (' subscriptions ', url:' / subscriptions ', templateUrl:' /pages/subscriptions.html '), controller:' subscriptionCtrl ', controllerAs:' sub ') .state (' profile ', url:' / profile ', templateUrl:' /pages/profile.html ', controller:' profileCtrl ', controllerAs:' profile '); ) / * * Speichern Sie den protokollierten Benutzer, falls vorhanden, im rootScope * / .run (['$ rootScope', 'userService', Funktion ($ rootScope, userService) userService.getUserModel () .then (functionResresp) $ rootScope.user = userResp;);]);
Jetzt müssen wir nur noch unsere neuen Dateien in index.html unterhalb der zuvor hinzugefügten Bibliotheken laden.
… Kopf der Datei index.html…