-
Notifications
You must be signed in to change notification settings - Fork 1
Sequence Diagrams
Oğuz Kağnıcı edited this page Oct 15, 2024
·
7 revisions
sequenceDiagram
actor User
participant UserInterface
participant Database
User->>UserInterface: createPost(title, content, category, challenged_post)
UserInterface->>Database: savePost(user_id, title, content, category, challenged_post)
alt Success
Database-->>UserInterface: <OK>
UserInterface-->>User: Post created successfully.
else Failure
Database-->>UserInterface: <ERROR>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant Database
User ->>UserInterface: deletePost(post_id)
UserInterface->>Database: deletePost(post_id)
alt Success
Database-->>UserInterface: <OK>
UserInterface-->>User: Post deleted successfully.
else Failure
Database-->>UserInterface: <ERROR>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant Database
User ->>UserInterface: viewPost(post_id)
UserInterface->>Database: getPostDetails(post_id)
alt Success
Database-->>UserInterface: <OK, content, post_type, comments>
alt Text-Only Post
UserInterface-->>User: displayContent(content)
UserInterface-->>User: displayComments(comments)
else Visual Post
UserInterface-->>User: displayContent(content)
UserInterface-->>User: displayComments(comments)
UserInterface-->>User: display3DModelViewer(model_file)
end
else Failure
Database-->>UserInterface: <ERROR>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant Database
User ->>UserInterface: likePost(post_id, value)
UserInterface->>Database: likePost(user_id, post_id, value)
alt Success
Database-->>UserInterface: <OK, post_likes>
UserInterface-->>User: displayPostLikes(post_id)
else Failure
Database-->>UserInterface: <ERROR>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant Database
User ->>UserInterface: bookmarkPost(post_id)
UserInterface->>Database: bookmarkPost(user_id, post_id)
alt Success
Database-->>UserInterface: <OK>
UserInterface-->>User: Bookmark added successfully.
else Failure
Database-->>UserInterface: <ERROR>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant Database
User->>UserInterface: createComment(post_id, content)
UserInterface->>Database: saveComment(user_id, post_id, content)
alt Success
Database-->>UserInterface: <OK>
UserInterface-->>User: Comment created successfully.
else Failure
Database-->>UserInterface: <ERROR>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant Database
User->>UserInterface: deleteComment(post_id, comment_id)
UserInterface->>Database: deleteComment(post_id, comment_id)
alt Success
Database-->>UserInterface: <OK>
UserInterface-->>User: Comment deleted successfully.
else Failure
Database-->>UserInterface: <ERROR>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant Database
User ->>UserInterface: likeComment(post_id, comment_id, value)
UserInterface->>Database: likeComment(user_id, post_id, comment_id, value)
alt Success
Database-->>UserInterface: <OK, comment_likes>
UserInterface-->>User: displayCommentLikes(post_id, comment_id)
else Failure
Database-->>UserInterface: <ERROR>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant FeedController
participant Database
User ->>UserInterface: viewFollowing(user_id)
UserInterface->>FeedController: fetchFollowing(user_id)
FeedController->>Database: fetchFollowing(user_id)
alt Success
Database-->>FeedController: <OK, following>
FeedController-->>UserInterface: <following>
UserInterface-->>User: displayFollowingFeed(following)
else Failure
Database-->>FeedController: <ERROR>
FeedController-->>UserInterface: <ERR_CODE>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant Database
User ->>UserInterface: follow(category)
UserInterface->>Database: follow(user_id,category)
alt Success
Database-->>UserInterface: <OK>
UserInterface-->>User: Followed category successfully.
else Failure
Database-->>UserInterface: <ERROR>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant Database
User ->>UserInterface: unfollow(category)
UserInterface->>Database: unfollow(user_id,category)
alt Success
Database-->>UserInterface: <OK>
UserInterface-->>User: Unfollowed category successfully.
else Failure
Database-->>UserInterface: <ERROR>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant CategoryController
participant Database
User ->>UserInterface: viewGallery(category)
UserInterface->>CategoryController: fetchGallery(category)
CategoryController->>Database: fetchGallery(category)
alt Success
Database-->>CategoryController: <OK, gallery>
CategoryController-->>UserInterface: <gallery>
UserInterface-->>User: displayGallery(gallery)
else Failure
Database-->>CategoryController: <ERROR>
CategoryController-->>UserInterface: <ERR_CODE>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant CategoryController
participant Database
User ->>UserInterface: viewDiscussions(category)
UserInterface->>CategoryController: fetchDiscussions(category)
CategoryController->>Database: fetchDiscussions(category)
alt Success
Database-->>CategoryController: <OK, discussions>
CategoryController-->>UserInterface: <discussions>
UserInterface-->>User: displayDiscussions(discussions)
else Failure
Database-->>CategoryController: <ERROR>
CategoryController-->>UserInterface: <ERR_CODE>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant Database
User ->>UserInterface: viewProfile(user_id)
UserInterface->>Database: fetchProfile(user_id)
alt Success
Database-->>UserInterface: <OK, details, posts, comments>
UserInterface-->>User: displayProfile(details, posts, comments)
else Failure
Database-->>UserInterface: <ERROR>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant Database
User ->>UserInterface: followUser(user_id, value)
UserInterface->>Database: followUser(user_id, value)
alt Success
Database-->>UserInterface: <OK, follower_count>
UserInterface-->>User: displayFollowers(follower_count)
else Failure
Database-->>UserInterface: <ERROR>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant Database
User ->>UserInterface: viewOwnProfile(user_id)
UserInterface->>Database: fetchOwnProfile(user_id)
alt Success
Database-->>UserInterface: <OK, details, posts, comments>
UserInterface-->>User: displayProfile(details, posts, comments)
else Failure
Database-->>UserInterface: <ERROR>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
actor User
participant UserInterface
participant Database
User ->>UserInterface: updateAttribute(user_id, attribute)
UserInterface->>Database: updateAttribute(user_id, attribute)
alt Success
Database-->>UserInterface: <OK, attribute>
UserInterface-->>User: displayAttribute(attribute)
else Failure
Database-->>UserInterface: <ERROR>
UserInterface-->>User: <ERR_CODE, errorMessage>
end
sequenceDiagram
participant User
participant UserInterface
participant WikidataAPI
participant Database
User->>UserInterface: search(query)
UserInterface->>WikidataAPI: fetchKeywords(query)
alt Keywords
WikidataAPI-->>Database: searchDatabase(query, keywords)
else No Keywords
WikidataAPI-->>Database: searchDatabase(query)
end
alt Success
Database-->>UserInterface: <OK, results>
UserInterface-->>User: displayResults(results)
else Failure
Database-->>UserInterface: <ERROR>
UserInterface-->>User: <ERR_CODE, message>
end
sequenceDiagram
participant TournamentController
participant CategoryController
participant Database
participant PostController
participant UserProfileController
TournamentController ->> CategoryController: startWeeklyTournament(category_id)
CategoryController ->> Database: getPosts(category_id, week)
Database -->> CategoryController: <OK, post_list_with_likes>
CategoryController ->> PostController: findMostLikedPost(post_list)
PostController -->> CategoryController: <OK, most_liked_post>
CategoryController ->> TournamentController: declareWinner(most_liked_post)
TournamentController ->> UserProfileController: awardPoints(user_id, points)
UserProfileController ->> Database: updateUserPoints(user_id, points)
Database -->> UserProfileController: <OK>
TournamentController -->> UserProfileController: displayPointsOnProfile(user_id)
sequenceDiagram
actor User
participant UserInterface
participant Database
participant TournamentController
User ->> UserInterface: createPost(title, content, category, tournament_entry)
UserInterface ->> TournamentController: checkTournamentStatus(category)
alt Tournament Active
TournamentController -->> UserInterface: <tournament_active>
UserInterface ->> TournamentController: savePost(user_id, title, content, category, tournament_entry)
alt Success
Database -->> UserInterface: <OK>
UserInterface -->> User: Post created and entered into tournament successfully.
else Failure
Database -->> UserInterface: <ERROR>
UserInterface -->> User: <ERR_CODE, errorMessage>
end
else Tournament Not Active
TournamentController -->> UserInterface: <no_tournament>
UserInterface ->> TournamentController: savePost(user_id, title, content, category)
alt Success
Database -->> UserInterface: <OK>
UserInterface -->> User: Post created but no active tournament.
else Failure
Database -->> UserInterface: <ERROR>
UserInterface -->> User: <ERR_CODE, errorMessage>
end
end
Prepared By Oğuz Kağnıcı, Improved and Reviewed By Deniz Ulaş Poyraz
🏠Home
- Meeting Notes 5 - Oct 15
- Meeting Notes 4 - Oct 8
- Meeting Notes 3 - Oct 3
- Meeting Notes 2 - Oct 1
- Meeting Notes 1 - Sep 24
- Deniz Ulaş Poyraz
- Eren Donmez
- Ersel Çanakçılı
- Oğuz Kağnıcı
- Onur Çerli
- Yekta Ercul
- Ali Alperen Sönmez
- Huseyin Turker Erdem
- Mehmet Tuluyhan Sozen
352 Material
- Final Milestone Report
- Milestone 2 Report
- RAM
- Use Case Diagram
- Sequence Diagrams
- Class Diagrams
- Requirements
- Elicitation Questions
- Mockups
- Scenarios
- Milestone 1 Report
- Our Favourite Repositories
- Linked Data and SPARQL
- Web Application Development
- API Development and Utilization
- Wikidata and Wikidata API
- Mobile Application Development
- Android Studio
- Git
- Meeting Notes 10 ‐ May 10th
- Meeting Notes 9 ‐ Apr 25th
- Meeting Notes 8 ‐ Apr 21st
- Meeting Notes 7 ‐ Apr 12th
- Meeting Notes 6 ‐ Mar 14th
- Meeting Notes 5 ‐ Mar 11th
- Meeting Notes 4 - Mar 7th
- Meeting Notes 3 - Mar 3rd
- Meeting Notes 2 - Feb 22nd
- Meeting Notes 1 - Feb 18th