Le scatole di abbonamento sono un business sempre più popolare in questi giorni. Li puoi trovare per tutto, dai prodotti per la toelettatura agli snack salutari, ai giochi per bambini e persino al gelato. In questo tutorial, ti mostrerò come creare rapidamente un'app Web per testare se riesci a trovare i primi 1.000 clienti per l'idea della tua sottoscrizione!
La nostra app è ispirata al servizio di abbonamento a cocktail Shaken e include le seguenti funzionalità:
Questo tutorial ti mostrerà come configurare un back-end completo e come costruire il front-end AngularJS che si collega ad esso.
Il codice completo del front-end può essere trovato su GitHub.
buono: Stamplay ha fornito ai lettori di Tuts + un coupon esclusivo da fornire 6 mesi del piano plus gratis ($ 600 valore). Il codice coupon è CODETUTSPLUS e scade il 10 ottobre. Iscriviti ora gratuitamente per riscattarlo.
Stamplay è una piattaforma di sviluppo basata sul Web che offre agli sviluppatori un modo incredibilmente veloce per creare applicazioni completamente integrate. Stamplay si prende il disturbo di parlare con molte API diverse, quindi non è necessario.
Stamplay è costruito attorno al concetto di componenti; i componenti sono gli elementi costitutivi della nostra applicazione. Possiamo vedere i diversi strumenti disponibili per noi sotto Attività> Componenti.
Una volta effettuato il login, sei salutato con questa dashboard semplice ed elegante. Creeremo un'applicazione qui. Chiamalo come vuoi, ma ricorda che questo nome è quello che utilizzeremo per identificare la nostra applicazione. Questo sarà anche usato come URL per la nostra applicazione quando è ospitata.
Nel nostro caso, stiamo utilizzando "tutsplus" e la nostra applicazione sarà ospitata su https://tutsplus.stamplayapp.com.
Ora iniziamo a configurare il back-end.
Questa app sarà dotata di un accesso Facebook. Saremo in grado di interagire con l'API di Facebook e gestire l'accesso e l'iscrizione, il tutto senza una sola riga di codice. Dal momento che desideriamo che i nostri utenti si registrino con Facebook, dovremo andare alla pagina degli sviluppatori di Facebook e creare una nuova app per sviluppatori.
Selezionare Sito web, e una volta creata la tua app, saremo in grado di prendere due cose di cui abbiamo bisogno da Facebook per integrarsi con Stamplay:
Queste due cose possono essere trovate sotto Impostazioni> Di base.
Ora che abbiamo il nostro ID App e App Secret, possiamo collegarli a Stamplay.
Torna a Stamplay e seleziona utenti dal menu principale, quindi Autenticazione. Inserisci Facebook come servizio di registrazione, copia e incolla l'ID App e il Segreto App e fai clic su Salvare.
Ora puoi registrare gli utenti tramite Facebook!
Ora che abbiamo collegato le credenziali di Facebook, Stamplay fornisce un comodo URL API per gestire l'accesso con Facebook. Andiamo ora e vediamo il nostro login Facebook in azione.
Vai a https://tutsplus.stamplayapp.com/auth/v1/facebook/connect.
E boom! Hai il tuo login di Facebook attivo e funzionante.
Non tutto può essere gestito con componenti, quindi Stamplay ci offre un modo semplice per gestire i dati personalizzati. Pensa a questa come all'interfaccia del database di back-end per la tua applicazione.
Gli ordini verranno tracciati con un oggetto chiamato ordini
. Ha le seguenti cinque proprietà:
Stamplay esporrà immediatamente le API RESTful non appena creerai l'oggetto. L'endpoint sarà simile a questo: https://APPID.stamplayapp.com/api/cobject/v1/orders.
Avremo bisogno di fatturare periodicamente i nostri clienti, e per fortuna questo è facile da fare con Stripe! L'elaborazione dei pagamenti ricorrenti è implementata all'interno del concetto di Piano. I Piani a strisce sono oggetti che rappresentano il costo e il ciclo di fatturazione delle tue iscrizioni.
Per configurarlo devi creare il tuo piano in Console a strisce> Piani:
Una volta terminato, torna a Stamplay e collega il componente Stripe in Attività> Componenti. Seleziona il Banda modulo e fare clic su Collegare pulsante.
Ora l'account Stripe sarà collegato all'app Stamplay, che può eseguire richieste API per nostro conto.
Dopo una connessione Stripe andata a buon fine, finirai con una vista come questa.
Per configurare MailChimp, il processo è abbastanza simile; collega semplicemente il tuo account MailChimp come hai fatto in precedenza con Stripe e vedrai una pagina come questa:
Questa è la parte lato server della nostra applicazione, dove avviene la maggior parte della magia! Diciamo che vogliamo fare un paio di cose:
Queste due cose normalmente richiedono una buona porzione di codice, ma non con Stamplay ...
Una procedura guidata ti guiderà attraverso la configurazione dell'attività. Sotto Attività> Gestione, crea una nuova attività e configurala come preferisci. Ecco come abbiamo configurato l'attività di email di benvenuto:
Quindi è possibile configurare l'azione sfruttando le variabili che escono dal trigger (in questo caso, l'utente). Ecco come abbiamo configurato il nostro:
Spingere le e-mail degli utenti alla tua mailing list su MailChimp è semplice.
Sotto Attività> Gestione, crea una nuova attività e configurala come preferisci. Ecco come abbiamo configurato l'attività di iscrizione a MailChimp.
Per iniziare a lavorare sul nostro front-end, avremo bisogno di utilizzare lo strumento CLI Stamplay.
Questo strumento ci darà la possibilità di lavorare con le nostre applicazioni Stamplay. Ci consente di:
$ npm install -g stamplay-cli
Creiamo una nuova cartella e inizializza la nostra applicazione Stamplay in quella cartella.
$ mkdir tutsplus && cd tutsplus $ stamplay init
Ti verrà richiesto di inserire il tuo appId
(nome della tua app) e il tuo apikey
. In questo caso, lo sono tutsplus
e 4 **** 0
rispettivamente.
Questo creerà un file stamplay.json nella radice della tua app in modo che Stamplay conoscerà le tue credenziali durante la distribuzione.
"appId": "tutsplus", "apiKey": "4e **** 0", "public": "./", "ignore": ["stamplay.json", "** /. *", "** / node_modules / **"]
Per colpire il terreno con un buon design, siamo partiti da uno dei tanti template HTML5 gratuiti e gratuiti realizzati da Templated.co. Quello che abbiamo usato si chiama Retrospect.
Scaricalo e decomprimilo nella cartella del nostro progetto. Quindi installiamo alcune librerie aggiuntive qui usando Bower. Esegui il seguente comando e saremo a posto:
$ bower installa angolare-ui-router angolare-timbrolay stamplay-sdk angular-route --save
Per utilizzare Stamplay con Angular, sarà necessario:
Ecco le linee richieste per fare tutto ciò. Li aggiungeremo sotto il tag del nostro file index.html:
... ...
Assicurati di aver digitato il tuo AppId
nella funzione Stamplay.init. Ora possiamo avviare il nostro server locale per assicurarci che tutto funzioni correttamente. Esegui il seguente:
inizio
Vedrai che la tua applicazione è pronta per andare all'indirizzo http: // localhost: 8080.
Creeremo alcuni file per la nostra applicazione Angolare:
I due file di servizi utilizzeranno l'SDK di Stamplay e le librerie di angolari e di timbri per aiutare la nostra applicazione ad interagire con i nostri dati Stamplay.
Il più importante è userService.js. Ha alcune funzioni e ci aiuta a prendere i dati o creare dati. Per uno sguardo più approfondito su ciò che l'SDK di Stamplay è in grado di fare, assicurati di consultare la documentazione.
UserService.js sfrutta lo Stamplay JS SDK per fornire alla nostra app Angolare le seguenti funzionalità:
/ * Globale angolare, Stripe, console * / 'use strict'; angular .module ('tutsplus.service') .factory ('userService', ['$ q', '$ stamplay', funzione ($ q, $ stamplay) var user = $ stamplay.User (). Modello; login: function () return user.login ('facebook');, logout: function () return user.logout ();, isLogged: function () return user.isLogged ();, saveAddress : funzione (indirizzo, città, codice postale) // Salva le informazioni sull'indirizzo dell'utente, getUserModel: function () // Trova informazioni utente, createCard: function (cardObj) // Raccogli le informazioni sulla carta di credito e memorizzale tramite Stripe , iscriviti: function (planId) // Iscriviti utente, annulla l'iscrizione: function (planId) // Annulla l'abbonamento utente;]);
La nostra applicazione avrà tre pagine:
Queste pagine sono gestite da tre controller (come suggerito dalle best practice), che sono homeCtrl.js, subscriptionCtrl.js e profileCtrl.js.
I modelli di pagina e i controller sono collegati tra loro dall'app principale Angular.
Ecco le basi della nostra app.js:
/ * global angular * / 'use strict'; angular.module ('tutsplus', ['tutsplus.service', 'ngRoute', 'ui.router', 'ngStamplay']); angular .module ('tutsplus') .config (function ($ 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 '); ) / * * Salva utente registrato, se presente, nella funzione rootScope * / .run (['$ rootScope', 'userService', funzione ($ rootScope, userService) userService.getUserModel () .then (function (userResp) $ rootScope.user = userResp;);]);
Ora abbiamo solo bisogno di caricare i nostri nuovi file in index.html sotto le librerie che abbiamo aggiunto in precedenza.
... capo del file index.html ...