-
Notifications
You must be signed in to change notification settings - Fork 0
Use Case Diagram (Final)
This page documents the use case surface of the MyMentorNet platform at the final-milestone tag. The use cases are split across the five actors that interact with the system so each diagram remains readable. Every use case below corresponds to a real REST endpoint, scheduled job, or AFTER_COMMIT listener verified against the deployed backend at https://mymentornet.org.
The actor hierarchy is:
- Guest — unauthenticated visitor; only the authentication flows are reachable.
-
User — abstract authenticated user, specialised into Mentee, Mentor, and Admin (JPA
JOINEDinheritance on theuserstable). Use cases that any authenticated user can trigger (own profile, follow graph, social feed, notifications, messaging, reports, keyword mutes, taxonomy lookups) are folded into the per-role diagrams below to keep each one self-contained. -
Mentee, Mentor, Admin — role-specific actors gated server-side by
@PreAuthorize("hasRole(...)")on every privileged endpoint. -
System / Scheduler — non-human actor representing the Spring
@Scheduledjobs and the AFTER_COMMIT listeners that handle side effects asynchronously.
The full pre-authenticated surface. Spam-bot defences (form token + honeypot) are enforced by SpamDetectionService; the AFTER_COMMIT listener on registration may impose an automatic temporary ban if the bot-signal threshold is crossed.

The mentee-facing surface covers mentor discovery via the matching ranker, the request / cancellation / rating lifecycle, mentee-side mentorship participation (task submission, action-item completion, shared-goal authorship jointly with the mentor), and the user-facing reporting + social-feed surfaces.

The mentor-facing surface mirrors the mentee side but owns the request-acceptance side of the lifecycle, milestone and task authorship, meeting scheduling, the iCalendar (RFC 5545) availability export, and the mentor-only peer-mentor messaging surface. The milestone-creation path is gated by MentorshipPreconditions.requireSharedGoal — milestones cannot be opened until the shared goal is defined.

The admin-only moderation surface: user listing and ban administration, the polymorphic report queue and its state machine transitions, and the admin-direct / admin-broadcast messaging channels.

Periodic @Scheduled jobs (auto-cancel unconfirmed meetings, auto-complete expired mentorships, reminders, orphan-attachment cleanup, trending-hashtag refresh, ban expiry, token purges) plus the inline AFTER_COMMIT listeners that drive the auto-ban subsystem, social-feed STOMP fanout, and the For-You ranker's bandit posterior updates.

The five diagrams above collectively cover the entire deployed REST surface (129 paths, 156 operations — see the live OpenAPI spec at https://mymentornet.org/v3/api-docs) plus the scheduler / listener side. Two intentional omissions:
-
No
logoutuse case. JWT auth is stateless; the client simply drops the token (AuthContext.logoutinfrontend/src/context/AuthContext.jsx). There is nothing on the server to invalidate before natural expiry, so a/api/auth/logoutendpoint would be no-op work. - No "change password while authenticated" use case. Password mutation today goes through the forgot-password → emailed reset-token → reset-password chain. A first-party authenticated-change surface is not implemented and is therefore intentionally absent.
A single combined diagram covering all five actors at once (143 KB PNG) is also available at images/final-milestone/use-case-puml.png for cross-reference, but it is dense at this resolution and the per-actor split above is the canonical reading.
Per-actor PlantUML sources are committed to this wiki at sources/final-milestone-diagrams/:
use-case-1-guest.pumluse-case-2-mentee.pumluse-case-3-mentor.pumluse-case-4-admin.pumluse-case-5-system.puml
A combined PlantUML source at sources/final-milestone-diagrams/use-case-diagram.puml and a Mermaid alternative at sources/final-milestone-diagrams/use-case-diagram.md are kept alongside.
Team Members
- Lab 1 Report (12/02/2026)
- Lab 2 Report (19/02/2026)
- Lab 3 Report (26/02/2026)
- Lab 4 Report (05/03/2026)
- Lab 5 Report (12/03/2026)
- Lab 6 Report (26/03/2026)
- Lab 7 Report (02/04/2026)
- Lab 8 Report (18/04/2026)
- Lab 9 Report (30/04/2026)
- Lab 10 Report (07/05/2026)
- Weekly Meeting Notes Template
- Lab Meeting 1 (12.02.2026)
- Weekly Meeting 1 (16.02.2026)
- Weekly Meeting 2 (24.02.2026)
- Weekly Meeting 3 (04.03.2026)
- Weekly Meeting 4 (11.03.2026)
- Weekly Meeting 5 (23.03.2026)
- Weekly Meeting 6 (29.03.2026)
- Weekly Meeting 7 (11.04.2026)
- Weekly Meeting 8 (28.04.2026)
- Weekly Meeting 9 (10.05.2026)
- Use Case Diagram 1 (New Mentor User for Mobile Scenario)
- Use Case Diagram 2 (Mentor-Mentee Matching Scenario)
- Use Case Diagram 3 (New Mentee User Scenario)
- Final Use Case Diagram
- MVP Use Case Diagram
- All Sequence Diagrams
- Sequence Diagram: Mentee Matching
- Sequence Diagram: Mentor Matching
- Sequence Diagram: Mentorship Management
- Sequence Diagram: Registration
- Sequence Diagram: Cancelling Mentorship Relationship and Auto Ban
- Sequence Diagram: Login-Logout
- Sequence Diagram: Reporting-User
- Sequence Diagram: Mentor Profile Management
- MVP Sequence Diagrams
- Test Plan & Coverage (MVP)
- Acceptance Testing Strategy
- Acceptance Tests
- Test Data Strategy
- Web Frontend Test Report
- Amin Abu-Hilga
- Övgü Su Afşar
- Muhammet Sami Çakmak
- Beratcan Doğan
- İbrahim Kayan
- Burak Ögüt
- Mehmet Bora Sarıoğlu
- Future Work (reference, not a deliverable)