Skip to content

Commit

Permalink
Modified runtime view
Browse files Browse the repository at this point in the history
  • Loading branch information
Felle33 committed Feb 4, 2024
1 parent e4d3c07 commit 857fd8a
Show file tree
Hide file tree
Showing 6 changed files with 70 additions and 47 deletions.
25 changes: 19 additions & 6 deletions UML/DD/sequence_diagrams/UC10_CreateBattle_runtime
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
// Suppose that the battle information are coherent and the educator has the permission of create a battle in that tournament
frame Create Battle

fontawesome6solid f390 WebApp
participant API Gateway
participant Battle Manager
database Battle DB
participant Mail manager

participantspacing 5
participant Github Manager
fontawesome f09b Github

activate WebApp

Expand All @@ -26,10 +25,24 @@ activate Battle DB
Battle DB-->Battle Manager: 5: success
deactivate Battle DB

Battle Manager->Mail manager: 6: sendMassMail(users_tournament)
Battle Manager->Github Manager: 6: createBattleRepository(request)

activate Github Manager

Github Manager->Github: 7: createRepository(name, files)
Github-->Github Manager: 8: success
Github Manager-->Battle Manager: 9: result
deactivate Github Manager

Battle Manager->Mail manager: 10: sendEmail(users_tournament, content)

activate Mail manager
Mail manager-->Battle Manager: 11: result
deactivate Mail manager

else
Battle Manager->Battle Manager: error()
end
Battle Manager-->API Gateway: 7: result
API Gateway-->WebApp: 8: result
Battle Manager-->API Gateway: 11: result
API Gateway-->WebApp: 12: result
deactivate API Gateway
8 changes: 4 additions & 4 deletions UML/DD/sequence_diagrams/UC11_AssignPersonalScore_runtime
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,18 @@ database Battle DB
participantspacing 5

activate WebApp
WebApp->API Gateway: 1: getTeams(id_battle)
WebApp->API Gateway: 1: getTeamsOfBattle(id_battle)
activate API Gateway
API Gateway->Battle Manager: 2: getTeams(id_battle)
API Gateway->Battle Manager: 2: getTeamsOfBattle(id_battle)
activate Battle Manager
Battle Manager->Battle DB: 3: executeQuery(id_battle)
alt id_battle == valid
Battle DB-->Battle Manager: 4: success
Battle Manager-->API Gateway: 5: result
API Gateway-->WebApp: 6: result

WebApp->API Gateway: 7: assignPersonalScore(id_team, score)
API Gateway->Battle Manager: 8: assignPersonalScore(id_team, score)
WebApp->API Gateway: 7: assignPersonalScore(id_team, score, id_user)
API Gateway->Battle Manager: 8: assignPersonalScore(id_team, score, id_user)

alt edu_cond==true && score_cond==true && battle_cond==true
// Query to update the score of students
Expand Down
24 changes: 15 additions & 9 deletions UML/DD/sequence_diagrams/UC12_CreateTournament_runtime
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ participant Mail Manager
participantspacing 5

activate WebApp
WebApp->API Gateway: 1: createTournament(tournament)
WebApp->API Gateway: 1: newTournament(tournament)
activate API Gateway
API Gateway->Tournament Manager: 2: createTournament(tournament)
API Gateway->Tournament Manager: 2: newTournament(tournament)
activate Tournament Manager
Tournament Manager->Tournament Manager: 3: checkTournament(tournament)

Expand All @@ -22,20 +22,26 @@ alt valid_content == true && valid_badges == true
Tournament Manager->Tournament DB: 4: executeQuery(tournament)

Tournament DB-->Tournament Manager: 5: success
Tournament Manager->Mail Manager: 6: sendMassMail(CKB_users, content)
Tournament Manager->Badges Manager: 7: createBadges(badges)
Tournament Manager->Mail Manager: 6: mailAllStudents(content)
activate Mail Manager
Mail Manager-->Tournament Manager: 7: result
deactivate Mail Manager
Tournament Manager->Badges Manager: 8: createBadges(badges)
activate Badges Manager

// Insert new badges
Badges Manager->Badges DB: 8: executeQuery(badges)
Badges Manager->Badges DB: 9: executeQuery(badges)
activate Badges DB
Badges DB-->Badges Manager: 10: success
deactivate Badges DB

Badges DB-->Badges Manager: 9: success
Badges Manager-->Tournament Manager: 10: result
Badges Manager-->Tournament Manager: 11: result
deactivate Badges Manager
else
Tournament Manager->Tournament Manager: error()
end
Tournament Manager-->API Gateway: 11: result
Tournament Manager-->API Gateway: 12: result
deactivate Tournament Manager
API Gateway-->WebApp: 12: result
API Gateway-->WebApp: 13: result
deactivate WebApp
deactivate API Gateway
26 changes: 16 additions & 10 deletions UML/DD/sequence_diagrams/UC13_CloseTournament_runtime
Original file line number Diff line number Diff line change
Expand Up @@ -12,37 +12,43 @@ participant Mail Manager
participantspacing 5

