<div align = center>

  <img src="Documents/Images/logo.png" />
    
</div>
<div align = center>

[Présentation](#présentation) | [Répartion](#répartition-du-git) | [Développement](#développement) | [Wiki](https://codefirst.iut.uca.fr/git/HeartTrack_Dev/Web/wiki)

---

&nbsp; ![PHP](https://img.shields.io/badge/PHP-000?style=for-the-badge&logo=Php&logoColor=white&color=purple)
&nbsp; ![CSS](https://img.shields.io/badge/CSS-000?style=for-the-badge&logo=css3&logoColor=white&color=darkblue)
&nbsp; ![DOCKER](https://img.shields.io/badge/Docker-2496ED.svg?style=for-the-badge&logo=Docker&logoColor=white)
&nbsp; ![PostgreSQL](https://img.shields.io/badge/Postgresql-000?style=for-the-badge&logo=postgresql&logoColor=white&color=blue)
&nbsp; ![JAVASCRIPT](https://img.shields.io/badge/JavaScript-000?style=for-the-badge&logo=javascript&logoColor=white&color=yellow)
</br>

---

</div>

# HeartTrack


## Présentation

**Nom de l'application :** HeartTrack

### Contexte

HeartTrack est une application web PHP et mobile Android destinée aux sportifs pour l'analyse de courbes cardiaques. L'objectif principal de cette application est de récupérer les données de fréquence cardiaque à partir d'une montre, de les afficher sous forme de courbes, d'identifier des patterns, de fournir des statistiques et de réaliser des prédictions liées à l'effort physique, à la chaleur, à la récupération, etc.

### Récapitulatif du Projet

Le projet HeartTrack, avec son application HeartTrack, vise à offrir une solution complète pour l'analyse des données de fréquence cardiaque, en mettant l'accent sur les besoins des sportifs. L'application sera capable de traiter et d'interpréter les données de manière intelligente, fournissant ainsi des informations précieuses pour optimiser les performances sportives et la santé.


## Répartition du Git

[**Sources**](Sources) : **Code de l'application**

[**Documents**](Documents) : **Documentation de l'application**

--

Le projet HeartTrack utilise un modèle de flux de travail Git (Gitflow) pour organiser le développement. Voici une brève explication des principales branches :

- **branche prod** : Cette branche contient la version de production stable de l'application. Les modifications sur cette branche sont généralement destinées à des mises en production.

- **branche master** : La branche master est similaire à la branche de production, mais elle peut contenir des fonctionnalités en cours de développement qui sont presque prêtes pour une mise en production.

- **branche test** : Cette branche est utilisée pour déployer une version démo de l'application. Elle est mise à jour avec les dernières fonctionnalités et surtout la totalité de leurs test en développement.

- **branche issue** : Pour chaque problème (issue) que vous résolvez, vous devez créer une branche portant le nom de l'issue, par exemple, "issue_#32_nom" où 32 est le numéro de l'issue et nom est une description courte de l'issue. Une fois l'issue résolue, assurez-vous de mettre à jour le changelog et de créer une merge request.


## Développement

### Travailler sur une Issue

Si vous êtes amené à travailler sur une issue, suivez ces principes :

1. Les issues sont créées dans le système de gestion de versions (Git), chaque issue ayant un numéro unique.

2. Lorsque vous décidez de travailler sur une issue, attribuez-vous l'issue et créez une branche avec un nom correspondant à l'issue sous la forme suivante : "issue_#32_nom" où 32 est le numéro de l'issue et nom est son libellé.

3. Une fois que vous avez résolu l'issue dans votre branche, assurez-vous de mettre à jour le changelog avec les modifications apportées.

4. Ensuite, poussez votre branche sur le référentiel distant et créez une merge request pour que vos modifications soient examinées par les autres membres de l'équipe.

## Prérequis

Avant de commencer à travailler sur le projet HeartTrack, assurez-vous d'avoir les prérequis suivants installés :

- Serveur web (par exemple, Apache)
- PHP (version recommandée)
- Base de données (par exemple, MySQL)
- Git

## Installation

Pour installer et exécuter le projet HeartTrack, suivez ces étapes :

1. Clonez ce référentiel sur votre machine locale en utilisant la commande suivante :
 `git clone https://codefirst.iut.uca.fr/git/FitDev/Projet_fit_web`

2. Configurez votre environnement de développement avec les prérequis mentionnés ci-dessus.

3. Copiez le fichier de configuration d'exemple et configurez les paramètres de l'application :

cp config/config.example.php config/config.php

4. Importez la structure de la base de données à partir du fichier SQL fourni :

mysql -u votre_nom_utilisateur -p < db_schema.sql ou psql comme vous le souhaitez


5. Démarrez votre serveur web et accédez à l'application via le navigateur.

`npm run dev` 
ou 
`composer dev` e.q `php composer.phar dev`

## Exécution

Pour exécuter l'application, suivez les instructions d'installation ci-dessus. Une fois l'application configurée et le serveur web en cours d'exécution, accédez à l'application via votre navigateur web.

## Déploiement en Démo

Pour déployer une version de démonstration de l'application, utilisez la branche "demo" du référentiel. Cette branche est généralement mise à jour avec les dernières fonctionnalités en développement.

## Déploiement en Production

Pour déployer la version de production de l'application, utilisez la branche "prod" du référentiel.

---

N'hésitez pas à contribuer au développement de HeartTrack en résolvant des issues ou en ajoutant de nouvelles fonctionnalités. Nous vous encourageons à suivre les principes et les pratiques décrites dans ce document pour un développement efficace et collaboratif.