You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.2 KiB
4.2 KiB

API - ALL IN !
Contexte : Api pour le projet universitaire de troisieme année (B.U.T Informatique de Clermont-Ferrand) nommé All In.
Répartition du gitlab
Sources : Code de l'application
Documentation : Documentation de l'application
Diagramme de classes du modèle
classDiagram
direction LR;
class LargeImage{
+/Base64 : string
}
class User{
+/ Id : string
+/ Pseudo : string
+/ Mail : string
+/ Password : string
+ CreationDate : DateTime
+ AllCoins : int
~ AddGroup(group : Group) bool
~ RemoveGroup(group : Group) bool
}
User --> "1" LargeImage : Image
Group --> "1" LargeImage : Image
class Bet{
+/ Id : string
+/ Title : string
+/ Name : string
+/ Choices : List<string>
+/ Theme: string
+/ Status: bool
+ Description : string
+ StartDate : DateTime
+ EndDate : DateTime
}
Bet --> "*" User : Dictionary~User,Mise~
class Mise{
+ Cost : int
+ Choice : string
}
class Group{
+/ Id : string
+/ Name : string
+ CreationDate : DateTime
}
User --> "*" Group : groups
Diagramme de classes du modèle
classDiagram
direction LR;
class IGenericDataManager~T~{
<<interface>>
GetNbItems() Task~int~
GetItems(index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~T~~
GetItemById(id: string)
GetNbItemsByName(substring : string)
GetItemsByName(substring : string, index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~T~~
UpdateItem(oldItem : T, newItem : T) Task~T~~
AddItem(item : T) Task~T~
DeleteItem(item : T) Task~bool~
}
class IUsersManager{
<<interface>>
GetItemByMail(mail : string)
GetNbItemsByGroup(group : Group)
GetItemsByGroup(group : Group, index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~T~~
GetNbItemsByAllCoins(allCoins : int)
GetItemsByAllCoins(allCoins : int, index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~T~~
}
class IBetsManager{
<<interface>>
GetNbItemsByUser(user : User?)
GetItemsByUser(user : User?, index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~Bet?~~
GetNbItemsByDescription(description : string)
GetItemsByDescription(description : string, index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~Bet?~~
}
class IGroupsManager{
<<interface>>
}
IGenericDataManager~User?~ <|.. IUsersManager : T--User?
IGenericDataManager~Bet?~ <|.. IBetsManager : T--Bet?
IGenericDataManager~Group?~ <|.. IGroupsManager : T--Group?
class IDataManager{
<<interface>>
}
IUsersManager <-- IDataManager : UsersMgr
IBetsManager <-- IDataManager : BetsMgr
IGroupsManager <-- IDataManager : GroupsMgr
Diagramme de classes simplifié du Stub
classDiagram
direction TB;
IDataManager <|.. StubData
UsersManager ..|> IUsersManager
StubData --> UsersManager
BetsManager ..|> IBetsManager
StubData --> BetsManager
GroupsManager ..|> IGroupsManager
StubData --> GroupsManager
StubData --> "*" User
StubData --> "*" Bet
StubData --> "*" Group