Aller au contenu principal

SMSWithoutBorders.com

Le site officiel de SMSWithoutBorders.

Voici l'interface par laquelle les utilisateurs peuvent gérer leurs comptes et enregistrer leurs informations d'identification.

:::conseil Ce que vous apprendrez

  • Comment configurer le site web
  • Comment tester et déployer le site web avec Apache et Docker

The most recent version of this guide can be found in the websites github reposistory

Le frontend s'intègre à ces services. Il se peut que vous deviez les configurer en fonction de la section sur laquelle vous travaillez.

:::

Guide d'installation

Veuillez suivre les instructions ci-dessous pour mettre en place ce projet

Exigences.

Installer les dépendances.

yarn install

Configurer les variables d'environnement

Créer des fichiers de configuration .env de développement et de production avec des valeurs par défaut.

make config

Les variables de configuration globales de SMSWithoutBorders peuvent également être transmises pour remplacer la configuration par défaut.

SWOB_BE_HOST=http://localhost:9000 SWOB_RECAPTCHA_ENABLE=true SWOB_RECAPTCHA_SITE_KEY=skfhk123 <command>

Où la commande peut être n'importe laquelle définie sous scripts dans package.json ou Makefile target, par exemple yarn start, make build

.env.development.localest utilisé dans les environnements de développement et**.env.production.local** est utilisé lors de la création de versions de production.

Ce projet a démarré avec Create React App,qui spécifie les conventions de dénomination des variables

Les valeurs par défaut sont indiquées ci-dessous. une référence est également conservée dans env.example

VariableDescriptionDefault valueOverride
PORTdevelopment port18000PORT
GENERATE_SOURCEMAPGenerate or ignore sourcemapsfalseN/A
REACT_APP_API_URLBackend API URLhttp://localhost:9000SWOB_BE_HOST
REACT_APP_API_VERSIONBackend API versionv2SWOB_BE_VERSION
REACT_APP_GATEWAY_SERVERGateway server API URLhttp://localhost:15000SWOB_GS_HOST
REACT_APP_GATEWAY_SERVER_VERSIONGateway server versionv2SWOB_GS_VERSION
REACT_APP_RECAPTCHA_ENABLEEnable or disable recaptcha, make sure this setting is also toggled on the APIfalseSWOB_RECAPTCHA_ENABLE
REACT_APP_RECAPTCHA_SITE_KEYreCAPTCHAv2 site key obtained from googleN/ASWOB_RECAPTCHA_SITE_KEY
REACT_APP_RECAPTCHA_API_URLAPI script src from reCaptchav2 setup documentationhttps://www.google.com/recaptcha/api.jsN/A
REACT_APP_TUTORIAL_URLLink to the getting started tutorialhttps://smswithoutborders.github.io/docs/tutorials/getting-startedN/A
REACT_APP_GATEWAY_TUTORIAL_URLLink to gateway client setup tutorialhttps://github.com/smswithoutborders/SMSWithoutBorders-Gateway-Client/blob/alpha_stable/src/README.mdN/A
REACT_APP_PRIVACY_POLICY_URLLink to hosted privacy policy markdown file(s)https://raw.githubusercontent.com/smswithoutborders/smswithoutborders.com/dev/docs/privacy-policyN/A
HTTPSEnable or disable httpsfalseSWOB_SSL_ENABLE
SSL_CRT_FILELocation of SSL CRT fileN/ASWOB_SSL_CRT_FILE
SSL_KEY_FILELocation of SSL Key fileN/ASWOB_SSL_KEY_FILE

Démarrer le serveur de développement

yarn start

Note les configurations sont vérifiées et régénérées à chaque fois que yarn start est exécuté. .env.development ne sera pas écrasé s'il existe déjà, mais .env.production le sera.

Ouvrez http://localhost:18000 pour l'afficher dans le navigateur.

La page sera rechargée si vous effectuez des modifications..

Vous verrez également les éventuelles erreurs de lint dans la console.

Créer une version de production

Pour docker, voir la section docker ci-dessous.

Créez une version de production optimisée pouvant être hébergée sur des serveurs. Cette étape utilise les variables dans .env.production.local

yarn build or make build

Vérifier labuild dossier pour les fichiers déployables une fois terminé.

Déploiement

Déploiement standard avec apache

Pour un serveur Linux/Ubuntu exécutant le serveur Web apache2, suivez ces étapes pour déployer le site

  • Activer le module de réécriture
sudo a2enmod rewrite
  • Ouvrez le fichier de configuration apache dans /etc/apache2/apache2.conf
  • Modifiez l'autorisation AllowOverride de none à all
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
  • Copiez le contenu du dossier de construction à la racine du serveur normalement situé à /var/www/html. Assurez-vous que le fichier .htaccess est copié. Le fichier .htaccess est assez important comme spécifiéhere.
sudo cp -r build/. /var/www/html
  • redémarrer apache2.
sudo systemctl restart apache2

Docker

L'image docker SWOB est conçue pour s'exécuter dans un environnement de production, par conséquent, des clés SSL sont requises Commencez par créer l'image docker. Il existe un script make que vous pouvez exécuter. De plus, les remplacements d'env SWOB peuvent être passés directement à cette commande. Voir la configuration des variables d'environnement ci-dessus.

SWOB_SSL_ENABLE=true SWOB_SSL_CRT_FILE=/path/to/server.crt SWOB_SSL_KEY_FILE=/path/to/server.key make image

Vous pouvez également passer une autre variable d'environnement SWOB à utiliser à la place des valeurs par défaut.

SWOB_RECAPTCHA_ENABLE=true SWOB_RECAPTCHA_SITE_KEY=somekeyhere make image

Une liste complète de toutes les variables d'environnement peut être trouvée sous configure env variables section ci-dessus

Une fois la construction terminée, un swob-fe:latest l'image est créée. L'image expose les ports "80" et "443" qui peuvent être mappés selon les besoins

Vous pouvez tester l'image en exécutant fabriquer un contenant et visitez http://localhost:18000and https://localhost:18001 dans le navigateur ou déploiement avec vos propres options de configuration docker

Backend SMSWithoutborders

c'est une API cloud et Service de gestion des utilisateurs. Il est directement configurable avec les bases de données MySQL pour la gestion des utilisateurs. Il fournit également des intégrations prêtes à l'emploi de Google OAuth-2.0, Twitter OAuth, des points de terminaison Telegram et de l'authentification de compte.

:::astuce Ce que vous apprendrez

  • Comment configurer le Backend
  • Comment tester et déployer avec docker

La version la plus récente de ce guide se trouve dans le github reposistory