update diagrams with introduction
continuous-integration/drone/push Build is failing Details

WORK-KMO-Gateway
Antoine PEREDERII 1 year ago
parent 718a97ff32
commit cba3a4e1ae

@ -2,7 +2,40 @@
[Retour aux Documents](../../README_DOCUMENTS.md) [Retour aux Documents](../../README_DOCUMENTS.md)
[Retour au diagramme de classes](../README_DIAGRAMMES.md) [Retour au diagramme de classes](../README_DIAGRAMMES.md)
## Diagramme de classe # Introduction au Diagramme de Classes : Plateforme de Gestion d'Activités Sportives
Bienvenue dans l'écosystème dynamique de notre plateforme de gestion d'activités sportives ! Ce diagramme de classes offre une vision complète des entités et des relations qui façonnent l'expérience des utilisateurs au sein de notre système.
**Entités Principales :**
- **Utilisateur (User) :** Représente les individus inscrits sur notre plateforme, avec des détails personnels tels que le nom, le prénom, l'email, etc. Chaque utilisateur a un rôle spécifique (Athlete, Coach) qui détermine ses interactions au sein de l'application.
- **Rôle (Role) :** Classe abstraite qui définit les rôles spécifiques des utilisateurs (Athlete, Coach). Contient des méthodes pour gérer les amis, les entraînements, et les demandes.
- **Athlète (Athlete) :** Spécialisation de la classe Role, représentant les utilisateurs actifs qui enregistrent des activités sportives, des statistiques, et interagissent avec d'autres athlètes.
- **Activité (Activite) :** Contient des détails sur une activité sportive tels que le type, la date, la durée, la fréquence cardiaque, etc.
- **Notification (Notification) :** Messages pour informer les utilisateurs des actions importantes.
- **Entraînement (Entrainement) :** Sessions planifiées d'activités physiques avec des détails comme la date, la localisation, la description, et les retours.
- **Statistique (Statistique) :** Informations détaillées sur les performances sportives d'un athlète, comprenant la distance totale, le poids, le temps total, la fréquence cardiaque, etc.
- **Source de Données (SourceDonnees) :** Représente les sources utilisées pour collecter des données, telles que les montres connectées.
**Relations Clés :**
- Les Utilisateurs ont un rôle spécifique (Athlete, Coach) qui détermine leurs fonctionnalités.
- Un Athlète peut enregistrer plusieurs Activités, Statistiques, et interagir avec différentes Sources de Données.
- Les Entraînements sont liés aux Utilisateurs, permettant une planification efficace.
- Les Notifications informent les Utilisateurs des événements importants.
Explorez ce diagramme pour comprendre comment notre plateforme offre une expérience complète, de la gestion des utilisateurs à l'enregistrement des activités sportives et au suivi des performances.
```plantuml ```plantuml
@startuml @startuml

