Skip to content

dyno-nuggets/refonte-implicaction

Repository files navigation

refonte-implicaction

⚠️ IMPORTANT
En cas de fork (et seulement en cas de fork), pour que la CI fonctionne correctement vous devez désactiver l'analyse automatique. Pour cela rendez vous sur la page sonarcloud de votre projet > Administration > Analysis Method > image

Quick Start

Dépendances

Environnement local

  • pour lancer les conteneurs (bdd, adminer, aws)
docker-compose up
  • Pour lancer le back
mvn spring-boot:run -Dspring-boot.run.profiles=local
  • pour avoir accès aux commandes ng
npm install -g @angular/cli
  • pour lancer le front
ng serve

Configuration IntelliJ-IDEA

Launchers

Backend

Capture d’écran 2022-10-24 à 01 10 31

Frontend

image

Codestyle et formatage

  • dezipper et installer le fichier implicaction-cs.xml.zip comme suit : image

  • installer le plugin Save Actions et le configurer comme illustré : image

  • configurer l'outil Actions on save image

Gestion d'un développement

Création de la branche

  • mise à jour de son dépôt local : git fetch origin
  • création de la branche de développement : git checkout -b features/RI-XXXX origin/develop (où RI-XXX est la référence à la JIRA associée)

Commit sur la branche

Il est important de créer des commits avec le moins de changements possible afin de faciliter la compréhension pour le reviewer

  • sélection des changements à commit
  • écriture du message de commit :
RI-XXX : titre du commit explicite

* liste de détails éventuels

Il est important d'envoyer ses commits sur le dépôt régulièrement

  • git push origin features/RI-XXX
    • si on a modifié un commit précédemment envoyé, il faut forcer le push : git push -f origin features/RI-XXXX

Création de la pull request

Une fois que le branche est prête à être revue on créée la PR sur github.

  • envoyer les commits sur le distant : git push origin features/RI-XXX
  • choisir develop comme base
  • choisir features/RI-XXX comme compare
  • cliquer sur le bouton create pull request

see also : documentation GitHub

Merge de la branche

Il est important de squash les différents commits de la branche afin de conserver un historique git cohérent et intelligible. Veillez à sélectionner l'option Squash and merge avan de merger votre branche.

image

Détails du projet

Refonte-Implicaction est un projet qui s'appuie sur les technologies spring et angular. Tout son processus de build est géré par maven.

Structure du projet

Il se découpe en 3 projets maven :

+-- refonte-implicaction/
    +-- backend-implicaction/
    |   +-- src/main/resources
    |   |   +-- application.yml
    |   |   +-- application-local.yml
    |   |       ...
    |   +-- src/test/resources
    |   |   +-- application-test.properties
    |   |       •••
    |   +-- pom.xml (backend)
    +-- frontend-implicaction/
    |   +-- pom.xml (frontend)
    |       •••
    +-- pom.xml  (root)
  • le projet backend-implicaction
  • le projet frontend-implicaction
  • le projet root, qui pilote le build des 2 projets

les profils

3 profils ont été configurés

  • le profil par défaut à utiliser pour la version de production ( cf backend-implicaction/src/main/resources/application.yml et application.properties)
  • le profil 'local' pour lancer le projet en local (cf backend-implicaction/src/main/resources/applicaction-local.yml)
  • le profil 'test' à utiliser pour lancer les tests ( cf backend-implicaction/src/test/resources/applicaction-test.properties)

les variables d'environnement à définir

  • PORT : port du serveur
  • DB_URI : adresse de la base de données (ex: mysql://domain:port/db_name)
  • DB_USER : nom d'utilisateur de la base de données
  • DB_PASS : mot de passe de la base de données
  • SMTP_HOST : adresse du serveur smtp
  • SMTP_PORT : port du serveur smtp
  • SMTP_USER : nom d'utilisateur du serveur smtp
  • SMTP_PASS : mot de passe du serveur smtp
  • KS_PATH : chemin du fichier KeyStore
  • KS_NAME : nom du certificat de sécurité (par défaut mettre implicaction)
  • KS_PASSWORD : mot de passe du certificat
  • APP_URL : url de l'application
  • CONTACT_EMAIL : adresse mail du contact
  • AWS_ACCESS_KEY(*): access key du compte aws
  • AWS_SECRET_KEY(*): client secret du compte aws
  • AWS_REGION(*): region du compte aws

(*) mandatory

lancement des tests

A l'heure actuelle, seuls les tests du projet back ont été définis. Pour les lancer il suffit d'utiliser la commande suivante : mvn test -Dspring.profiles.active=test depuis le répertoire racine.