From fd77ad3c9b74b4692a338b07910e49ceb567dd8f Mon Sep 17 00:00:00 2001 From: Antoine PEREDERII Date: Sun, 17 Mar 2024 01:01:51 +0100 Subject: [PATCH] Delete 'docs/Diagramme/DiagrammeDeClasses/README_issue023.md' --- .../DiagrammeDeClasses/README_issue023.md | 200 ------------------ 1 file changed, 200 deletions(-) delete mode 100644 docs/Diagramme/DiagrammeDeClasses/README_issue023.md diff --git a/docs/Diagramme/DiagrammeDeClasses/README_issue023.md b/docs/Diagramme/DiagrammeDeClasses/README_issue023.md deleted file mode 100644 index 3763288..0000000 --- a/docs/Diagramme/DiagrammeDeClasses/README_issue023.md +++ /dev/null @@ -1,200 +0,0 @@ -[retour au README.md](../../../README.md) -[Retour au diagramme de classes](../README_DIAGRAMMES.md) - -# 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 -@startuml -class ActiviteEntity { - - idActivite: int - - type: string - - date: string - - heureDebut: string - - heureFin: string - - effortRessenti: int - - variabilite: int - - variance: int - - ecartType: int - - moyenne: int - - maximum: int - - minimum: int - - temperatureMoyenne: int - + getIdActivite(): int - + getType(): string - + getDate(): string - + getHeureDebut(): string - + getHeureFin(): string - + getEffortRessenti(): int - + getVariabilite(): int - + getVariance(): int - + getEcartType(): int - + getMoyenne(): int - + getMaximum(): int - + getMinimum(): int - + getTemperatureMoyenne(): int - + setIdActivite(idActivite: int): void - + setType(type: string): void - + setDate(date: string): void - + setHeureDebut(heureDebut: string): void - + setHeureFin(heureFin: string): void - + setEffortRessenti(effortRessenti: int): void - + setVariabilite(variabilite: int): void - + setVariance(variance: int): void - + setEcartType(ecartType: int): void - + setMoyenne(moyenne: int): void - + setMaximum(maximum: int): void - + setMinimum(minimum: int): void - + setTemperatureMoyenne(temperatureMoyenne: int): void -} -class ActiviteGateway { - + __construct(connection: Connection) - + getActivite(): ?array - + getActiviteById(activiteId: int): ?array - + getActiviteByType(type: string): ?array - + getActiviteByDate(date: string): ?array - + getActiviteByTimeRange(startTime: string, endTime: string): ?array - + getActiviteByEffort(effortRessenti: int): ?array - + getActiviteByVariability(variabilite: int): ?array - + getActiviteByTemperature(temperatureMoyenne: int): ?array - + addActivite(activite: ActiviteEntity): bool - + updateActivite(oldActivite: ActiviteEntity, newActivite: ActiviteEntity): bool - + deleteActivite(idActivite: int): bool -} -class ActiviteMapper { - + map(data: array): ActiviteEntity - + ActiviteEntityToModel(activiteEntity: ActiviteEntity): Activite -} -class AthleteEntity { - - idAthlete: int - - nom: string - - prenom: string - - email: string - - sexe: string - - taille: float - - poids: float - - motDePasse: string - - dateNaissance: string - + getIdAthlete(): int - + getNom(): string - + getPrenom(): string - + getEmail(): string - + getSexe(): string - + getTaille(): float - + getPoids(): float - + getMotDePasse(): string - + getDateNaissance(): string - + setIdAthlete(idAthlete: int): void - + setNom(nom: string): void - + setPrenom(prenom: string): void - + setEmail(email: string): void - + setSexe(sexe: string): void - + setTaille(taille: float): void - + setPoids(poids: float): void - + setMotDePasse(motDePasse: string): void - + setDateNaissance(dateNaissance: string): void -} -class AtheletGateway { - + __construct(connection: Connection) - + getAthlete(): ?array - + getAthleteById(userId: int): ?array - + getAthleteByName(name: string): ?array - + getAthleteByFirstName(firstName: string): ?array - + getAthleteByEmail(email: string): ?array - + getAthleteByGender(gender: string): ?array - + getAthleteByHeight(height: int): ?array - + getAthleteByWeight(weight: int): ?array - + getAthleteByBirthDate(birthdate: string): ?array - + addAthlete(athlete: AthleteEntity): bool - + updateAthlete(oldAthlete: AthleteEntity, newAthlete: AthleteEntity): bool - + deleteAthlete(idAthlete: int): bool -} -class AthleteMapper { - + fromSqlToEntity(data: array): array - + athleteEntityToModel(athleteEntity: AthleteEntity): User - + athleteToEntity(user: User): AthleteEntity -} -class CoachEntity { - - idCoach: int - - nom: string - - prenom: string - - email: string - - sexe: string - - taille: float - - poids: float - - motDePasse: string - - dateNaissance: string - + getIdCoach(): int - + getNom(): string - + getPrenom(): string - + getEmail(): string - + getSexe(): string - + getTaille(): float - + getPoids(): float - + getMotDePasse(): string - + getDateNaissance(): string - + setIdCoach(idCoach: int): void - + setNom(nom: string): void - + setPrenom(prenom: string): void - + setEmail(email: string): void - + setSexe(sexe: string): void - + setTaille(taille: float): void - + setPoids(poids: float): void - + setMotDePasse(motDePasse: string): void - + setDateNaissance(dateNaissance: string): void -} -class CoachGateway { - + __construct(connection: Connection) - + getCoach(): ?array - + getCoachById(userId: int): ?array - + getCoachByName(name: string): ?array - + getCoachByFirstName(firstName: string): ?array - + getCoachByEmail(email: string): ?array - + getCoachByGender(gender : string): ?array - + getCoachByHeight(height: int): ?array - + getCoachByBirthDate(birthdate: string): ?array - + addCoach(coach: CoachEntity): bool - + updateCoach(oldCoach: CoachEntity, newCoach: CoachEntity): bool - + deleteCoach(idCoach: int): bool -} -class CoachMapper { - + map(data: array): CoachEntity - + CoachEntityToModel(coachEntity: CoachEntity): User - + CoachToEntity(user: User): CoachEntity -} -class Connection extends PDO { - - stmt - + __construct(dsn: string, username: string, password: string) - + executeQuery(query: string, parameters: array): bool - + executeWithErrorHandling(query: string, params: array): array - + getResults(): array -} - -Connection <- ActiviteGateway : connection -Connection <- AtheletGateway : connection -Connection <- CoachGateway : connection -AthleteMapper -> AthleteEntity -CoachMapper -> CoachEntity -ActiviteMapper -> ActiviteEntity -ActiviteMapper -> ActiviteGateway -CoachMapper -> CoachGateway -AthleteMapper -> AtheletGateway -@enduml -``` \ No newline at end of file