upadate diagrams
continuous-integration/drone/push Build is failing Details

WORK-KMO-Gateway
Antoine PEREDERII 1 year ago
parent 18fcf85be9
commit 9b1ca87c73

@ -1,91 +0,0 @@
[retour au README.md](../../../README.md)
[Retour aux Documents](../../README_DOCUMENTS.md)
[Retour au diagramme de classes](../README_DIAGRAMMES.md)
# Introduction au Diagramme de Classes : Gestion des Utilisateurs et Notifications
Bienvenue dans le cœur de notre système, où la gestion des utilisateurs et des notifications prend vie à travers ce diagramme de classes. Explorez les relations et les fonctionnalités essentielles qui orchestrent l'interaction entre les utilisateurs, les demandes d'amis, et les notifications.
**Entités Principales :**
- **Utilisateur (User) :** Représente les individus inscrits sur notre plateforme, caractérisés par leur nom et établissant des liens d'amitié avec d'autres utilisateurs.
- **Notification (Notification) :** Contient le texte informatif des notifications qui peuvent être émises par le système.
- **Demande d'Ami (Ask) :** Modélise une demande d'amitié émise par un utilisateur en direction d'un autre.
**Interfaces et Classes Abstraites :**
- **INotifier :** Interface définissant la méthode `notify()`, implémentée par des classes concrètes pour gérer la notification aux observateurs.
- **Observer :** Interface définissant la méthode `update()`, implémentée par les classes qui souhaitent être informées des changements dans un sujet observé.
- **UserManager :** Classe abstraite gérant la logique métier liée aux utilisateurs, tels que l'ajout ou la suppression d'amis, la réponse aux demandes d'amis, et la récupération de la liste d'amis.
- **IUserRepository :** Interface définissant les méthodes pour la recherche d'utilisateurs et l'ajout d'un nouvel utilisateur.
**Relations Clés :**
- Les utilisateurs peuvent avoir plusieurs amis et plusieurs notifications.
- La classe UserManager est connectée à IUserRepository pour gérer les opérations liées aux utilisateurs.
- Observer et Subject sont des composants du modèle de conception "Observer", permettant la notification efficace des changements dans le système.
Plongez-vous dans ce diagramme pour découvrir comment notre application crée un écosystème social dynamique, permettant aux utilisateurs d'interagir, de rester informés et de développer des liens significatifs au sein de la communauté.
```plantuml
class User {
+ name : string
}
User "1" --> "*" User: friends
User "1" --> "*" Notification: notifications
User "1" --> "*" Ask: friendRequests
class Notification {
- text : string
}
interface INotifier {
+ notify() : void
}
INotifier --|> Observer
abstract class UserManager {
- currentUser : User
+ deleteFriend(userId : int) : void
+ addFriend(userId : int) : void
+ respondToFriendRequest(requestId : int, choice : bool) : void
+ getFriends(userId : int) : User[]
}
class Ask {
- fromUser : int
- toUser : int
}
Ask --|> Subject
abstract class Subject {
+ attach(o : Observer) : void
+ detach(o : Observer) : void
+ notify() : void
}
Subject "1" --> "*" Observer
interface Observer {
+ update() : void
}
UserManager ..> User
UserManager o-- IUserRepository
UserManager o-- INotifier
interface IUserRepository {
+ findByUsername(username : string) : User
+ addUser(user : User) : bool
}
IUserRepository ..> User
```

