-
Notifications
You must be signed in to change notification settings - Fork 1
Sequence Diagrams ‐ CMPE451
Işıl Su Karakuzu edited this page Oct 25, 2024
·
3 revisions
sequenceDiagram
actor U as User
participant S as System
participant DB as Database
participant E as Email Service
%signup
U->>S: signUp(username, email, password)
S->>DB: Store new user details
DB-->>S: Success
S->>E: Send email verification
E-->>U: Verification email sent
U->>E: Click verification link
E->>S: Verify email
S->>DB: Activate account
DB-->>S: Account activated
S-->>U: Account creation successful
sequenceDiagram
actor U as User
participant S as System
participant DB as Database
%login
U->>S: logIn(username, password)
S->>DB: Verify credentials
alt Valid
DB-->>S: Valid credentials
S-->>U: Login successful
else Invalid
DB-->>S: Invalid credentials
S-->>U: Login failed
end
sequenceDiagram
actor U as User
participant S as System
%logout
U->>S: logOut()
alt Successful
S-->>U: Logout successful
else Failure
S-->>U: Logout failed
end
sequenceDiagram
actor U as User
participant S as System
participant DB as Database
%delete account
U->>S: deleteAccount()
S->>DB: Remove user data
alt Successful
DB-->>S: Account deleted
S-->>U: Deletion successful
else Failure
DB-->>S: Deletion failed
S-->>U: Deletion failed
end
sequenceDiagram
actor U as User
participant S as System
participant DB as Database
participant E as Email Service
%reset password
U->>S: resetPassword(email)
S->>E: Send reset email
E-->>U: Reset email sent
U->>E: Click reset link
E->>S: Confirm password reset
S->>DB: Update password
DB-->>S: Password updated
S-->>U: Reset successful
sequenceDiagram
actor U as User
participant S as System
participant DB as Database
%change password
U->>S: changePassword(oldPassword, newPassword)
S->>DB: Verify old password and update to new one
alt Successful
DB-->>S: Password updated
S-->>U: Password change successful
else Failure
DB-->>S: Update failed
S-->>U: Password change failed
end
sequenceDiagram
actor U as User
participant S as System
participant E as Email Service
participant DB as Database
%email verification
U->>S: requestEmailVerification()
S->>E: Send verification email
E-->>U: Verification email sent
U->>E: Click verification link
E->>S: Verify user email
S->>DB: Update account as verified
DB-->>S: User verified
S-->>U: Verification successful
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%level assignment
U->>S: Interact with forum (posts, likes)
S->>DB: Calculate forum rating
DB-->>S: Update user level
S-->>U: User level updated
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%forum rating accumulation
U->>S: Post content, like, or comment
S->>DB: Update forum rating
DB-->>S: Rating updated
S-->>U: Forum rating updated
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%follow
U->>S: followUser(targetUser)
S->>DB: Update follow list
alt Success
DB-->>S: Follow successful
S-->>U: Follow successful
else Failure
DB-->>S: Follow failed
S-->>U: Follow failed
end
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%unfollow
U->>S: unfollowUser(targetUser)
S->>DB: Update follow list
alt Success
DB-->>S: Unfollow successful
S-->>U: Unfollow successful
else Failure
DB-->>S: Unfollow failed
S-->>U: Unfollow failed
end
sequenceDiagram
actor LU as Legend User
participant S as System
participant DB as Database
%legend interactions
LU->>S: likePost(postId) / upvotePuzzle(puzzleId)
S->>DB: Register like/dislike or upvote/downvote with legend status
DB-->>S: Interaction registered
S-->>LU: Interaction successful
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%receive notifications
U->>S: Follow user or comment on a post
S->>DB: Register interaction
DB-->>S: Interaction registered
S-->>U: Notification sent for follow, like, or comment
sequenceDiagram
actor SU as Specialist User
participant S as System
participant DB as Database
%create post
SU->>S: submitPost(postContent)
S->>DB: Validate and store post
alt Success
DB-->>S: Post stored
S-->>SU: Post successfully created
else Failure
DB-->>S: Post storage failed
S-->>SU: Post creation failed
end
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%like/dislike post
U->>S: likePost(postId)
S->>DB: Update post engagement
DB-->>S: Engagement updated
S-->>U: Like/Dislike recorded
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%comment on post
U->>S: submitComment(postId, commentContent)
S->>DB: Validate and store comment
alt Success
DB-->>S: Comment stored
S-->>U: Comment successfully added
else Failure
DB-->>S: Comment storage failed
S-->>U: Comment creation failed
end
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%filter posts by tags
U->>S: filterPosts(tag)
S->>DB: Retrieve posts with tag
DB-->>S: Posts retrieved
S-->>U: Display filtered posts
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%bookmark post
U->>S: bookmarkPost(postId)
S->>DB: Update bookmark list
DB-->>S: Bookmark added
S-->>U: Post bookmarked
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%share post
U->>S: retweetPost(postId)
S->>DB: Share post content
alt Success
DB-->>S: Post shared
S-->>U: Post retweeted
else Failure
DB-->>S: Sharing failed
S-->>U: Share failed
end
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%explore game archive
U->>S: exploreGame(gameId)
S->>DB: Retrieve game details
DB-->>S: Game data retrieved
S-->>U: Display game on visual chessboard
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%comment on game position
U->>S: commentOnGamePosition(gameId, position, comment)
S->>DB: Validate and store comment
alt Success
DB-->>S: Comment stored
S-->>U: Comment added to game position
else Failure
DB-->>S: Comment storage failed
S-->>U: Comment addition failed
end
sequenceDiagram
actor U as Registered User
participant S as System
%play puzzle
U->>S: playPuzzle(puzzleId)
S-->>U: Puzzle displayed, user plays
sequenceDiagram
actor EU as Expert User
participant S as System
participant DB as Database
%create puzzle
EU->>S: createPuzzle(puzzleData)
S->>DB: Validate and store puzzle
alt Success
DB-->>S: Puzzle stored
S-->>EU: Puzzle successfully created
else Failure
DB-->>S: Puzzle storage failed
S-->>EU: Puzzle creation failed
end
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%upvote/downvote puzzle
U->>S: votePuzzle(puzzleId, voteType)
S->>DB: Register vote
DB-->>S: Vote registered
S-->>U: Vote successful
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%perform search
U->>S: search(term)
S->>DB: Search database for term
alt Success
DB-->>S: Return search results
S-->>U: Display results
else Failure
DB-->>S: No results found
S-->>U: No matching results
end
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%faceted filtering
U->>S: applyFilters(filters)
S->>DB: Retrieve content with filters
DB-->>S: Filtered content retrieved
S-->>U: Display filtered results
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%autocomplete suggestions
U->>S: start typing search query
S->>DB: Fetch autocomplete suggestions
DB-->>S: Suggestions fetched
S-->>U: Display suggestions in search bar
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%result categorization
U->>S: search(term)
S->>DB: Categorize results (posts, users, games)
DB-->>S: Categorized results fetched
S-->>U: Display categorized search results
sequenceDiagram
actor U as Registered User
participant S as System
participant CE as Chess Engine
%input moves for analysis
U->>S: inputMove(position)
S->>CE: Send move to chess engine
CE-->>S: Return evaluation
S-->>U: Display move analysis
sequenceDiagram
actor U as Registered User
participant S as System
participant CE as Chess Engine
%toggle engine analysis
U->>S: toggleEngineAnalysis(on/off)
S->>CE: Start/Stop engine analysis
CE-->>S: Engine toggled
S-->>U: Analysis toggled
sequenceDiagram
actor U as Registered User
participant S as System
%import PGN
U->>S: importPGN(pgnFile)
S-->>U: PGN file imported successfully
sequenceDiagram
actor U as Registered User
participant S as System
%export PGN
U->>S: exportPGN(gameId)
S-->>U: PGN file exported successfully
sequenceDiagram
actor U as Registered User
participant S as System
%share analysis
U->>S: shareAnalysis(boardPosition)
S-->>U: Shareable link generated
sequenceDiagram
actor U as Registered User
participant S as System
participant CE as Chess Engine
%blunder detection
U->>S: analyzeMoveForBlunder(position)
S->>CE: Send move to engine for blunder detection
CE-->>S: Return blunder analysis
S-->>U: Blunder detected and highlighted
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%opening explorer
U->>S: exploreOpening(openingName)
S->>DB: Retrieve opening variations
DB-->>S: Opening variations returned
S-->>U: Display opening explorer
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%endgame tablebases
U->>S: accessEndgameTablebases(position)
S->>DB: Retrieve endgame tablebases
DB-->>S: Endgame tablebases data returned
S-->>U: Display endgame analysis
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%move annotation
U->>S: addAnnotationToMove(gameId, move, annotation)
S->>DB: Store annotation
DB-->>S: Annotation saved
S-->>U: Annotation added successfully
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
%semantic browsing
U->>S: browseGamesForPosition(position)
S->>DB: Retrieve games with the same position
DB-->>S: Games retrieved
S-->>U: Display top games with similar position
sequenceDiagram
actor U as Registered User
participant S as System
participant DB as Database
participant A as Admin
%report content
U->>S: reportContent(contentId, reason)
S->>DB: Log report
A->>S: Review report
alt Approved
A->>S: Take action on content
S->>DB: Update content status
DB-->>S: Action applied
S-->>U: Report processed successfully
else Rejected
S-->>U: Report rejected
end
sequenceDiagram
actor A as Admin
participant S as System
participant DB as Database
%ban/unban user
A->>S: banUser(userId, period) / unbanUser(userId)
S->>DB: Update user status
alt Success
DB-->>S: User status updated
S-->>A: Ban/Unban successful
else Failure
DB-->>S: Update failed
S-->>A: Ban/Unban failed
end
sequenceDiagram
actor A as Admin
participant S as System
participant DB as Database
%delete/edit post
A->>S: deleteOrEditPost(postId, newContent)
S->>DB: Apply changes
alt Success
DB-->>S: Changes applied
S-->>A: Post/Comment successfully deleted or edited
else Failure
DB-->>S: Changes failed
S-->>A: Post/Comment modification failed
end
sequenceDiagram
actor A as Admin
participant S as System
participant DB as Database
%pin/feature post
A->>S: pinOrFeaturePost(postId)
S->>DB: Update post visibility
alt Success
DB-->>S: Post visibility updated
S-->>A: Post successfully pinned or featured
else Failure
DB-->>S: Update failed
S-->>A: Post modification failed
end
sequenceDiagram
actor A as Admin
participant S as System
participant DB as Database
%change profile picture
A->>S: changeProfilePicture(userId, newPicture)
S->>DB: Update profile picture
alt Success
DB-->>S: Picture updated
S-->>A: Profile picture changed successfully
else Failure
DB-->>S: Update failed
S-->>A: Profile picture change failed
end
sequenceDiagram
actor A as Admin
participant S as System
participant DB as Database
%approve/reject flagged content
A->>S: reviewFlaggedContent(contentId)
S->>DB: Approve/Reject content
alt Success
DB-->>S: Content updated
S-->>A: Flagged content processed
else Failure
DB-->>S: Processing failed
S-->>A: Action failed
end
sequenceDiagram
actor A as Admin
participant S as System
participant DB as Database
%delete user account
A->>S: deleteUserAccount(userId)
S->>DB: Remove user data
alt Success
DB-->>S: Account deleted
S-->>A: User account deleted successfully
else Failure
DB-->>S: Deletion failed
S-->>A: User account deletion failed
end
sequenceDiagram
actor A as Admin
participant S as System
participant DB as Database
%change user status
A->>S: changeUserStatus(userId, status)
S->>DB: Update user status
alt Success
DB-->>S: Status updated
S-->>A: User status changed successfully
else Failure
DB-->>S: Update failed
S-->>A: Status change failed
end
🏠 Home
- Communication Plan for CMPE451
- Responsibility Assignment Matrix(RAM) for CMPE451
- Requirements Document for CMPE451
- Project Plan for CMPE451
- Web Annotation Data Model (WADM) Documentation
CMPE352
- Domain Analysis - Video Games
- Wikidata Research
- Mobile Development Research
- Web Development Research
- Application Programming Interface (API) Research
- Repository Research
- Useful Resources
- Requirements
- Responsibility Assignment Matrix
- Project Plan
- Elicitation Questions
- Scenarios
- Mockups
- Milestone Report 1
- Use Case Diagram
- Class Diagram
- Sequence Diagrams
- Milestone Report 2
- Milestone Report 3
- Meeting #10 ‐ 15.05.2024
- Meeting #9 ‐ 08.05.2024
- Meeting #8 ‐ 17.04.2024
- Feedback Meeting - 17.04.2024
- Meeting #7 ‐ 27.03.2024
- Meeting #6 ‐ 22.03.2024
- Customer Meeting ‐ 17.03.2024
- Extra Meeting ‐ 15.03.2024
- Meeting #5 ‐ 13.03.2024
- Meeting #4 ‐ 06.03.2024
- Meeting #3 ‐ 28.02.2024
- Meeting #2 ‐ 21.02.2024
- Meeting #1 ‐ 16.02.2024