Skip to content

Requirements

Mehmet Bora Sarioglu edited this page May 7, 2026 · 27 revisions

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.1.14 Mentees shall be able to follow other users to see their posts in the Following feed.

1.1.1.1.15 Mentees shall be able to unfollow users they previously followed.

1.1.1.1.16 Mentees shall be able to view a list of their active and past mentorships.

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 able to view candidate mentee profiles (background, goals, interests).

1.1.1.2.5 Mentors shall be able to accept or reject mentorship requests.

1.1.1.2.6 Mentors shall be able to initiate and maintain communication with mentees through the in-app messaging system.

1.1.1.2.7 Mentors shall be able to schedule recurring weekly meetings.

1.1.1.2.8 Mentors shall be able to assign weekly tasks to mentees.

1.1.1.2.9 Mentors shall be able to review submitted work and provide feedback.

1.1.1.2.10 Mentors shall be able to manage multiple mentees simultaneously.

1.1.1.2.11 Mentors shall be able to configure their maximum mentee capacity.

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 follow other users to see their posts in the Following feed.

1.1.1.2.16 Mentors shall be able to unfollow users they previously followed.

1.1.1.2.17 Mentors shall be able to view a list of their active and past mentorships.

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.1.3.4 Admin users shall be able to send in-app messages to users and other admins.

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 support location-based recommendations so that mentors and mentees in proximity can be paired for face-to-face meetings.

1.1.2.3 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.4 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.5 When a mentor is viewing a candidate mentee profile, the system shall hide the mentee's surname and profile photo; only the first name shall be visible.

1.1.2.6 Mentees shall not be able to search for or find other mentees.

1.1.2.7 Mentors shall not accept mentees beyond their configured maximum mentee capacity.

1.1.2.8 The system shall be able to recommend other users to follow based on shared interests, follow-graph connections, or recent social-feed engagement.

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 Mentors shall be able to create one-time meetings at arbitrary dates and times.

1.1.4.4 Mentors shall be able to provide an external meeting link (e.g., Google Meet, Zoom) when creating a meeting.

1.1.4.5 The system shall display the meeting link in the meeting details view for mentors and mentees.

1.1.4.6 The system shall send a meeting confirmation request to the mentee when a mentor schedules a meeting.

1.1.4.7 The system shall notify the mentor if the mentee declines or does not confirm within a defined time window.

1.1.4.8 The system shall send meeting reminders before scheduled meetings.

1.1.4.9 Mentors and mentees shall be able to request rescheduling of meetings; the other party shall approve or reject the request.

1.1.4.10 The connection between mentor and mentee shall be terminated automatically when the set duration ends.

1.1.4.11 Mentors shall be able to cancel meetings.

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 shall 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.5.9 The system shall provide a mentorship timeline with start and end dates and a current date indicator.

1.1.5.10 The system shall display milestones, meetings, and task deadlines on the mentorship timeline.

1.1.5.11 The system shall add new meetings and tasks to the timeline automatically when they are created.

1.1.5.12 Only mentors shall be able to create, edit, or delete milestones.

1.1.5.13 Users shall be able to select timeline items (meeting, task, milestone) to view details.

1.1.6 Reporting

1.1.6.1 Users shall be able to report posts.

1.1.6.2 Users shall be able to create a report for their mentorships.

1.1.6.3 Users shall be able to report other users.

1.1.6.4 Reports shall be routed to platform admins for review.

1.1.7 Social Feed

1.1.7.1 Both mentors and mentees shall be able to create posts in the social feed.

1.1.7.2 Feed posts shall support text content and hashtag tagging.

1.1.7.3 The system shall provide a personalized "For You" feed tab with algorithmically recommended posts based on the user's interests, goals, and interaction history.

1.1.7.4 The system shall provide a "Following" feed tab displaying posts from users the viewer follows.

1.1.7.5 Users shall be able to like feed posts.

1.1.7.6 Users shall be able to comment on feed posts.

1.1.7.7 Users shall be able to search for feed posts using keywords and hashtags.

1.1.7.8 When creating a feed post, users shall be able to select topic tags or hashtags to categorize their post.

1.1.7.9 Users shall be able to edit their own feed posts.

1.1.7.10 Users shall be able to delete their own feed posts.

1.1.7.11 Users shall be able to share feed posts.

1.1.7.12 Users shall be able to save and bookmark feed 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 feed 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.

1.2.3.9 Users shall be able to reset their password via their registered email address.

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.2.5 The system shall detect spam bots.

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.

2.3.4 Social feed updates shall be reflected to users within 5 seconds of post creation, matching the notification delivery budget in 2.3.1.

Team Members

Lab Reports


Weekly Meetings


Customer Meetings


Stakeholder Meetings


Project Requirements


🎦 Scenarios and Mock-ups

Use Case Diagrams

Class Diagram

Sequence Diagrams

Test Plan and Coverage


Project Standards


Final Milestone and MVP Plan

MVP Report


Final Milestone Report

Per-Member Prompt Logs


Future Work

Clone this wiki locally