diff --git a/.DS_Store b/.DS_Store index db51e67c..5f55793c 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/rapport/.DS_Store b/rapport/.DS_Store new file mode 100644 index 00000000..5118f24c Binary files /dev/null and b/rapport/.DS_Store differ diff --git a/rapport/class/claims_class_diagram.wsd b/rapport/class/claims_class_diagram.wsd new file mode 100644 index 00000000..ba5e52e9 --- /dev/null +++ b/rapport/class/claims_class_diagram.wsd @@ -0,0 +1,85 @@ +@startuml claims_class_diagram +Class user { +Int id +String name +String password +String username +String email +Bool enabled +String verification_code +JSON Login() +Bool Register() +} + +Class role{ +Int id +String name +} + +user .right.> role + + +Class SuperAdmin{} +Class Admin{} +Class SavManager{} +Class SavTechnicien{} +Class ScooterOwner{} + + +top to bottom direction +user <|-- SuperAdmin +user <|-- Admin +user <|-- SavManager +user <|-- SavTechnicien +user <|-- ScooterOwner + +Class Claim { +Int id +String title +String subject +String message +SavTechnicien[] technician_history +Status [] status_history +TimeStamp created +TimeStamp updated + +GetAllClaims() : Claim[] +GetMyClaims() : Claim[] +GetClaimDetails(Int id) : Claim +GetAllClaimsByStatus(Status status) : Claim[] +CreateClaim(Claim claim) : Bool +SetStatus(Status status) : Bool +AffectTechnician(SavTechnician) : Bool +Comment(Comment comment) : Bool + +} + +Class Comment{ +Int id +String message +TimeStamp created + +CreateComment(Comment comment) : Bool + +} + +Class Status{ +String name +String color +TimeStamp created + +GetAllStatus() : Status[] +CreateStatus(Status status) : Bool +UpdateStatus(Status status) : Bool +DeleteStatus(Status status) : Bool + +} + +Claim "*"--"*" SavTechnicien : in charge of +Claim "*"--"1" ScooterOwner : authors +Comment "*"--*"1" Claim +Comment "*"--*"1" user : Authors +Status "*"--"*" Claim + + +@enduml \ No newline at end of file diff --git a/rapport/sequence/claim_comment.wsd b/rapport/sequence/claim_comment.wsd new file mode 100644 index 00000000..3aff6c02 --- /dev/null +++ b/rapport/sequence/claim_comment.wsd @@ -0,0 +1,33 @@ +@startuml claims_consult_details_sequence_diagram + +actor "ScooterOwner\nSavManager\nSavTechnicien" as so +boundary Claims as cl +control ClaimsService as cs +entity Claim as c + +activate so +so -> cl : Comment(Comment) +activate cl +cl -> cs : Comment(Comment) +activate cs +cs -> c : Comment(Comment) +activate c +alt comment is added +c --> cs : commentAdded +deactivate c +cs --> cl : commentAdded +deactivate cs +cl --> so : commentAdded +deactivate cl +else comment is not added +c --> cs : commentNotAdded +deactivate c +cs --> cl : commentNotAdded +deactivate cs +cl --> so : commentNotAdded +deactivate cl +end +deactivate cl +deactivate so + +@enduml \ No newline at end of file diff --git a/rapport/sequence/claim_detail_history.wsd b/rapport/sequence/claim_detail_history.wsd new file mode 100644 index 00000000..365fb2a4 --- /dev/null +++ b/rapport/sequence/claim_detail_history.wsd @@ -0,0 +1,50 @@ +@startuml claims_consult_details_sequence_diagram + +actor "ScooterOwner\nSavManager\nSavTechnicien" as so +boundary Claims as cl +control ClaimsService as cs +entity Claim as c + +activate so +so -> cl : getClaimDetail(Id) +activate cl +cl -> cs : getClaimDetail(Id) +activate cs +cs -> c : getClaimDetail(Id) +activate c +alt claim is found +c --> cs : claimDetail +deactivate c +cs --> cl : claimDetail +deactivate cs +cl --> so : claimDetail +deactivate cl +else claim is not found +c --> cs : claimNotFound +deactivate c +cs --> cl : claimNotFound +deactivate cs +cl --> so : claimNotFound +deactivate cl +end +deactivate cl +deactivate so + +activate so +so -> cl : getClaimTechnicienHistory() +activate cl +cl -> cl : toggleTechnicienHistory() +activate cl +cl --> so : technicienHistory +deactivate cl + +activate so +so -> cl : getClaimStatusHistory() +activate cl +cl -> cl : toggleStatusHistory() +activate cl +cl --> so : statusHistory +deactivate cl + + +@enduml \ No newline at end of file diff --git a/rapport/sequence/savManager/get_all_claims.wsd b/rapport/sequence/savManager/get_all_claims.wsd new file mode 100644 index 00000000..6d5e5998 --- /dev/null +++ b/rapport/sequence/savManager/get_all_claims.wsd @@ -0,0 +1,22 @@ + +@startuml claims_sav_manager_sequence_diagram +actor SavManager as sm +boundary Claims as cl +control ClaimsService as cs +entity Claim as c + +activate sm +sm -> cl : getAllClaims() +activate cl +cl -> cs : getAllClaims() +activate cs +cs -> c : getAllClaims() +activate c +c --> cs : allClaims +deactivate c +cs --> cl : allClaims +deactivate cs +cl --> sm : allClaims +deactivate cl + +@enduml diff --git a/rapport/sequence/savManager/set_technician.wsd b/rapport/sequence/savManager/set_technician.wsd new file mode 100644 index 00000000..d5e2fca1 --- /dev/null +++ b/rapport/sequence/savManager/set_technician.wsd @@ -0,0 +1,33 @@ + +@startuml claims_sav_manager_sequence_diagram +actor SavManager as sm +boundary Claims as cl +control ClaimsService as cs +entity Claim as c + +activate sm +sm -> cl : AffectTechnician(Technicien) +activate cl +cl -> cs : AffectTechnician(Technicien) +activate cs +cs -> c : AffectTechnician(Technicien) +activate c +alt technicien is affected +c --> cs : technicienAffected +deactivate c +cs --> cl : technicienAffected +deactivate cs +cl --> sm : technicienAffected +deactivate cl +else technicien is not affected +c --> cs : technicienNotAffected +deactivate c +cs --> cl : technicienNotAffected +deactivate cs +cl --> sm : technicienNotAffected +deactivate cl +end +deactivate cl +deactivate sm + +@enduml \ No newline at end of file diff --git a/rapport/sequence/savTechnicien/get_my_claims.wsd b/rapport/sequence/savTechnicien/get_my_claims.wsd new file mode 100644 index 00000000..c15515a3 --- /dev/null +++ b/rapport/sequence/savTechnicien/get_my_claims.wsd @@ -0,0 +1,21 @@ +@startuml claims_my_claims_sequence_diagram +actor SavTechnicien as st +boundary Claims as cl +control ClaimsService as cs +entity Claim as c + +activate st +st -> cl : getMyClaims() +activate cl +cl -> cs : getMyClaims() +activate cs +cs -> c : getMyClaims() +activate c +c --> cs : myClaims +deactivate c +cs --> cl : myClaims +deactivate cs +cl --> st : myClaims +deactivate cl + +@enduml \ No newline at end of file diff --git a/rapport/sequence/savTechnicien/set_status.wsd b/rapport/sequence/savTechnicien/set_status.wsd new file mode 100644 index 00000000..fc4c9560 --- /dev/null +++ b/rapport/sequence/savTechnicien/set_status.wsd @@ -0,0 +1,30 @@ +@startuml claims_my_claims_sequence_diagram +actor SavTechnicien as st +boundary Claims as cl +control ClaimsService as cs +entity Claim as c +activate st +st -> cl : SetStatus(Status) +activate cl +cl -> cs : SetStatus(Status) +activate cs +cs -> c : SetStatus(Status) +activate c +alt status is set +c --> cs : statusSet +deactivate c +cs --> cl : statusSet +deactivate cs +cl --> st : statusSet +deactivate cl +else status is not set +c --> cs : statusNotSet +deactivate c +cs --> cl : statusNotSet +deactivate cs +cl --> st : statusNotSet +deactivate cl +end +deactivate cl +deactivate st +@enduml \ No newline at end of file diff --git a/rapport/sequence/scooterOwner/create_claim.wsd b/rapport/sequence/scooterOwner/create_claim.wsd new file mode 100644 index 00000000..cbed440b --- /dev/null +++ b/rapport/sequence/scooterOwner/create_claim.wsd @@ -0,0 +1,60 @@ +@startuml claims_sequence_diagram + +actor ScooterOwner as so +boundary Claims as cl +control ClaimsService as cs +entity Claim as c + +so -> cl : createClaim() +activate so +activate cl +cl -> cl : validateClaim() +activate cl + +alt claim is valid +cl -> cs : createClaim() +activate cs + +cs -> cs : validateClaim() +activate cl +alt claim is valid +cs -> c : createClaim() +activate c +alt claim is created +c --> cs : claimCreated +deactivate c +cs --> cl : claimCreated +deactivate cs +cl --> so : claimCreated +deactivate cl +else claim is not created +c --> cs : claimNotCreated +deactivate c +cs --> cl : claimNotCreated +deactivate cs +cl --> so : claimNotCreated +deactivate cl +end + +else claim is invalid +cl -> cl : notifyClaimInvalid() +activate cl +cl --> so : claimInvalid +deactivate cl +deactivate cl +deactivate so + +end +else claim is invalid +activate cs +cs -> cl : notifyClaimInvalid() +activate cl +cl --> so : claimInvalid +deactivate cs +deactivate cl +end +deactivate cl +deactivate so + + +@enduml diff --git a/rapport/sequence/scooterOwner/get_my_claims.wsd b/rapport/sequence/scooterOwner/get_my_claims.wsd new file mode 100644 index 00000000..81ee3519 --- /dev/null +++ b/rapport/sequence/scooterOwner/get_my_claims.wsd @@ -0,0 +1,25 @@ +@startuml claims_sequence_diagram + +actor ScooterOwner as so +boundary Claims as cl +control ClaimsService as cs +entity Claim as c + + + +activate so +so -> cl : getClaims() +activate cl +cl -> cs : getMyClaims() +activate cs +cs -> c : getMyClaims() +activate c +c --> cs : myClaims +deactivate c +cs --> cl : myClaims +deactivate cs +cl --> so : myClaims +deactivate cl +deactivate so + +@enduml diff --git a/rapport/use_case/claims_use_case.wsd b/rapport/use_case/claims_use_case.wsd new file mode 100644 index 00000000..53b94002 --- /dev/null +++ b/rapport/use_case/claims_use_case.wsd @@ -0,0 +1,53 @@ +@startuml claims_use_case +left to right direction +skinparam packageStyle rect +skinparam shadowing false + +actor User as u +actor SuperAdmin as sa +actor Admin as a +actor SAVTechnicien as st +actor SavManager as sm +actor ScooterOwner as so + + +u <|-- sa +u <|-- a +u <|-- st +u <|-- so +package claims { +( Manage claims 'Technicien' ) as mgc +( Affect claim to SAVTechnicien ) as mgca +( Comment claim ) as mgcc +( Manage claim 'Manager' ) as mgccm +( Consult my claim details ) as mgccd +( Consult claim status history ) as mgccds +( Consult claim technician history ) as mgccdt +( Consult all claims details ) as mgccda +( Change claim status ) as mgccs +( Consult my claims ) as cmc + +( Create claim ) as cc +} + +left to right direction + + +st --> mgc +st <|--sm +so --> cc +so --> cmc +sm --> mgccm +mgccm <.. mgca :extends +mgccm <.. mgccda : extends +mgc <.. mgcc : extends +mgc <.. mgccd : extends +mgccd <.. mgccds : extends +mgccd <.. mgccdt : extends +mgccda <.. mgccds : extends +mgccda <.. mgccdt : extends +mgc <.. mgccs : extends +cmc <.. mgcc :extends +cmc <.. mgccds : extends +cmc <.. mgccdt : extends +@enduml \ No newline at end of file