-
Notifications
You must be signed in to change notification settings - Fork 1
451 Sequence Diagrams
Süleyman Emir Taşan edited this page Dec 19, 2024
·
13 revisions
sequenceDiagram
actor AU as AuthenticatedUser
participant QP as QuizPage
participant QC as QuizController
participant DB as Database
AU->>+QP: createQuiz(quizData)
QP->>+QC: createQuiz(quizDTO)
QC->>+DB: save(quiz)
alt Success
DB-->>-QC: quizId
QC-->>-QP: success
QP-->>-AU: displaySuccess()
else Error
DB-->>QC: error
QC-->>QP: error
QP-->>AU: displayError(ERR_CODE, ERR_MESSAGE)
end
sequenceDiagram
actor U as User
participant LP as ListingPage
participant QP as QuizPage
participant BE as Backend
participant DB as Database
U->>+LP: Select Quiz
LP->>+BE: Get Quiz Details(quizId)
BE->>+DB: Fetch Quiz
DB-->>-BE: Quiz Data
BE-->>-LP: Quiz Details
LP->>+QP: Navigate to Quiz(quizDetails)
loop For each question
QP->>U: Display Question
U->>QP: Select Answer
QP->>QP: Evaluate Answer
QP->>U: Show Result
U->>QP: Next Question
end
QP->>U: Display Final Score
QP->>+BE: Submit Quiz Results(score, answers)
BE->>+DB: Save Quiz Results
DB-->>-BE: Confirmation
BE-->>-QP: Submission Confirmed
QP->>U: Show Quiz Completion
sequenceDiagram
actor AU as AuthenticatedUser
participant QP as QuizPage
participant QC as QuizController
participant DB as Database
AU->>+QP: editQuiz(quizId)
QP->>+QC: getQuiz(quizId)
QC->>+DB: fetchQuiz(quizId)
DB-->>-QC: quizData
QC-->>-QP: quiz
QP-->>-AU: showEditForm()
AU->>+QP: saveChanges(updatedQuiz)
QP->>+QC: updateQuiz(updatedQuiz)
QC->>+DB: update(quiz)
alt Success
DB-->>-QC: success
QC-->>-QP: success
QP-->>-AU: displaySuccess()
else Error
DB-->>QC: error
QC-->>QP: error
QP-->>AU: displayError(ERR_CODE, ERR_MESSAGE)
end
sequenceDiagram
actor AU as AuthenticatedUser
participant FP as ForumPage
participant FC as ForumController
participant DB as Database
AU->>+FP: createPost(postData)
FP->>+FC: createPost(postDTO)
FC->>+DB: save(post)
alt Success
DB-->>-FC: postId
FC-->>-FP: success
FP-->>-AU: displaySuccess()
else Error
DB-->>FC: error
FC-->>FP: error
FP-->>AU: displayError(ERR_CODE, ERR_MESSAGE)
end
sequenceDiagram
actor R as User
R->>+ForumPage: click:choose a Post
ForumPage->>+Post: viewPost
Post->>+R: displayPost
create participant replyToPost
R->> replyToPost: write a Reply
destroy replyToPost
replyToPost-->> R: switch:PostPage
R->>+Post: replyToAPost(post_id, reply)
Post->>+ Database: addReply(content: Content, replier: UserId)
alt Success
Database-->>Post: <Reply added to Post>
Post-->>R: Reply is added.
else Failure
Database-->>-Post: <ERR_CODE>
Post-->>-R: displayError(ERR_CODE, ERR_MESSAGE)
end
sequenceDiagram
actor U as User
participant FP as ForumPage
participant S as SearchEngine
participant DB as Database
participant LDS as LinkedDataSource
U->>+FP: enterSearchQuery(query)
FP->>+S: performSearch(query)
S->>+DB: searchPosts(query)
DB-->>-S: relatedPosts
S->>+LDS: getLexvoData(query)
LDS-->>-S: lexvoData
S-->>-FP: searchResults(relatedPosts, lexvoData)
FP-->>-U: displaySearchResults()
U->>+FP: selectPost(postId)
FP->>+DB: getPostDetails(postId)
DB-->>-FP: postDetails
FP-->>-U: displayPostDetails()
sequenceDiagram
actor GU as GuestUser
participant LP as LoginPage
participant AC as AuthController
participant DB as Database
GU->>+LP: login(credentials)
LP->>+AC: authenticate(loginDTO)
AC->>+DB: checkCredentials()
alt Valid Credentials
DB-->>-AC: success
AC-->>-LP: success
LP-->>-GU: redirectToHome()
else Invalid Credentials
DB-->>AC: error
AC-->>LP: error
LP-->>GU: displayError(ERR_CODE, ERR_MESSAGE)
end
sequenceDiagram
actor GU as GuestUser
participant RP as RegisterPage
participant AC as AuthController
participant DB as Database
GU->>+RP: register(userData)
RP->>+AC: register(userDTO)
AC->>+DB: checkUserExists()
alt User Does Not Exist
DB-->>AC: false
AC->>DB: createUser(userDTO)
DB-->>-AC: success
AC-->>-RP: success
RP-->>-GU: redirectToLogin()
else User Exists
DB-->>AC: true
AC-->>RP: error
RP-->>GU: displayError(ERR_CODE, ERR_MESSAGE)
end
🏠 Home
- 💬 Communication Plan
- 🎯 General Plan
- 🗂️ Project Plan
- 📊 Customer Milestone 1 Report
- 📊 Customer Milestone 2 Report
- 📊 Customer Milestone 3 Report
- 📕 User Manual
- 📕 System Manual
- Software Requirements
- API Doc
- RAM
- Sequence Diagram
- Class Diagram
- Use-Case Diagram
- Mockups
- User Scenario 1 - Quiz generation
- User Scenario 2 ‐ Find forum from the Quiz
- User Scenario 3 ‐ Ask Question in the Forum
- User Scenario 4 - Solve a Quiz Sent by Another User
- User Experience Enhancement Plans and Actions
- Final Presentation scenario
- UI Interfaces
- User Stories
- Lab Report #1 | 24.09.2024
- Lab Report #2 | 01.10.2024
- Lab Report #3 | 08.10.2024
- Lab Report #4 | 15.10.2024
- Lab Report #9 | 10.12.2024
Lab Meeting Notes
Team Meeting Notes
🧑🏻💻 About Us
🗂️ Templates
CmpE 352
- Customer Milestone 1 Report
- Customer Milestone 2 Report
- Customer Milestone 3 Report
- UML Use-Case Diagram
- UML Class Diagram
- Sequence Diagrams
- API Documentation
- RAM | Responsibility Assignment Matrix
🗃️ All Project Files
📝 352 Meeting Notes
- Meeting #11 | 11.05.2024
- Frontend Meeting Notes #2 | 07.05.2024
- Meeting #10 | 07.05.2024
- Frontend Meeting Notes #1 | 08.04.2024
- Backend Meeting Notes
- Mobile Team Meeting Notes
- Meeting #9 | 28.04.2024
- Meeting #8 | 22.04.2024
- Meeting #7 | 04.04.2024
- Meeting #6 | 27.03.2024
- Meeting #5 | 15.03.2024
- Customer Meeting #1 | 15.03.2024
- Meeting #4 | 07.03.2024
- Meeting #3 | 03.03.2024
- Meeting #2 | 26.02.2024
- Meeting #1 | 19.02.2024