-
Notifications
You must be signed in to change notification settings - Fork 0
Sequence Diagrams ‐ Tips and Recommendations
Selman Akman edited this page Oct 17, 2025
·
3 revisions

@startuml
actor User
participant ":TipService" as TipService
participant ":Tip" as TipObj
participant ":Event" as EventObj
User -> TipService: viewTips(userID, categoryID, eventID)
TipService -> TipObj: getTips(categoryID, eventID)
alt Tips Found
TipObj --> TipService: tipList(content, category, eventID)
TipService --> User: displayTips(tipList)
else No Tips Found
TipObj --> TipService: emptyList
TipService --> User: showMessage("No tips available")
end
@enduml
@startuml
actor User
participant ":TipService" as TipService
participant ":Tip" as TipObj
User -> TipService: searchTips(query, eventID)
alt Valid Query
TipService -> TipObj: searchTips(query, eventID)
alt Tips Found
TipObj --> TipService: tipList(content, category, eventID)
TipService --> User: displaySearchResults(tipList)
else No Tips Found
TipObj --> TipService: emptyList
TipService --> User: showMessage("No tips found")
end
else Invalid Query
TipService --> User: showError("Invalid search query")
end
@enduml
@startuml
actor User
participant ":TipService" as TipService
participant ":User" as UserObj
participant ":Tip" as TipObj
User -> TipService: submitTip(userID, content, category, eventID)
TipService -> UserObj: getUser(userID)
alt User Authenticated
UserObj --> TipService: userData
alt Valid Input
TipService -> TipObj: createTip(content, category, userID, eventID, status="pending")
TipObj --> TipService: tipCreated(tipID)
TipService --> User: showConfirmation("Tip submitted for moderation")
else Invalid Input
TipService --> User: showError("Invalid content or category")
end
else User Not Authenticated
UserObj --> TipService: error("User not found")
TipService --> User: showError("Please log in to submit tips")
end
@enduml
@startuml
actor User
participant ":TipService" as TipService
participant ":User" as UserObj
participant ":Tip" as TipObj
User -> TipService: saveTip(userID, tipID)
TipService -> UserObj: getUser(userID)
alt User Authenticated
UserObj --> TipService: userData
TipService -> TipObj: getTip(tipID)
alt Tip Exists
TipObj --> TipService: tipData
TipService -> UserObj: saveTipForUser(userID, tipID)
UserObj --> TipService: tipSaved()
TipService --> User: showConfirmation("Tip saved successfully")
else Tip Not Found
TipObj --> TipService: error("Tip not found")
TipService --> User: showError("Invalid tip ID")
end
else User Not Authenticated
UserObj --> TipService: error("User not found")
TipService --> User: showError("Please log in to save tips")
end
@enduml
@startuml
actor User
participant ":TipService" as TipService
participant ":User" as UserObj
participant ":Tip" as TipObj
participant ":ExternalPlatform" as Platform
User -> TipService: shareTip(userID, tipID, platform)
TipService -> UserObj: getUser(userID)
alt User Authenticated
UserObj --> TipService: userData
TipService -> TipObj: getTip(tipID)
alt Tip Exists
TipObj --> TipService: tipData(content)
TipService -> Platform: shareTipContent(content, platform)
alt Share Successful
Platform --> TipService: success
TipService --> User: showConfirmation("Tip shared successfully")
else Share Failed
Platform --> TipService: error("Platform error")
TipService --> User: showError("Failed to share tip")
end
else Tip Not Found
TipObj --> TipService: error("Tip not found")
TipService --> User: showError("Invalid tip ID")
end
else User Not Authenticated
UserObj --> TipService: error("User not found")
TipService --> User: showError("Please log in to share tips")
end
@enduml
@startuml
actor User
participant ":RecommendationService" as RecService
participant ":User" as UserObj
participant ":Tip" as TipObj
participant ":Product" as ProductObj
User -> RecService: getRecommendations(userID)
RecService -> UserObj: getUser(userID)
alt User Authenticated
UserObj --> RecService: userData(wasteData)
RecService -> TipObj: getTipsForUser(wasteData)
TipObj --> RecService: tipList
RecService -> ProductObj: getEcoProducts(wasteData)
ProductObj --> RecService: productList
alt Recommendations Found
RecService --> User: displayRecommendations(tipList, productList)
else No Recommendations
RecService --> User: showMessage("No recommendations available")
end
else User Not Authenticated
UserObj --> RecService: error("User not found")
RecService --> User: showError("Please log in to view recommendations")
end
@enduml
@startuml
actor User
participant ":RecommendationService" as RecService
participant ":User" as UserObj
participant ":Product" as ProductObj
User -> RecService: getEcoProductRecommendations(userID)
RecService -> UserObj: getUser(userID)
alt User Authenticated
UserObj --> RecService: userData(wasteData)
RecService -> ProductObj: getEcoProducts(wasteData)
alt Products Found
ProductObj --> RecService: productList
RecService --> User: displayEcoProducts(productList)
else No Products Found
ProductObj --> RecService: emptyList
RecService --> User: showMessage("No eco-friendly products available")
end
else User Not Authenticated
UserObj --> RecService: error("User not found")
RecService --> User: showError("Please log in to view products")
end
@enduml
@startuml
actor Admin
participant ":TipService" as TipService
participant ":AchievementService" as AchievementService
participant ":User" as UserObj
participant ":Tip" as TipObj
Admin -> TipService: rewardTipContribution(adminID, tipID, rewardPoints)
TipService -> TipService: verifyAdmin(adminID)
alt Admin Authorized
TipService -> TipObj: getTip(tipID)
alt Tip Exists
TipObj --> TipService: tipData(contributorID)
TipService -> AchievementService: earn(contributorID, rewardPoints, "Tip Contribution")
AchievementService -> UserObj: updateScore(contributorID, rewardPoints)
UserObj --> AchievementService: scoreUpdated()
AchievementService --> TipService: rewardAssigned()
TipService --> Admin: showConfirmation("Reward assigned for tip")
else Tip Not Found
TipObj --> TipService: error("Tip not found")
TipService --> Admin: showError("Invalid tip ID")
end
else Unauthorized
TipService --> Admin: showError("Admin access required")
end
@enduml- Lab1
- Lab 1 Meeting Notes
- Lab2
- Lab 2 Meeting Notes
- Lab3
- Lab 3 Meeting Notes
- Lab4
- Lab4 Meeting Notes
- Lab5
- Lab5 Meeting Notes
- Lab 5: MVP Implementation & Planning
- Lab6
- Lab6 Meeting Notes
- Lab7
- Lab7 Meeting Notes
- Lab 7: Milestone 2 Demo Preparation
- Lab8
- Lab8 Meeting Notes
- Lab 8: Requirements Review & Acceptance Planning
- Lab9
- Lab 9: Milestone 3 Demo Preparation
- Lab9 Meeting Notes
- Ahmet's Bio
- Barathan's Bio
- Berkay's Bio
- Berke's Bio
- Caglar's Bio
- Mehmet Emin's Bio
- Nilsu's Bio
- Ömer's Bio
- Selman's Bio
- Taha's Bio
Ahmet Okta
Barathan Aslan
Berke Kartal
Mehmet Çağlar Kurt
Mehmet Emin Atak
Muhammet Berkay Keskin
Mustafa Taha Söylemez
Nilsu Tüysüz
Selman Akman
Ömer Faruk Bayram
- Use Case Diagram
- Class Diagram
- Sequence Diagrams - Admin Management and Moderator Functions
- Sequence Diagrams - Rewards, Badges and Leaderboard System
- Sequence Diagrams - Notification System
- Sequence Diagrams - Tips and Recommendations
- Sequence Diagrams - Challenge and Activity Tracking
- Sequence Diagrams - Waste Tracking and Scoring System
- Sequence Diagrams - User and Account Management
- Sequence Diagrams - Goal Management
- Sequence Diagrams - Authentication
- Sequence Diagrams - Session Management
- Sequence Diagrams - Events Management
- Project Plan
- Requirements
- Elicitation Questions & Answers
- Scenario #1
- Scenario #2
- Scenario #3
- Scenario #4
- Scenario #5
- Scenario #6
- Scenario #7
- Scenario #8
- Scenario #9
- Scenario #10
- Scenario #11
- Scenario #12
- Scenario #13
- Scenario #14
- Use Case Diagram
- Class Diagram
- Sequence Diagrams - Admin Management and Moderator Functions
- Sequence Diagrams - Rewards,Badges and Leaderboard System
- Sequence Diagrams - Notification System
- Sequence Diagrams - Tips and Recommendations
- Sequence Diagrams - Challenge and Activity Tracking
- Sequence Diagrams - Waste Tracking and Scoring System
- Sequence Diagrams - User and Account Management
- Sequence Diagrams - Goal Management
- Sequence Diagrams - Auth
- Sequence Diagrams - Session Management
- User Manual for Frontend-Web
- System Manual for Frontend-Web
- Research Documentation for Frontend-Web
- Testing Manual for Frontend-Web