Skip to content

Latest commit

 

History

History
98 lines (61 loc) · 4.43 KB

BOILERPLATE_README.fr.md

File metadata and controls

98 lines (61 loc) · 4.43 KB

ElixirBoilerplate

Section Description
🎯 Objectifs et contexte Introduction et contexte du projet
🚧 Dépendances Dépendances techniques et comment les installer
🏎 Départ rapide Détails sur comment démarrer rapidement le développement du projet
🏗 Code et architecture Détails sur les composantes techniques de l’application
🔭 Améliorations possibles Améliorations, idées et refactors potentiels
🚑 Problèmes et solutions Problèmes récurrents et solutions éprouvées
🚀 Déploiement Détails pour le déploiement dans différents environnements

🎯 Objectifs et contexte

Support de navigateurs

Navigateur OS Contrainte

🚧 Dépendances

  • Node.js (>= 10.14, < 11.0)
  • NPM (>= 6.4, < 7.0)
  • Elixir (~> 1.9)
  • Erlang (~> 22.0)
  • PostgreSQL (~> 10.0)

🏎 Départ rapide

Variables d’environnement

Toutes les variables d’environnement requises sont documentées dans .env.dev.

Ces variables doivent être présentes dans l’environnement lorsque des commandes mix ou make sont exécutées. Plusieurs moyens sont à votre disposition pour ça, mais l’utilisation de nv est recommandée puisqu’elle fonctionne out of the box avec les fichiers .env.*.

Mise en place initiale

  1. Créer .env.dev.local et .env.test.local à partir des valeurs vides de .env.dev and .env.test
  2. Installer les dépendances Mix et NPM avec make dependencies
  3. Générer des valeurs pour les secrets dans .env.dev avec mix phx.gen.secret

Ensuite, avec les variables de .env.dev et .env.dev.local présentes dans l’environnement :

  1. Créer et migrer la base de données avec mix ecto.setup
  2. Démarrer le serveur Phoenix avec iex -S mix phx.server

Commandes make

Un fichier Makefile est présent à la racine et expose des tâches communes. La liste de ces tâches est disponible via make help.

Base de données

Pour éviter de rouler PostgreSQL localement sur votre machine, un fichier docker-compose.yml est inclus pour permettre le démarrage d’un serveur PostgreSQL dans un container Docker avec docker-compose up postgresql.

Tests

La suite de tests peut être exécutée avec make test et le niveau de couverture de celle-ci peut être calculé et validé avec make check-code-coverage.

Linting et formatting

Plusieurs outils de linting et de formatting peuvent être exécutés pour s’assurer du respect des bonnes pratiques de code :

  • make lint-elixir s’assure que le code Elixir respecte nos bonnes pratiques
  • make lint-scripts s’assure que le code JavaScript respecte nos bonnes pratiques
  • make lint-styles s’assure que le code SCSS respecte nos bonnes pratiques
  • make check-format valide que le code est bien formatté
  • make format formatte les fichiers en utilisant Prettier et mix format

Intégration continue

Le script priv/scripts/ci-check.sh exécute un ensemble de commantes (tests, linting, etc.) pour s’assurer que le projet et son code sont en bon état.

🏗 Code et architecture

🔭 Améliorations possibles

Description Priorité Complexité Idées

🚑 Problèmes et solutions

🚀 Deploiement

Versions et branches

Chaque déploiement est effectué à partir d’un tag Git. La version du codebase est gérée avec incr.

Container

Un container Docker exposant une release OTP peut être créé avec make build, testé avec docker-compose up application et poussé dans un registre avec make push.