@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml
@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
@enduml
SEQUENCE DIAGRAM
6235414461415424
New Mobile AppNew Mobile AppUserUserReseller UIReseller UIDatabaseDatabase1Send me the TOTP reset link2TOTP reset link sent toyour email address3Visit the TOTP reset link4Ask for username andpassword5Input the correct usernameand password6Give the user a button to reset the TOTP7Click on the reset TOTP button8Generate a new secret keyfor this user9Setup the TOTP with the new secret key10Verify the TOTP11Disable the old secret key for this user
SEQUENCE DIAGRAM
6242081324400640
New Mobile AppNew Mobile AppUserUserReseller UIReseller UIDatabaseDatabase1Send me the TOTP reset link2TOTP reset link sent toyour email address3Visit the TOTP reset link4Ask for username andpassword5Input the correct usernameand password6Give the user a button to reset the TOTP7Click on the reset TOTP button8Generate a new secret keyfor this user9Setup the TOTP with the new secret key10Verify the TOTP11Disable the old secret key for this user
@startuml
autonumber
participant "New Mobile App" as token
actor User as user
participant "Reseller UI" as reseller_ui
participant "Database" as db
user -> reseller_ui : Send me the TOTP reset link
user <- reseller_ui : TOTP reset link sent to \n your email address
user -> reseller_ui : Visit the TOTP reset link
user <- reseller_ui : Ask for username and \n password
user -> reseller_ui : Input the correct username \n and password
user <- reseller_ui : Give the user a button to reset the TOTP
user -> reseller_ui : Click on the reset TOTP button
reseller_ui -> db : Generate a new secret key \n for this user
user <-> reseller_ui : Setup the TOTP with the new secret key
user <-> reseller_ui : Verify the TOTP
reseller_ui -> db : Disable the old secret key for this user
@enduml
SEQUENCE DIAGRAM
6242081324400640
UserUserResource Consumer (Native App)Resource Consumer (Native App)ExternalBrowserExternalBrowserEmbeddedBrowserEmbeddedBrowserAuthorization ServerAuthorization ServerResource ServerResource ServerTake action that requires Authorization to RSObtain username and password for AuthZPresent username and passwordReturn Access TokenDiscard Username & PasswordloopFetch protected resource w/Access Token.Return protected resource.
SEQUENCE DIAGRAM
6243113458728960
UserUserResource Consumer (Native App)Resource Consumer (Native App)ExternalBrowserExternalBrowserEmbeddedBrowserEmbeddedBrowserAuthorization ServerAuthorization ServerResource ServerResource ServerTake action that requires Authorization to RSObtain username and password for AuthZPresent username and passwordReturn Access TokenDiscard Username & PasswordloopFetch protected resource w/Access Token.Return protected resource.
@startuml
hide footbox
actor User
User -> RF: Start of test case
RF->PSTT: Syn
RF<-PSTT: Syn Ack
RF->PSTT: Ack
...
RF<->PSTT: Commands
...
RF -> PSTT: FIN
RF <- PSTT: FIN Ack
RF -> PSTT: Ack
User <- RF: End of test case
@enduml
SEQUENCE DIAGRAM
6247403325751296
User Submits a Pull RequestUserUserPullRequestClientPullRequestClientPsychicOctoRobotServerPsychicOctoRobotServerGitServerGitServerNode.js server which serves thewebpages requested by the user.requests page forsubmitting apull requestweb page forPullRequestClientThe PullRequestClient is aJavascript client made of js-gitand our code bundled with browserifyalt[Contact GitServer Directly]Requests index ofall branches inrepos accessible bythe userIndex info[Get Repo Index through PsychicOctoRobotServer]Requests index ofall branches inrepos accessible bythe userRequests index ofall branches inrepos accessible bythe userIndex infoIndex infoDisplays branch indexof remote reposuser has access toselects branch todo a pull request forDisplays prompt forparent branch for diffSelects parent branchloop[for each branch]alt[Contact GitServer Directly]Requests latest repo versionRepo[Get Repo Index through PsychicOctoRobotServer]Requests latest repo versionRequests latest repo versionRepoRepoCalculates diffsDisplays diffsAccepts changes and makes a comment/messagealt[Contact GitServer Directly]Submit pull requestConfirmation[Get Repo Index through PsychicOctoRobotServer]Submit pull requestSubmit pull requestConfirmationConfirmationDisplays message notifying user of success/failure
SEQUENCE DIAGRAM
6250233172328448
User Submits a Pull RequestUserUserPullRequestClientPullRequestClientPsychicOctoRobotServerPsychicOctoRobotServerGitServerGitServerNode.js server which serves thewebpages requested by the user.requests page forsubmitting apull requestweb page forPullRequestClientThe PullRequestClient is aJavascript client made of js-gitand our code bundled with browserifyalt[Contact GitServer Directly]Requests index ofall branches inrepos accessible bythe userIndex info[Get Repo Index through PsychicOctoRobotServer]Requests index ofall branches inrepos accessible bythe userRequests index ofall branches inrepos accessible bythe userIndex infoIndex infoDisplays branch indexof remote reposuser has access toselects branch todo a pull request forDisplays prompt forparent branch for diffSelects parent branchloop[for each branch]alt[Contact GitServer Directly]Requests latest repo versionRepo[Get Repo Index through PsychicOctoRobotServer]Requests latest repo versionRequests latest repo versionRepoRepoCalculates diffsDisplays diffsAccepts changes and makes a comment/messagealt[Contact GitServer Directly]Submit pull requestConfirmation[Get Repo Index through PsychicOctoRobotServer]Submit pull requestSubmit pull requestConfirmationConfirmationDisplays message notifying user of success/failure
@startuml
title User Submits a Pull Request
actor User
participant PullRequestClient
participant PsychicOctoRobotServer
note right of PsychicOctoRobotServer
Node.js server which serves the
webpages requested by the user.
end note
User -> PsychicOctoRobotServer : requests page for \n submitting a \n pull request
PsychicOctoRobotServer -> User : web page for \n PullRequestClient
note right
The PullRequestClient is a
Javascript client made of js-git
and our code bundled with browserify
end note
alt Contact GitServer Directly
PullRequestClient -> GitServer : Requests index of \n all branches in \n repos accessible by \n the user
GitServer -> PullRequestClient : Index info
else Get Repo Index through PsychicOctoRobotServer
PullRequestClient -> PsychicOctoRobotServer : Requests index of \n all branches in \n repos accessible by \n the user
PsychicOctoRobotServer -> GitServer : Requests index of \n all branches in \n repos accessible by \n the user
GitServer -> PsychicOctoRobotServer : Index info
PsychicOctoRobotServer -> PullRequestClient : Index info
end
PullRequestClient -> User : Displays branch index \n of remote repos \n user has access to
User -> PullRequestClient : selects branch to \n do a pull request for
PullRequestClient -> User : Displays prompt for \n parent branch for diff
User -> PullRequestClient : Selects parent branch
loop for each branch
alt Contact GitServer Directly
PullRequestClient -> GitServer : Requests latest repo version
GitServer -> PullRequestClient : Repo
else Get Repo Index through PsychicOctoRobotServer
PullRequestClient -> PsychicOctoRobotServer : Requests latest repo version
PsychicOctoRobotServer -> GitServer : Requests latest repo version
GitServer -> PsychicOctoRobotServer : Repo
PsychicOctoRobotServer -> PullRequestClient : Repo
end
end
PullRequestClient -> PullRequestClient : Calculates diffs
PullRequestClient -> User : Displays diffs
User -> PullRequestClient : Accepts changes and makes a comment/message
alt Contact GitServer Directly
PullRequestClient -> GitServer : Submit pull request
GitServer -> PullRequestClient : Confirmation
else Get Repo Index through PsychicOctoRobotServer
PullRequestClient -> PsychicOctoRobotServer : Submit pull request
PsychicOctoRobotServer -> GitServer : Submit pull request
GitServer -> PsychicOctoRobotServer : Confirmation
PsychicOctoRobotServer -> PullRequestClient : Confirmation
end
PullRequestClient -> User : Displays message notifying user of success/failure
@enduml
SEQUENCE DIAGRAM
6250233172328448
User Merges BranchUserUserMergeClientMergeClientPsychicOctoRobotServerPsychicOctoRobotServerNode.js server which serves thewebpages requested by the user.requests page formerging abranchweb page forMergeClientThe MergeClient is aJavascript client made of js-gitand our code bundled with browserifyreads local "git"directory to checkfor repositoriespresentDisplays documentsthat are trackedin repositories andare merge-ableselects documentrepository to mergeDisplays prompt forbranch to mergeand destination branchSelects merge branchesCalculates diffsDisplays diffsAccepts changesBegins mergingDisplays any merge conflictsSelects revisions to use for each conflictCompletes merge and commits locallyDisplays message notifying user of success/failure
SEQUENCE DIAGRAM
6251114177495040
User Merges BranchUserUserMergeClientMergeClientPsychicOctoRobotServerPsychicOctoRobotServerNode.js server which serves thewebpages requested by the user.requests page formerging abranchweb page forMergeClientThe MergeClient is aJavascript client made of js-gitand our code bundled with browserifyreads local "git"directory to checkfor repositoriespresentDisplays documentsthat are trackedin repositories andare merge-ableselects documentrepository to mergeDisplays prompt forbranch to mergeand destination branchSelects merge branchesCalculates diffsDisplays diffsAccepts changesBegins mergingDisplays any merge conflictsSelects revisions to use for each conflictCompletes merge and commits locallyDisplays message notifying user of success/failure
@startuml
title User Merges Branch
actor User
participant MergeClient
participant PsychicOctoRobotServer
note right of PsychicOctoRobotServer
Node.js server which serves the
webpages requested by the user.
end note
User -> PsychicOctoRobotServer : requests page for \n merging a \n branch
PsychicOctoRobotServer -> User : web page for \n MergeClient
note right
The MergeClient is a
Javascript client made of js-git
and our code bundled with browserify
end note
MergeClient -> MergeClient : reads local "git" \n directory to check \n for repositories \n present
MergeClient -> User : Displays documents \n that are tracked \n in repositories and \n are merge-able
User -> MergeClient : selects document \n repository to merge
MergeClient -> User : Displays prompt for \n branch to merge \n and destination branch
User -> MergeClient : Selects merge branches
MergeClient -> MergeClient : Calculates diffs
MergeClient -> User : Displays diffs
User -> MergeClient : Accepts changes
MergeClient -> MergeClient : Begins merging
MergeClient -> User : Displays any merge conflicts
User -> MergeClient : Selects revisions to use for each conflict
MergeClient -> MergeClient : Completes merge and commits locally
MergeClient -> User : Displays message notifying user of success/failure
@enduml
SEQUENCE DIAGRAM
6251114177495040
Diagramme de séquence d'enregistrement du travail effectuéUserSeancerunTraining(Exercice)OK
SEQUENCE DIAGRAM
6255542288777216
Diagramme de séquence d'enregistrement du travail effectuéUserSeancerunTraining(Exercice)OK
@startuml
hide footbox
actor User
title Diagramme de séquence d'enregistrement du travail effectué
User->Seance: runTraining(Exercice)
Seance->User: OK
@enduml
@startuml
skinparam backgroundColor #EEEBDC
skinparam sequenceArrowColor DeepSkyBlue
skinparam sequenceParticipantBorderColor DeepSkyBlue
skinparam sequenceActorBorderColor DeepSkyBlue
skinparam sequenceLifeLineBorderColor blue
actor User
participant "First Class" as A
participant "Second Class" as B
participant "Last Class" as C
User -> A: DoWork
activate A
@enduml
@startuml
actor User
User->App:log in
App->Server:makePostRequest()
Server->Database:loginUser()
Database-->Server:ResultSet
alt email exists
alt password is correct
Server-->App:HTTP Response(success:true, data)
else else
Server-->App:HTTP Response(success:false)
end
else else
Server-->App:HTTP Response(success:false)
end
@enduml
@startuml
skinparam backgroundColor #EEEBDC
skinparam sequenceArrowColor DeepSkyBlue
skinparam sequenceParticipantBorderColor DeepSkyBlue
skinparam sequenceActorBorderColor DeepSkyBlue
skinparam sequenceLifeLineBorderColor blue
actor User
participant "First Class" as A
participant "Second Class" as B
participant "Last Class" as C
User -> A: DoWork
activate A
A -> B: << createRequest >>
activate B
B -> C: DoWork
activate C
C --> B: WorkDone
destroy C
B --> A: Request <u>Created</u>
deactivate B
A --> User: Done
deactivate A
@enduml
@startuml
actor User
User->App:update settings
App->Server:makePostRequest()
Server->Database:updateSettings()
Database-->Server:ResultSet
alt login key is correct
Server-->App:HTTP Response(success:true)
else else
Server-->App:HTTP Response(success:false)
end
@enduml
SEQUENCE DIAGRAM
6328297961029632
ClientClientServiceCreditsAutomationImplServiceCreditsAutomationImplServiceCreditServiceBusinessServiceServiceCreditServiceBusinessServiceServiceCreditDataServiceServiceCreditDataServiceSQLServerExceptionHandlerSQLServerExceptionHandlermaintainNotificationConfigurationByNotificationConfigurationInfoverify input parameteralt[verification success case]maintainNotificationConfigurationByNotificationConfigurationalt[insert success]addNotificationConfigurationinsert successreturn SUCCESS[insert occur exception]handlebusiness status codejudge exception codealt[unique key constraint]updateNotificationConfigurationupdateNotificationConfigurationhandlebusiness status codereturn Business status code[other constraint]return Business status codereturn BusinessStatusCode[verification failure]return MAINTAIN_NOTIFICATION_CONFIG_ERROR_MISS_REQUIRED_FIELD[any exception]return FAILURE
SEQUENCE DIAGRAM
6329190777356288
ClientClientServiceCreditsAutomationImplServiceCreditsAutomationImplServiceCreditServiceBusinessServiceServiceCreditServiceBusinessServiceServiceCreditDataServiceServiceCreditDataServiceSQLServerExceptionHandlerSQLServerExceptionHandlermaintainNotificationConfigurationByNotificationConfigurationInfoverify input parameteralt[verification success case]maintainNotificationConfigurationByNotificationConfigurationalt[insert success]addNotificationConfigurationinsert successreturn SUCCESS[insert occur exception]handlebusiness status codejudge exception codealt[unique key constraint]updateNotificationConfigurationupdateNotificationConfigurationhandlebusiness status codereturn Business status code[other constraint]return Business status codereturn BusinessStatusCode[verification failure]return MAINTAIN_NOTIFICATION_CONFIG_ERROR_MISS_REQUIRED_FIELD[any exception]return FAILURE