Contribuer

Tout d'abord, merci de votre intérêt pour contribuer !

Signaler des problèmes, demander des fonctionnalités

  • Si le bug concerne une faille de sécurité, veuillez vous référer à la politique de sécurité.

  • Assurez-vous qu'un ticket n'a pas déjà été ouvert en effectuant une recherche dans le tickets dans GitHub.

  • Si ce n'est pas le cas, ouvrez un nouveau ticket avec un titre descriptif et une description.

Contribuer au code

Dépôt du projet

Le dépôt GitHub contient :

  • le code source (à noter que le dépôt contient également les fichiers compilés client),

  • traductions,

  • tests,

  • documentation (source, traductions et fichiers compilés).

Les workflows d'intégration continue s'exécutent sur la plateforme Github Actions (lors de push et pull requests).

Pour le moment, les versions publiées ne suivent pas la gestion sémantique de version. Toute version peut contenir des changements non rétro-compatibles.

Traductions

Les fichiers de traduction de l'application se trouvent :

  • côté API (pour les courriels) : fittrackee/emails/translations/ (implémenté avec Babel)

  • côté client : fittrackee/emails/translations/ (implémenté via Vue I18n)

Les traductions peuvent être mises à jour via Weblate.
Pour toute demande de nouvelle langue, veuillez ouvrir un ticket afin d'initialiser les fichiers de traduction et de rendre la langue disponible sur Weblate.

La traduction de la documentation se trouvent dans le répertoire suivant : docsrc/locales. Pour l'instant, seuls l'anglais et le français sont disponibles et les fichiers de traduction ne sont pas encore disponibles sur Weblate.

Comment installer FitTrackee

voir les instructions d'installation

Pull Requests

Remarque : Avant de commencer, veuillez ouvrir un ticket pour discuter de la mise en œuvre si la fonctionnalité nécessite des modifications majeures ou implique l'ajout d'un nouveau sport ou d'une nouvelle langue. Pour les demandes de nouveaux sports, FitTrackee étant basée sur des fichiers (.gpx ou autre format supporté) pour des activités de plein air, seuls les sports associés à un fichier peuvent être ajoutés pour le moment.

Veuillez effectuer vos modifications à partir de la branche de développement (dev)

  • Dupliquer le dépôt (voir les instructions sur GitHub)

  • Implémentez votre fonctionnalité

  • Si vos modifications nécessitent une migration de base de données :

    • Vous pouvez en générer un après avoir mis à jour les modèles avec la commande suivante :

      $ make migrate-db
      
    • Pour la migration des données, un fichier de migration vide peut être créé avec la commande suivante :

      $ make revision MIGRATION_MESSAGE="<MIGRATION_MESSAGE>"
      
    • Renommez la migration en la préfixant avec le numéro suivant.

    • Pour appliquer les modifications de la base de données :

      $ make upgrade-db
      
    • Vérifiez la migration vers une version inférieure.

  • Exécutez des vérifications (lint, vérification de type et tests unitaires).

    $ make check-all
    

    Il existe des tests de bout en bout. Pour les exécuter (une application doit être en cours d'exécution) :

    $ make test-e2e
    
  • Si nécessaire, mettez à jour les traductions (ajoutez au moins les chaînes en anglais).

    • Côté client, mettre à jour les fichiers dans le répertoire fittrackee_client/src/locales.

    • Côté API (courriels), pour extraire les nouvelles chaînes dans messages.pot :

      $ make babel-extract
      

      Pour ajouter les nouvelles chaînes dans les fichiers de traductions (fittrackee/emails/translations/<LANG>/LC_MESSAGES/messages.po) :

      $ make babel-update
      

      Après avoir mis à jour les chaînes dans messages.po, compilez les traductions :

      $ make babel-compile
      
  • Si nécessaire, ajoutez ou mettez à jour des tests.

  • Si nécessaire, mettez à jour la documentation (inutile de compiler la documentation, elle sera effectuée lors de la publication de la version).

  • Si le code mis à jour contient des modifications côté client, vous pouvez générer les ressources JavaScript pour vérifier FitTrackee sans démarrer le serveur de développement client :

    $ make build-client
    

    Il n'est pas nécessaire d'ajouter ces fichiers, les fichiers seront compilés avant la fusion de la pull request ou lors de la publication de la version.

  • Créez votre pull request avec comme branche cible la branche dev.

  • Assurez-vous que la description de la pull request décrit clairement le problème et sa solution. Indiquez le numéro du ticket concerné, le cas échéant.

  • Vérifiez que tous les tests se sont exécutés avec succès.

  • Si nécessaire, mettez à jour votre branche.

Merci.