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

leaderboard

  • Clone with SSH
  • Clone with HTTPS
  • Forked from an inaccessible project.
    user avatar
    Thomas Bouquet authored
    f048e8e8
    History

    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.