@ -1,8 +1,39 @@
[retour au README.md](../../../README.md) [retour au README.md](../../../README.md)
[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 : Gestion des Utilisateurs et Notifications
Bienvenue dans le cœur de notre système, où la gestion des utilisateurs et des notifications prend vie à travers ce diagramme de classes. Explorez les relations et les fonctionnalités essentielles qui orchestrent l'interaction entre les utilisateurs, les demandes d'amis, et les notifications.
**Entités Principales :**
- **Utilisateur (User) :** Représente les individus inscrits sur notre plateforme, caractérisés par leur nom et établissant des liens d'amitié avec d'autres utilisateurs.
- **Notification (Notification) :** Contient le texte informatif des notifications qui peuvent être émises par le système.
- **Demande d'Ami (Ask) :** Modélise une demande d'amitié émise par un utilisateur en direction d'un autre.
**Interfaces et Classes Abstraites :**
- **INotifier :** Interface définissant la méthode `notify()`, implémentée par des classes concrètes pour gérer la notification aux observateurs.
- **Observer :** Interface définissant la méthode `update()`, implémentée par les classes qui souhaitent être informées des changements dans un sujet observé.
- **UserManager :** Classe abstraite gérant la logique métier liée aux utilisateurs, tels que l'ajout ou la suppression d'amis, la réponse aux demandes d'amis, et la récupération de la liste d'amis.
- **IUserRepository :** Interface définissant les méthodes pour la recherche d'utilisateurs et l'ajout d'un nouvel utilisateur.
**Relations Clés :**
- Les utilisateurs peuvent avoir plusieurs amis et plusieurs notifications.
- La classe UserManager est connectée à IUserRepository pour gérer les opérations liées aux utilisateurs.
- Observer et Subject sont des composants du modèle de conception "Observer", permettant la notification efficace des changements dans le système.
Plongez-vous dans ce diagramme pour découvrir comment notre application crée un écosystème social dynamique, permettant aux utilisateurs d'interagir, de rester informés et de développer des liens significatifs au sein de la communauté.
## Diagramme de classe
- Ajout d'amis - Ajout d'amis
```plantuml ```plantuml
class User { class User {

@ -1,61 +0,0 @@
[retour au README.md](../../../README.md)
[Retour aux Documents](../../README_DOCUMENTS.md)
[Retour au diagramme de classes](../README_DIAGRAMMES.md)
```plantuml
@startuml
class User {
+ name : string
}
User "1" --> "*" User: friends
User "1" --> "*" Notification: notifications
User "1" --> "*" Ask: friendRequests
class Notification {
- text : string
}
interface INotifier {
+ notify() : void
}
INotifier --|> Observer
abstract class UserManager {
- currentUser : User
+ deleteFriend(userId : int) : void
+ addFriend(userId : int) : void
+ respondToFriendRequest(requestId : int, choice : bool) : void
+ getFriends(userId : int) : User[]
}
class Ask {
- fromUser : int
- toUser : int
}
Ask --|> Subject
abstract class Subject {
+ attach(o : Observer) : void
+ detach(o : Observer) : void
+ notify() : void
}
Subject "1" --> "*" Observer
interface Observer {
+ update() : void
}
UserManager ..> User
UserManager o-- IUserRepository
UserManager o-- INotifier
interface IUserRepository {
+ findByUsername(username : string) : User
+ addUser(user : User) : bool
}
IUserRepository ..> User
@enduml
```

@ -26,16 +26,25 @@ Bienvenue dans le processus dynamique de gestion des demandes d'amis au sein de
À travers ce diagramme de séquence, découvrez comment notre application gère efficacement le processus de gestion des demandes d'amis, offrant aux utilisateurs une expérience transparente et réactive lors de l'établissement de connexions sociales au sein de la plateforme. À travers ce diagramme de séquence, découvrez comment notre application gère efficacement le processus de gestion des demandes d'amis, offrant aux utilisateurs une expérience transparente et réactive lors de l'établissement de connexions sociales au sein de la plateforme.
```plantuml ````plantuml
@startuml
actor User as u actor User as u
boundary View as v boundary View as v
control Controller as c control Controller as c
entity Model as m entity Model as m
m->c:RecevoirDemandeAmi(idUser) m-->c: pendingRequests: Request[]
c->v:AfficherDemandeAmi(idUser)
v->u:PageDemandeAmi(idUser) c-->v: DisplayPendingRequests(pendingRequests)
u-->v:RepondreDemandeAmi(bool) v-->u: Show Friend Requests
v-->c:EnregistrerReponse(bool)
c-->m:EnvoyerReponse(bool) u->v: RespondToRequest(requestId, response)
``` v-->c: RecordResponse(requestId, response)
c->m: UpdateRequestStatus(requestId, response)
m-->c: updateStatus: success/failure
c-->v: NotifyUpdateResult(updateStatus)
v-->u: Show Response Result
@enduml
``````

@ -28,23 +28,4 @@ Bienvenue dans le processus dynamique de recherche d'amis au sein de notre appli
À travers ce diagramme de séquence, découvrez comment notre application facilite le processus de recherche d'amis, fournissant aux utilisateurs une interface conviviale et réactive pour élargir leur réseau social au sein de la plateforme. À travers ce diagramme de séquence, découvrez comment notre application facilite le processus de recherche d'amis, fournissant aux utilisateurs une interface conviviale et réactive pour élargir leur réseau social au sein de la plateforme.
```plantuml <img src="AjouterAmi.png" alt="Diagramme de Séquence : Recherche d'Amis" width="1000"/>
actor User as u
boundary View as v
control Controller as c
entity Model as m
u->v:/Friend
v->c:Get : /Friends
c->m:getFriends(userId)
m-->c::friends : User[]
c-->v:renderView(Friends)
v-->u:
u->v:input : name
v->c:Get : searchFriends? pseudo=name
c->m:searchUser(name:string)
m->m:notify(from : user, to : user, action : action)
m-->c:OK
c-->v:OK
v-->u:OK
```

@ -1,26 +0,0 @@
[retour au README.md](../../../README.md)
[Retour aux Documents](../../README_DOCUMENTS.md)
[Retour au diagramme de classes](../README_DIAGRAMMES.md)
````plantuml
@startuml
actor User as u
boundary View as v
control Controller as c
entity Model as m
m-->c: pendingRequests: Request[]
c-->v: DisplayPendingRequests(pendingRequests)
v-->u: Show Friend Requests
u->v: RespondToRequest(requestId, response)
v-->c: RecordResponse(requestId, response)
c->m: UpdateRequestStatus(requestId, response)
m-->c: updateStatus: success/failure
c-->v: NotifyUpdateResult(updateStatus)
v-->u: Show Response Result
@enduml
``````

@ -1,34 +0,0 @@
[retour au README.md](../../../README.md)
[Retour aux Documents](../../README_DOCUMENTS.md)
[Retour au diagramme de classes](../README_DIAGRAMMES.md)
```plantuml
@startuml
actor User as u
boundary View as v
control Controller as c
entity Model as m
u->v: Request Friends Page
v->c: Get /Friends
c->m: getFriends(userId)
alt successful retrieval
m-->c: friendsList: User[]
else retrieval failed
m-->c: error
end
c-->v: renderView(friendsList)
v-->u: Display Friends
u->v: clickDeleteFriend(idUser)
v->c: Post: deleteFriend(idUser)
c->m: deleteFriend(idUser)
alt successful deletion
m-->c: updatedFriendsList: User[]
else deletion failed
m-->c: error
end
c-->v: renderView(updatedFriendsList)
v-->u: Display Updated Friends
@enduml
```

@ -12,17 +12,11 @@
- [issue028 - Importation de fichiers .fit](DiagrammeDeClasses/README_issue028.md) - [issue028 - Importation de fichiers .fit](DiagrammeDeClasses/README_issue028.md)
- [issue030 - Cookies ](DiagrammeDeClasses/README_issue030.md) - [issue030 - Cookies ](DiagrammeDeClasses/README_issue030.md)
- [couche d'accès aux données](DiagrammeDeClasses/README_accesDonnees.md) - [couche d'accès aux données](DiagrammeDeClasses/README_accesDonnees.md)
- [Diagramme de classe pour l'ajout d'amis](DiagrammeDeClasses/README_ajoutAmi.md)
- [Social](DiagrammeDeClasses/Social.md)
## Diagrammes de séquence ## Diagrammes de séquence
- [Envoi de demande d'ami](DiagrammeDeSequence/README_demandeAmi.md) - [Envoi de demande d'ami](DiagrammeDeSequence/README_demandeAmi.md)
- [Accepter une demande d'ami](DiagrammeDeSequence/README_accepterAmi.md) - [Accepter une demande d'ami](DiagrammeDeSequence/README_accepterAmi.md)
- [Supprimer un ami](DiagrammeDeSequence/README_suppressionAmi.md) - [Supprimer un ami](DiagrammeDeSequence/README_suppressionAmi.md)
- [Repondre Amis](DiagrammeDeSequence/RepondreAmis.md)
- [supprimer Amis](DiagrammeDeSequence/SupprimerAmis.md)
<img src="DiagrammeDeSequence/AjouterAmis.png">
## Diagrammes de cas d'utilisation ## Diagrammes de cas d'utilisation
- [Cas d'utilisation pour la gestion du compte et des amitiés](CasUtilisations/README_gestionCompteAmitie.md) - [Cas d'utilisation pour la gestion du compte et des amitiés](CasUtilisations/README_gestionCompteAmitie.md)

Loading…
Cancel
Save