-
Notifications
You must be signed in to change notification settings - Fork 1
Sequence Diagrams
Muhammet Emin Çiftçi edited this page Oct 14, 2024
·
26 revisions
This is a generic sequence. Other models follows this.
sequenceDiagram
Viewset->>+Controller: create(RequestObject)
Controller->>+Serializer: create(RequestObject)
Serializer->>+Model: create(SerialObject)
Model->>+Database: create(ModelObject)
alt saving is successful
Database-->>Model: success
Model-->>Serializer: success
Serializer-->>Controller: success
Controller-->>Viewset: success
else
Database-->>Model: failure
Model-->>Serializer: failure
Serializer-->>Viewset: failure
Controller-->>Viewset: failure
end
sequenceDiagram
loop For each Quiz Question
loop For question word for each question choice
Registered User->>+BabelNetClient: fetch_synsets(keyword)
BabelNetClient->>+BabelNetAPI:get_synsets(keyword, api_key)
BabelNetAPI-->>BabelNetClient: translation list
BabelNetClient-->>Registered User: translation list
end
end
Registered User->>+QuizViewset: create(QuizQuestion)
alt saving is successful
QuizViewset-->>Registered User: success
else
QuizViewset-->>Registered User: failure
end
sequenceDiagram
Registered User->>+BabelNetClient: fetch_synsets(keyword)
BabelNetClient->>+BabelNetAPI:get_synsets(keyword, api_key)
BabelNetAPI-->>BabelNetClient: entity list
BabelNetClient-->>Registered User: entity list
Registered User->>+ForumQuestionViewset: create(ForumQuestion)
alt
ForumQuestionViewset-->>Registered User: success
else
ForumQuestionViewset-->>Registered User: failure
end
sequenceDiagram
Registered User->>+BabelNetClient: fetch_synsets(keyword)
BabelNetClient->>+BabelNetAPI:get_synsets(keyword, api_key)
BabelNetAPI-->>BabelNetClient: entity list
BabelNetClient-->>Registered User: entity list
Registered User->>+ForumQuestionFeedViewset: get(entityId)
alt
ForumQuestionFeedViewset-->>Registered User: success
else
ForumQuestionFeedViewset-->>Registered User: failure
end
sequenceDiagram
Registered User->>+ForumQuestionBookmarkViewset: bookmark_question(questionId)
alt
ForumQuestionBookmarkViewset-->>Registered User: success
else
ForumQuestionBookmarkViewset-->>Registered User: failure
end
sequenceDiagram
Registered User->>+BabelNetClient: fetch_synsets(keyword)
BabelNetClient->>+BabelNetAPI:get_synsets(keyword, api_key)
BabelNetAPI-->>BabelNetClient: entity list
BabelNetClient-->>Registered User: entity list
Registered User->>+QuizFeedViewset: get(entityId)
alt
QuizFeedViewset-->>Registered User: success
else
QuizFeedViewset-->>Registered User: failure
end
sequenceDiagram
Registered User->>+UserInfoViewset: getUser(username)
alt
UserInfoViewset-->>Registered User: success
else
UserInfoViewset-->>Registered User: failure
end
Registered User->>+BlockViewset: blockUser(username)
alt
BlockViewset-->>Registered User: success
else
BlockViewset-->>Registered User: failure
end
sequenceDiagram
Registered User->>+UserInfoViewset: getUser(username)
alt
UserInfoViewset-->>Registered User: success
else
UserInfoViewset-->>Registered User: failure
end
Registered User->>+FollowViewset: followUser(username)
alt
FollowViewset-->>Registered User: success
else
FollowViewset-->>Registered User: failure
end
sequenceDiagram
Registered User->>ContentController: getPost(post)
ContentController->>+Database: retrieve post from database
Database-->>ContentController: post
alt success
ContentController->>Wikidata: getInfoBox(qid: String)
Wikidata-->>ContentController: success
ContentController-->>Registered User: success
else failure
Database-->>-ContentController: failure
ContentController-->>Registered User: failure
end
sequenceDiagram
Registered User->>+ContentController: getPost(post_id)
ContentController->>+ Database: get post
Activate Registered User
alt saving is successful
Database-->>ContentController: Post
ContentController-->>Registered User: Post
Registered User->>ContentController: bookmarkPost(post)
ContentController->>+ Database: save bookmark action into database
Database-->>ContentController: success
ContentController-->>Registered User: success
else failure
Database-->>-ContentController: failure
ContentController-->>-Registered User: failure
end
Deactivate Registered User
sequenceDiagram
Registered User->>+ UserController: getUser(username)
Activate Registered User
UserController->>+ Database: get user profile
alt user blocking is successful
Database-->>UserController: profile
UserController -->> Registered User: profile
Registered User->> UserController: blockUser(username)
UserController->> Database: save the block action
Database-->>UserController: success
UserController -->> Registered User: success
else failure
Database-->>-UserController: failure
UserController-->>-Registered User: failure
end
Deactivate Registered User
sequenceDiagram
Registered User->>+ UserController: login(username: String, password: String)
Activate Registered User
UserController->>+ Database: verify credentials
alt reset password is successful
Database-->>UserController: success
UserController -->> Registered User: success
Registered User->> UserController: update(password)
UserController->> Database: save the reset action
Database-->>UserController: success
UserController -->> Registered User: success
else failure
Database-->>-UserController: failure
UserController-->>-Registered User: failure
end
Deactivate Registered User
sequenceDiagram
Registered User->>+ContentController: getPost(post_id)
ContentController->>+ Database: get post
Activate Registered User
alt saving is successful
Database-->>ContentController: Post
ContentController-->>Registered User: Post
Registered User->>ContentController: likePost(post)
ContentController->>+ Database: save like action into database
Database-->>ContentController: success
ContentController-->>Registered User: success
else failure
Database-->>-ContentController: failure
ContentController-->>-Registered User: failure
end
Deactivate Registered User
sequenceDiagram
Registered User->>+ ProfileController: getProfile(username)
ProfileController->>+ Database: get profile
Activate Registered User
alt user followed successfully
Database-->>ProfileController: Profile
ProfileController -->> Registered User: Profile
Registered User->> ProfileController: followUser(profile)
ProfileController->>+ Database: save the follow action
Database-->>ProfileController: success
ProfileController -->> Registered User: success
else failure
Database-->>-ProfileController: failure
ProfileController-->>-Registered User: failure
end
Deactivate Registered User
sequenceDiagram
Registered User->>+ ProfileController: getProfile(username)
ProfileController->>+ Database: get profile
Activate Registered User
alt profile updated successfully
Database-->>ProfileController: Profile
ProfileController -->> Registered User: Profile
Registered User->> ProfileController: update(profile)
ProfileController->>+ Database: save the new profile action
Database-->>ProfileController: success
ProfileController -->> Registered User: success
else failure
Database-->>-ProfileController: failure
ProfileController-->>-Registered User: failure
end
Deactivate Registered User
Turquiz App
DONE
- Lab Report #1
- Lab Report #2
- Lab Report #3
- Lab Report #4
- Lab Report #5
- Lab Report #6
- Lab Report #7
- Lab Report for Lab 9
- Lab Meeting #1
- Meeting #1
- Lab Meeting #2
- Meeting #2
- Project Plan Meeting
- Frontend Meeting #1
- Lab Meeting #3
- Meeting #3
- Meeting #4
- Lab Meeting #4
- Meeting #5
- Meeting #6
- Meeting #7
- Meeting #8
- User Scenario 1 - Explore and Register
- User Scenario 2 - Search for a Quiz & Create a Quiz
- User Scenario 3 - Take & Review a Quiz
- User Scenario 4 - Search Forum & Bookmark & Upvote & Answer
- User Scenario 5 - User Badges
- User Scenario Template
- User Stories