Skip to content
Snippets Groups Projects
Select Git revision
  • f059655c75523741dfcf37fefa221db2f3b0b478
  • master default
  • dockerization
  • staging
  • backup-before-cleaning-repo
  • dockerfiles-pour-maelle
6 results

leaderboard

Forked from an inaccessible project.
user avatar
Thomas Bouquet authored
f059655c
History
Name Last commit Last update
back
db
front
.gitignore
.gitlab-ci.yml
README.md

HumaViRon

Description du projet

Ce projet est un projet de web app leaderboard pour l'Humaviron. Il possède une partie accessible sans connexion : accueil, accès aux classements, objectifs, page partenaires, ... La partie administration est accessible via l'authentification avec l'auth ViaRézo.

Technologies utilisées

  • Front : Le front utilise la librairie JavaScript React. Le routage est géré par React-routeur. Il communique au back grâces à des appels à l'api et axios.
  • Back : Le back est en nodejs et utilise Express.
  • Base de données : Le back communique avec une base de données mysql.

## Mise en production

  • Base de données : mysql est installé directement sur la machine et disponible sur le port 3306 (port par défaut). Les bases de données de production et de pré-production sont nommées respectivement leaderboard et leaderboard_preprod. Les users des bases de données sont respectivement leaderboard et leaderboard_preprod. Les mots de passes sont définis dans les variables de la CI gitlab.

  • Back : le back est lancé avec pm2 sous le nom back-prod (ou back-preprod) pour le back de preprod. Le back de production écoute sur le port 8000 et le back de pré-production sur le port 5000.

  • Front : le front est compilé et servi de manière statique par nginx qui est configuré de manière à servir les 2 versions du site (leaderboard.viarezo.fr et leaderboard-test.viarezo.fr) et gérer le proxy du /api vers les backs respectifs.

Déploiement avec CI/CD

Une pipeline est configurée sur le projet gitlab, les actions effectuées sont les suivantes:

  • Dans le cas d'une branche quelconque : linter du back et du front.
  • Dans le cas de la branche staging : linter et déploiement du site en version preprod leaderboard-test.viarezo.fr.
  • Dans le cas de la branche master : linter et déploiement du site en version prod leaderboard.viarezo.fr.