-
Notifications
You must be signed in to change notification settings - Fork 0
Requirements
1. Functional Requirements
1.1 User Requirements
1.1.1 User Types
There shall be three types of users: Mentees, Mentors, and Admins.
1.1.1.1 Mentees
1.1.1.1.1 Mentees shall be able to create and edit their profile.
1.1.1.1.2 Mentees shall be able to specify their goals, interests, and background information.
1.1.1.1.3 Mentees shall be able to view recommended mentor profiles.
1.1.1.1.4 Mentees shall be able to send mentorship requests to mentors.
1.1.1.1.5 Mentees shall be able to communicate with mentors through the in-app messaging system.
1.1.1.1.6 Mentees shall be able to submit assignments or tasks assigned by their mentor.
1.1.1.1.7 Mentees shall be able to view feedback given by their mentor.
1.1.1.1.8 Mentees shall be able to view scheduled meetings.
1.1.1.1.9 Mentees shall be limited to one active mentor at a time.
1.1.1.1.10 Mentees shall be able to search for mentors using a keyword-based search bar.
1.1.1.1.11 Mentees shall be able to rate their mentor on a scale of 1 to 5 stars after the mentorship relationship ends.
1.1.1.1.12 Mentees shall be able to cancel the relationship before the duration ends.
1.1.1.1.13 Mentees shall be able to report mentors by specifying a problem for admin investigation.
1.1.1.2 Mentors
1.1.1.2.1 Mentors shall be able to create and edit their profile.
1.1.1.2.2 Mentors shall be able to define mentoring goals and preferred mentee criteria.
1.1.1.2.3 Mentors shall be able to define their availability schedule.
1.1.1.2.4 Mentors shall be notified when a candidate mentee recommendation is found.
1.1.1.2.5 Mentors shall be able to view candidate mentee profiles (background, goals, interests).
1.1.1.2.6 Mentors shall be able to accept or reject mentorship requests.
1.1.1.2.7 Mentors shall be able to initiate and maintain communication with mentees through the in-app messaging system.
1.1.1.2.8 Mentors shall be able to schedule recurring weekly meetings.
1.1.1.2.9 Mentors shall be able to assign weekly tasks to mentees.
1.1.1.2.10 Mentors shall be able to review submitted work and provide feedback.
1.1.1.2.11 Mentors shall be able to manage multiple mentees simultaneously.
1.1.1.2.12 Mentors shall choose a mentorship duration from predefined options (e.g., 1 month, 3 months, 6 months).
1.1.1.2.13 Mentors shall be able to extend the mentorship duration if they wish to continue.
1.1.1.2.14 Mentors shall be able to end the mentorship earlier than the set duration once the defined goal is reached.
1.1.1.2.15 Mentors shall be able to publish blog posts or articles to share their expertise and experiences.
1.1.1.3 Admins
1.1.1.3.1 Admin users shall be able to investigate cases reported by mentees.
1.1.1.3.2 Admin users shall be able to read and review reports.
1.1.1.3.3 Admin users shall be able to ban users from the system.
1.1.2 Recommendation System
1.1.2.1 The system shall recommend mentors to mentees based on interests, goals, availability, and background.
1.1.2.2 The system shall notify mentors when a potential mentee recommendation is found.
1.1.2.3 The system shall support location-based recommendations so that mentors and mentees in proximity can be paired for face-to-face meetings.
1.1.2.4 The system shall occasionally recommend mentors outside the mentee's primary goals based on shared interests or skills, to encourage diverse mentorship experiences.
1.1.2.5 The system shall provide an explanation for each recommendation, stating which factors (e.g. proximity, shared interest, similar field) contributed to the suggestion.
1.1.2.6 During the recommendation stage, the system shall hide the mentee's surname and profile photo from the mentor; only the first name shall be visible.
1.1.2.7 Mentees shall not be able to search for or find other mentees.
1.1.2.8 Mentors shall not accept mentees beyond their maximum mentee capacity.
1.1.3 Messaging & Communication
1.1.3.1 The platform shall provide an in-app messaging system.
1.1.3.2 Users shall receive notifications for new messages.
1.1.3.3 Users shall be able to maintain message history.
1.1.3.4 Users shall be able to attach documents or links in messages.
1.1.3.5 Mentors shall be able to message other mentors.
1.1.4 Scheduling
1.1.4.1 Mentors shall be able to define weekly availability.
1.1.4.2 Mentors shall be able to create recurring weekly meetings.
1.1.4.3 The system shall send meeting confirmation notifications.
1.1.4.4 The system shall send meeting reminders before scheduled meetings.
1.1.4.5 Mentees shall be able to request rescheduling of meetings.
1.1.4.6 The connection between mentor and mentee shall be terminated automatically when the set duration ends.
1.1.5 Task & Progress Management
1.1.5.1 Mentors shall be able to assign tasks with deadlines.
1.1.5.2 Mentees shall be able to upload task submissions.
1.1.5.3 Mentors shall be able to provide structured feedback.
1.1.5.4 The system shall maintain task history for each mentorship relationship.
1.1.5.5 The system shall track mentorship progress over time based on completed tasks, milestones, and assignment submissions.
1.1.5.6 Mentors and mentees must define a goal together after matching and acceptance.
1.1.5.7 The system shall support milestones within a mentorship that break down the overall goal into trackable stages.
1.1.5.8 The system shall offer to send reminder notifications to mentors and mentees about pending tasks and upcoming milestones.
1.1.6 Blog & Content
1.1.6.1 Mentors shall be able to create, edit, and delete blog posts.
1.1.6.2 Blog posts shall be visible to all authenticated users.
1.1.6.3 Users shall be able to like and comment on blog posts.
1.1.6.4 Mentor profiles shall display a list of their published blog posts.
1.2 System Requirements
1.2.1 Notifications
1.2.1.1 The system shall send push notifications for new recommendations.
1.2.1.2 The system shall send push notifications for new messages.
1.2.1.3 The system shall send notifications for meeting reminders.
1.2.1.4 Notifications shall only be sent to relevant users.
1.2.1.5 The system shall notify mentees when a mentor accepts their request.
1.2.1.6 The system shall notify the user that a mentorship request was successfully submitted.
1.2.1.7 The system shall send notifications for task deadlines and milestone reminders.
1.2.2 Profiles
1.2.2.1 User profiles shall include background, goals, skills, and interests.
1.2.2.2 Profiles shall display mentoring preferences.
1.2.2.3 Users shall be able to control profile visibility.
1.2.2.4 Mentor profiles shall display their published blog posts.
1.2.2.5 User profiles shall include a location field to support location-based recommendations.
1.2.3 Sign-Up & Authentication
1.2.3.1 Users shall register with real name, email, and password.
1.2.3.2 Email addresses shall be unique.
1.2.3.3 Passwords shall meet defined security criteria.
1.2.3.4 Email addresses shall be verified before account activation.
1.2.3.5 Users shall be able to log in using their registered email address and password.
1.2.3.6 The system shall verify the user's credentials (email and password) during login.
1.2.3.7 The system shall display an error message when invalid credentials are provided.
1.2.3.8 Users shall be able to log out of the system.
2. Non-Functional Requirements
2.1 Availability
2.1.1 The system shall be available 24/7 except during maintenance periods.
2.1.2 The system shall support web and mobile access.
2.2 Security
2.2.1 User passwords shall be stored as hashed in the database.
2.2.2 Communication between users shall be encrypted.
2.2.3 The system shall comply with GDPR and KVKK regulations.
2.2.4 The system shall enforce temporary bans for mentees who trigger frequent relationship cancellations.
2.3 Performance
2.3.1 The system shall deliver notifications within 5 seconds of triggering events.
2.3.2 The system shall support concurrent mentor-mentee sessions without performance degradation.
2.3.3 The recommendation system shall utilize data processing to analyze user profiles and generate relevant and diverse mentor suggestions.
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)