
expo-essentials est un modèle de kickass construit sur Expo, contenant une structure de dossiers gérable, des suites de test et des fonctionnalités essentielles pour vous faire fonctionner sur votre prochaine application.




(... et beaucoup d'autres à venir bientôt!)
$ cd client
$ npm start
$ docker-compose up --build
| Commande | Description |
|---|---|
npm start | Démarrer Expo Metro Server |
npm run android | Démarre l'application dans un émulateur Android |
npm run ios | Commence l'application dans un émulateur iOS |
npm run web | Démarre l'application dans le navigateur Web |
npm run test | Développement actif des tests, regardez des fichiers pour les modifications et réinstalle tous les tests |
npm run testDebug | Debug, Console.logs et ne fait que relance le fichier qui a été modifié |
npm run testFinal | Affiche la couverture du code dans la CLI et met à jour la couverture du code HTML |
npm run updateSnapshots | Lorsqu'un écran / composant est mis à jour, les instantanés de test lancent une erreur, cela les met à jour |
npm run eject | Éjecter l'application Expo aux projets Android et iOS natifs (prudence: cette action est irréversible) |
| Commande | Description |
|---|---|
npm run start:dev | Démarre le serveur avec la configuration de développement, redémarre le serveur sur les modifications du fichier |
npm run start:staging | Démarre le serveur avec la configuration de mise en scène |
npm run start:prod | Démarre le serveur avec la configuration de production |
npm run test:watch | Développement actif des tests, regardez des fichiers pour les modifications et réévaluez les tests |
npm run test | Affiche la couverture du code dans la CLI et met à jour la couverture du code HTML |
Ce modèle utilise un chaton d'interface utilisateur pour contrôler le thème. Pour en savoir plus, assurez-vous de visiter leurs documents.
client/app/config/colors.js.ttf ou .otf sont préférés) dans le dossier client/app/assets/fonts . (Par défaut, ce modèle utilise la police Jost).client/App.js : 
Vous pouvez spécifier différentes couleurs à utiliser pour le mode clair et le mode sombre en mettant à jour les valeurs dans client/app/config/lightTheme.js et client/app/config/darkTheme.js respectivement.
(Cette méthode utilise des crochets React, alors assurez-vous de travailler avec des composants REACT fonctionnels)

Ce modèle prend en charge les configurations changeantes de changement de manière transparente pour les constructions d'environnement différentes basées sur l'application (par exemple le développement , la mise en scène et la production )
Les paramètres de l'application mobile sont définis dans client/app/config/settings.js .
La configuration de développement doit être définie directement dans l'objet dev .

La configuration de stadification doit être définie dans l'objet staging . Vous pouvez soit les définir directement, soit les ajouter via le fichier DOT client/.env (si vous avez des données sensibles).

La configuration de production doit être définie dans l'objet prod et doit être ajouté de préférence via le fichier client/.env .


Les paramètres du serveur sont définis dans server/config/settings.js . Le serveur ExpressJS s'exécute dans un conteneur Docker, afin que vous puissiez spécifier quel fichier d'environnement est branché dans le conteneur.

Par exemple, une configuration d'environnement de développement peut être définie comme:
server/.env.dev : 
docker-compose.yml : 
Ce modèle utilise Firebase pour l'authentification et la gestion des utilisateurs. Firebase propose une riche liste de fournisseurs externes que vous voudriez ajouter dans votre application plus tard. Ils gèrent également l'envoi d'e-mails pour la vérification des e-mails , la réinitialisation du mot de passe et la modification des e-mails .
Il est suggéré de créer 3 projets Firebase distincts pour votre application: app-dev , app-staging et app-prod (pour chaque environnement que votre application utilise). Il s'agit de vous assurer que vous pouvez tester vos environnements indépendants les uns des autres et empêcher les données qui se chevauchent.
Créez des configurations WebApp dans vos projets Firebase et ajoutez-les dans les objets environnementaux appropriés. 
Le serveur utilise le SDK Admin Firebase pour créer un middleware d'authentification. Ce middleware décode le jeton JWT envoyé à partir de l'application via une demande d'API pour identifier les utilisateurs et leurs rôles.
server/config/firebase-service-account-<environment>.jsonserver/config/firebase-service-account-dev.json , server/config/firebase-service-account-staging.json , server/config/firebase-service-account-prod.json )


