activate WebApp
WebApp->API Gateway: 1: closeTournament(id_tournament)
WebApp->API Gateway: 1: closeTournament(id_tournament, id_user)
activate API Gateway
API Gateway->Tournament Manager: 2: closeTournament(id_tournament)
API Gateway->Tournament Manager: 2: closeTournament(id_tournament, id_user)
activate Tournament Manager

alt is_creator == true && all_battles_finished == true
Tournament Manager->Battle Manager: 3: getAllUsersPoints(id_tournament)
alt is_creator == id_user && all_battles_finished == true

Tournament Manager->Battle Manager: 3: canCloseTournament(id_tournament)
activate Battle Manager
// Get points of all the teams

Battle Manager->Battle DB: 4: executeQuery(id_tournament)

activate Battle DB
Battle DB-->Battle Manager: 5: success
deactivate Battle DB

Battle Manager-->Tournament Manager: 6: result
deactivate Battle Manager

// Update tournament
Tournament Manager->Tournament DB: 7: executeQuery(id_tournament, user, score)
Tournament Manager->Tournament DB: 7: executeQuery(id_tournament)
activate Tournament DB
Tournament DB-->Tournament Manager: 8: success
deactivate Tournament DB

Tournament Manager->Mail Manager: 9: sendMassMail(tournament_users, content)
Tournament Manager->Mail Manager: 9: sendEmail(tournament_users, content)

activate Mail Manager
Mail Manager-->Tournament Manager: 10: result
deactivate Mail Manager

else
Tournament Manager->Tournament Manager: error()
end
Tournament Manager-->API Gateway: 10: result
Tournament Manager-->API Gateway: 11: result
deactivate Tournament Manager

API Gateway-->WebApp: 11: result
API Gateway-->WebApp: 12: result
deactivate WebApp
deactivate API Gateway

6 changes: 3 additions & 3 deletions UML/DD/sequence_diagrams/UC14_GrantPermission_runtime
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ participant Mail Manager
participantspacing 5

activate WebApp
WebApp->API Gateway: 1: grantPermission(id_tournament, id_educator)
WebApp->API Gateway: 1: createPermission(id_tournament, id_user, id_educator)
activate API Gateway
API Gateway->Tournament Manager: 2: grantPermission(id_tournament, id_educator)
API Gateway->Tournament Manager: 2: grantPermission(id_tournament, id_user, id_educator)
activate Tournament Manager

alt sender_has_permission == true
alt id_educator == id_tournament_creator
Tournament Manager->Mail Manager: 3: sendEmail(id_educator, content)
activate Mail Manager
Mail Manager-->Tournament Manager: 4: result
Expand Down
28 changes: 13 additions & 15 deletions UML/DD/sequence_diagrams/UC9_ApiCall_runtime
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,34 @@ frame API Call

fontawesome f09b Github
participant API Gateway
participant Github Manager
participant Solution Evaluation Service
participant Battle Manager
database Battle DB

participantspacing 5

Github->API Gateway: 1: apiCall(id_battle, id_team)
Github->API Gateway: 1: evaluate(repository_url, id_team)
activate API Gateway
API Gateway->Solution Evaluation Service: 2: evaluateSolution(id_battle, id_team)
API Gateway->Solution Evaluation Service: 2: evaluate(repository_url, id_team)
deactivate API Gateway
activate Solution Evaluation Service
Solution Evaluation Service->Github Manager: 3: fetchSolution(id_team)
activate Github Manager
Github Manager->Github: 4: git_pull()
Github-->Github Manager: 5: result
Github Manager-->Solution Evaluation Service: 6: result
deactivate Github Manager
Solution Evaluation Service->Github: 3: cloneSolution(repository_url)

Solution Evaluation Service->Solution Evaluation Service: 7: checkSumbission(submission)
Github-->Solution Evaluation Service: 4: cloneSolution(repository_url)

Solution Evaluation Service->Solution Evaluation Service: 5: checkSubmission(submission)

alt team_registered == true && date < submission_deadline && battle_started == true
Solution Evaluation Service->Battle Manager: 8: assignScore(id_team, score)
deactivate Solution Evaluation Service
Solution Evaluation Service->Battle Manager: 6: assignScore(id_team, score)
activate Battle Manager
// Update Query
Battle Manager->Battle DB: 9: executeQuery(id_team, score)
Battle Manager->Battle DB: 7: executeQuery(id_team, score)
activate Battle DB
Battle DB-->Battle Manager: 10: success

Battle DB-->Battle Manager: 8: success
deactivate Battle DB

Battle Manager-->Solution Evaluation Service: 9: result
deactivate Battle Manager
deactivate Solution Evaluation Service

end

0 comments on commit 857fd8a

Please sign in to comment.