@ -2,7 +2,35 @@
[Retour aux Documents](../../README_DOCUMENTS.md) [Retour aux Documents](../../README_DOCUMENTS.md)
[Retour au diagramme de classes](../README_DIAGRAMMES.md) [Retour au diagramme de classes](../README_DIAGRAMMES.md)
## Diagramme de classe # Introduction au Diagramme de Classes : Statistiques pour Coach
Bienvenue dans l'univers captivant de notre système de gestion d'activités sportives avec une mise au point spéciale sur les statistiques destinées aux coaches. Ce diagramme de classes offre une vue approfondie de la manière dont les utilisateurs, en particulier les athlètes et les coaches, interagissent avec les données de performance.
**Entités Principales :**
- **Utilisateur (User) :** Représente les individus inscrits sur notre plateforme, avec des détails personnels et un rôle spécifique dans l'écosystème sportif.
- **Athlète (Athlete) :** Un type spécialisé d'utilisateur qui peut enregistrer des statistiques liées à ses activités sportives.
- **Coach (Coach) :** Un rôle qui s'étend à partir de la classe abstraite Role, dédié à la gestion des athlètes et de leurs statistiques.
- **Statistique (Statistique) :** Contient des informations détaillées sur les performances sportives d'un athlète, telles que la distance totale, le poids, le temps total, la fréquence cardiaque moyenne, minimale et maximale, ainsi que les calories brûlées.
**Relations Clés :**
- Les Utilisateurs ont un rôle spécifique (Athlete, Coach) qui influence leurs interactions au sein de la plateforme.
- Un Coach peut gérer une liste d'athlètes et avoir accès à leurs statistiques.
- Un Athlète peut enregistrer plusieurs statistiques liées à ses activités.
**Objectif Principal :**
- Permettre aux coaches d'accéder et de surveiller les statistiques détaillées de leurs athlètes, offrant ainsi un aperçu complet de leurs performances sportives.
Explorez ce diagramme pour découvrir comment notre application crée une synergie entre les utilisateurs, les rôles, et les statistiques, contribuant ainsi à une expérience enrichissante dans le suivi des activités sportives.
```plantuml ```plantuml
@startuml @startuml
class Athlete { class Athlete {

@ -2,7 +2,25 @@
[Retour aux Documents](../../README_DOCUMENTS.md) [Retour aux Documents](../../README_DOCUMENTS.md)
[Retour au diagramme de classes](../README_DIAGRAMMES.md) [Retour au diagramme de classes](../README_DIAGRAMMES.md)
# Diagramme de Classes : Gestions des données aux niveau de la base de données # Introduction au Modèle de Données de l'Application
L'architecture de données de notre application de suivi d'activités sportives repose sur un modèle robuste, avec des entités clés pour représenter les activités, les athlètes et les coachs. Découvrez les composants principaux de notre modèle de données :
## Activité
L'entité Activité représente une session d'activité sportive avec des détails variés tels que le type d'activité, la date, la durée, l'effort ressenti, etc. Le `ActiviteEntity` encapsule ces données, tandis que le `ActiviteGateway` gère la communication avec la base de données pour les activités.
## Athlète
L'entité Athlète représente un utilisateur de l'application qui participe à des activités sportives. Le `AthleteEntity` stocke les détails de l'athlète, et le `AtheletGateway` facilite l'accès et la gestion des données des athlètes.
## Coach
L'entité Coach représente un utilisateur qui peut superviser et coacher d'autres athlètes. Le `CoachEntity` stocke les détails du coach, tandis que le `CoachGateway` gère les interactions avec la base de données.
## Mapper
Les mappers, tels que `ActiviteMapper`, `AthleteMapper`, et `CoachMapper`, facilitent la conversion entre les entités et les modèles utilisés dans l'application.
## Connexion à la Base de Données
La classe `Connection` étend de `PDO` et assure la connexion à la base de données. Chaque Gateway utilise cette connexion pour interagir avec la base de données.
```plantuml ```plantuml
@startuml @startuml
@ -48,7 +66,6 @@ class ActiviteEntity {
+ setTemperatureMoyenne(temperatureMoyenne: int): void + setTemperatureMoyenne(temperatureMoyenne: int): void
} }
class ActiviteGateway { class ActiviteGateway {
- connection: Connection
+ __construct(connection: Connection) + __construct(connection: Connection)
+ getActivite(): ?array + getActivite(): ?array
+ getActiviteById(activiteId: int): ?array + getActiviteById(activiteId: int): ?array
@ -96,7 +113,6 @@ class AthleteEntity {
+ setDateNaissance(dateNaissance: string): void + setDateNaissance(dateNaissance: string): void
} }
class AtheletGateway { class AtheletGateway {
- connection: Connection
+ __construct(connection: Connection) + __construct(connection: Connection)
+ getAthlete(): ?array + getAthlete(): ?array
+ getAthleteById(userId: int): ?array + getAthleteById(userId: int): ?array
@ -146,7 +162,6 @@ class CoachEntity {
+ setDateNaissance(dateNaissance: string): void + setDateNaissance(dateNaissance: string): void
} }
class CoachGateway { class CoachGateway {
- connection: Connection
+ __construct(connection: Connection) + __construct(connection: Connection)
+ getCoach(): ?array + getCoach(): ?array
+ getCoachById(userId: int): ?array + getCoachById(userId: int): ?array
@ -173,6 +188,14 @@ class Connection extends PDO {
+ getResults(): array + getResults(): array
} }
Connection *-- "1" ActiviteGateway Connection <- ActiviteGateway : connection
Connection *-- "1" AtheletGateway Connection <- AtheletGateway : connection
Connection *-- "1" CoachGateway Connection <- CoachGateway : connection
AthleteMapper -> AthleteEntity
CoachMapper -> CoachEntity
ActiviteMapper -> ActiviteEntity
ActiviteMapper -> ActiviteGateway
CoachMapper -> CoachGateway
AthleteMapper -> AtheletGateway
@enduml
```

@ -2,8 +2,27 @@
[Retour aux Documents](../../README_DOCUMENTS.md) [Retour aux Documents](../../README_DOCUMENTS.md)
[Retour au diagramme de classes](../README_DIAGRAMMES.md) [Retour au diagramme de classes](../README_DIAGRAMMES.md)
## Diagramme de séquence systeme # Introduction au Processus de Connexion sur la Plateforme
- Création de compte
Bienvenue sur notre plateforme de gestion d'activités sportives ! Pour offrir une expérience fluide et sécurisée, nous avons mis en place un processus de connexion intuitif. Découvrez comment accéder à votre compte ou créer un nouveau compte en quelques étapes simples.
**Étapes du Processus :**
1. **Demande de Page de Connexion :** L'utilisateur démarre en exprimant le désir de se connecter à la plateforme.
2. **Vérification de la Connexion Préexistante :** Le système vérifie si l'utilisateur est déjà connecté. En cas de connexion active, l'utilisateur est redirigé directement vers sa page de compte.
3. **Page de Connexion :** Si l'utilisateur n'est pas encore connecté, il est dirigé vers la page de connexion, où il peut saisir ses informations d'identification.
4. **Choix pour les Utilisateurs Possédant un Compte :** Si l'utilisateur a déjà un compte, il peut fournir ses informations de connexion existantes.
5. **Création de Compte pour les Nouveaux Utilisateurs :** Pour ceux qui n'ont pas encore de compte, l'option de création de compte est disponible. L'utilisateur peut fournir les détails nécessaires pour créer son compte.
6. **Page de Création de Compte :** Une page dédiée guide l'utilisateur tout au long du processus de création de compte, lui permettant de saisir les informations nécessaires.
7. **Validation et Connexion :** Une fois que les informations de connexion ou de création de compte sont fournies, le système procède à la vérification et connecte l'utilisateur à son compte.
```plantuml ```plantuml
actor User as u actor User as u
u->Systeme : demandePageConnexion() u->Systeme : demandePageConnexion()

Loading…
Cancel
Save