Les boîtes d'abonnement sont une activité de plus en plus populaire de nos jours. Vous pouvez les trouver pour tout, des produits de toilettage aux collations santé, aux jeux pour enfants et même aux glaces. Dans ce tutoriel, je vais vous montrer comment créer rapidement une application Web afin de vérifier si vous pouvez trouver les 1 000 premiers clients pour votre idée de boîte d'abonnement.!
Notre application est inspirée par le service d'abonnement de cocktail Shaken et comprend les fonctionnalités suivantes:
Ce tutoriel vous montrera comment configurer un back-end complet et comment construire le front-end AngularJS qui s'y connecte.
La base de code complète du front-end est disponible sur GitHub.
Coupon: Stamplay a fourni aux lecteurs de Tuts + un coupon exclusif pour offrir 6 mois du plan plus gratuitement (Valeur de 600 $). Le code promo est CODETUTSPLUS et il expire le 10 octobre. Inscrivez-vous gratuitement pour l'échanger.
Stamplay est une plate-forme de développement Web qui offre aux développeurs un moyen extrêmement rapide de créer des applications entièrement intégrées. Stamplay gère le problème de la communication avec de nombreuses API différentes pour que vous n'ayez pas à.
Stamplay est construit autour du concept de composants; les composants sont les blocs de construction de notre application. Nous pouvons voir les différents outils à notre disposition sous Tâches> Composants.
Une fois connecté, vous êtes accueilli avec ce tableau de bord simple et élégant. Nous allons créer une application ici. Nommez-le comme bon vous semble, mais souvenez-vous que ce nom est celui que nous utiliserons pour identifier notre application. Cela servira également d'URL pour notre application lorsqu'elle est hébergée..
Dans notre cas, nous utilisons "tutsplus", et notre application sera hébergée à l'adresse https://tutsplus.stamplayapp.com.
Commençons maintenant à configurer le back-end.
Cette application comportera un identifiant Facebook. Nous pourrons interagir avec l'API Facebook et gérer la connexion et l'inscription, le tout sans une seule ligne de code. Puisque nous voulons que nos utilisateurs s'inscrivent avec Facebook, nous devons nous rendre sur la page Développeurs de Facebook et créer une nouvelle application pour développeurs..
Sélectionner Site Internet, et une fois que votre application sera créée, nous serons en mesure de récupérer deux éléments indispensables à l'intégration de Facebook à Stamplay:
Ces deux choses peuvent être trouvées sous Paramètres> Basique.
Maintenant que nous avons notre identifiant et notre secret d’application, nous pouvons les intégrer à Stamplay..
Retournez à Stamplay et sélectionnez Utilisateurs dans le menu principal, puis Authentification. Ajouter Facebook en tant que service d’inscription, copiez et collez l’ID et le secret de l’application, puis cliquez sur sauvegarder.
Vous pouvez maintenant enregistrer des utilisateurs via Facebook!
Maintenant que nous avons connecté nos identifiants Facebook, Stamplay fournit une URL d’API pratique pour gérer la connexion à Facebook. Allons-y maintenant et voyons notre login Facebook en action.
Allez à https://tutsplus.stamplayapp.com/auth/v1/facebook/connect.
Et boum! Vous avez votre connexion Facebook et opérationnel.
Tout ne peut pas être géré avec des composants, Stamplay nous fournit donc un moyen simple de gérer des données personnalisées. Pensez à cela comme l'interface de base de données principale pour votre application.
Les commandes seront suivies avec un objet appelé ordres
. Il a les cinq propriétés suivantes:
Stamplay exposera instantanément les API RESTful dès que vous créez l'objet. Le terminal ressemblera à ceci: https://APPID.stamplayapp.com/api/cobject/v1/orders.
Nous devrons facturer nos clients périodiquement, et heureusement, cela est facile à faire avec Stripe! Son traitement des paiements récurrents est mis en œuvre dans le concept de plan. Les Stripes Plans sont des objets représentant le coût et le cycle de facturation de vos abonnements..
Pour le configurer, vous devez créer votre plan dans le Console à rayures> Plans:
Une fois cela fait, retournez dans Stamplay et connectez le composant Stripe à Tâche> Composants. Sélectionnez le Bande module et cliquez sur le Relier bouton.
Maintenant, le compte Stripe sera lié à l'application Stamplay, qui peut effectuer des requêtes d'API en notre nom..
Après une connexion Stripe réussie, vous obtiendrez une vue comme celle-ci..
Pour configurer MailChimp, le processus est assez similaire. Connectez simplement votre compte MailChimp comme vous l'avez fait précédemment avec Stripe et vous verrez une page comme celle-ci:
C’est la partie serveur de notre application, où l’essentiel de la magie opère! Disons que nous voulons faire quelques choses:
Ces deux choses nécessiteraient normalement un bon morceau de code, mais pas avec Stamplay…
Un assistant vous guidera à travers la configuration de la tâche. Sous Tâches> Gérer, créez une nouvelle tâche et configurez-la comme vous le souhaitez. Voici comment nous avons configuré la tâche de courrier électronique de bienvenue:
Vous pouvez ensuite configurer l'action en exploitant les variables issues du déclencheur (dans ce cas, l'utilisateur). Voici comment nous avons configuré la nôtre:
Pousser les emails des utilisateurs vers votre liste de diffusion sur MailChimp est simple.
Sous Tâches> Gérer, créez une nouvelle tâche et configurez-la comme vous le souhaitez. Voici comment nous avons configuré la tâche d'abonnement MailChimp.
Pour commencer à travailler sur notre front-end, nous devrons utiliser l'outil Stamplay CLI.
Cet outil nous donnera la possibilité de travailler avec nos applications Stamplay. Cela nous permet de:
$ npm installer -g stamplay-cli
Créons un nouveau dossier et initialisons notre application Stamplay dans ce dossier.
$ mkdir tutsplus && cd tutsplus $ stamplay init
Vous serez invité à entrer votre appId
(nom de votre application) et votre clé API
. Dans ce cas, ils sont tutsplus
et 4 **** 0
respectivement.
Cela créera un fichier stamplay.json à la racine de votre application afin que, lors du déploiement, Stamplay connaisse vos informations d'identification..
"appId": "tutsplus", "apiKey": "4e **** 0", "public": "./", "ignorer": ["stamplay.json", "** /. *", "** / node_modules / **"]
Pour lancer le jeu avec un bon design, nous avons commencé par l’un des nombreux modèles gratuits gratuits de HTML5, optimisé par Templated.co. Celui que nous avons utilisé s'appelle Retrospect.
Téléchargeons-le et décompressez-le dans notre dossier de projet. Ensuite, installons quelques bibliothèques supplémentaires ici en utilisant Bower. Exécutez la commande suivante et nous serons prêts à partir:
$ bower installer angular angular-ui-router angular-stamplay stamplay-sdk angular-route --save
Pour utiliser Stamplay avec Angular, nous devrons:
Voici les lignes nécessaires pour faire tout cela. Nous les ajouterons en dessous de la balise de notre fichier index.html:
… …
Assurez-vous que vous avez tapé votre propre AppId
dans la fonction Stamplay.init. Nous pouvons maintenant démarrer notre serveur local pour nous assurer que tout se charge correctement. Exécutez ce qui suit:
début de l'étamage
Vous verrez que votre application est prête à fonctionner à l'adresse http: // localhost: 8080..
Nous allons créer des fichiers pour notre application Angular:
Les deux fichiers de services utiliseront le Stamplay SDK et les bibliothèques angular-stamplay pour aider notre application à interagir avec nos données Stamplay..
Le plus important est userService.js. Il a quelques fonctions et nous aide à récupérer des données ou à créer des données. Pour en savoir plus sur ce dont le SDK Stamplay est capable, n’oubliez pas de consulter la documentation..
UserService.js utilise le kit de développement logiciel Stamplay JS pour fournir à notre application Angular les fonctionnalités suivantes:
/ * global angular, Stripe, console * / 'use strict'; angular .module ('tutsplus.service') .factory ('userService', ['$ q', '$ stamplay', fonction ($ q, $ stamplay) var user = $ stamplay.User (). Model; return; login: function () return user.login ('facebook');, déconnexion: function () return user.logout ();, isLogged: function () return user.isLogged ();, saveAddress : function (adresse, ville, code postal) // Enregistrer les informations d'adresse de l'utilisateur, getUserModel: function () // Obtenir des informations sur l'utilisateur, createCard: function (cardObj) // Collecter des informations de carte de crédit et les stocker via Stripe , subscribe: function (planId) // abonner un utilisateur, se désabonner: function (planId) // annuler un abonnement utilisateur;]);
Notre application aura trois pages:
Ces pages sont gérées par trois contrôleurs (comme le suggèrent les meilleures pratiques), à savoir homeCtrl.js, subscriptionCtrl.js et profileCtrl.js..
Les modèles de page et les contrôleurs sont liés par l'application angulaire principale.
Voici le fondement de nos 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 ', contrôleur:' homeCtrl ', contrôleurAs:' home ') .state (' subscriptions ', url:' / subscriptions ', templateUrl:' /pages/subscriptions.html ', contrôleur:' subscriptionCtrl ', controllerAs:' sub '') .state ('profile', url: '/ profile', templateUrl: '/pages/profile.html', contrôleur: 'profileCtrl', controllerAs: 'profile'); ) / * * Enregistrer l’utilisateur connecté, le cas échéant, dans rootScope * / .run (['$ rootScope', 'userService', fonction ($ rootScope, userService) userService.getUserModel () .then (fonction (userResp) . $ rootScope.user = userResp;);]);
Maintenant, nous devons juste charger nos nouveaux fichiers dans index.html sous les bibliothèques que nous avons ajoutées précédemment.
… Tête du fichier index.html…