---
# System prepended metadata

title: Mentorship Platform - User Stories

---

# Mentorship Platform - User Stories

## Types of users:

* Individuals who are willing to volunteer to help and guide (**Mentors**)
* Individuals who need mentorship (**Mentees**)
* Indiviuals who will manage communities (**Community Managers**)
* System Adminstrators (**Admins**)

## User Stories

### Authentication

* **As a** user, **I want to** Sign up to the platform using my email

* **As a** user, **I want to** Login using credintials (email and password)

* **As a** user, **I want to** Reset my password using my email

* **As a** user, **I want to** Logout from the website

### Profile & Personal Information

* **As a** user, **I want to** be able to view my profile

* **As a** user, **I want to** be able to add and edit my personal information

* **As a** user, **I want to** be able to add a personal image **so that** it adds a level of trust and authenticity to my account

* **As a** user, **I want to** have the ability to change my password

* **As a** user, **I want to** be able to choose my timezone , **so that** all scheduled sessions and availability reflect my local time accurately

### User Experience

* **As a** user, **I want to** have the choice whether to use a dark or light theme **so that** I can personalize my experience

* **As a** user, **I want** to be able to report other users for violating the platform or community guidelines, **so that** it helps creating a more safe and respectful space for everyone

### Integration

* **As a** user, **I want to** connect my Google Calendar with my account, **so that** it helps me in different scheduling and booking processes (service availability for mentors, requesting sessions for mentees)


## Mentor Stories

* **As a** Mentor, **I want to** be able to search for other users and communities **so that** I can connect with people

* **As a** Mentor, **I want to** add the list of skills I possess **so that** that mentees seeking guidance in those skills can find me more easily

* **As a** Mentor, **I want to** create a service that I offer and set the session time for it

* **As a** Mentor, **I want to** add an availability time for a service (a weekly routine)

* **As a** Mentor, **I want to** to be able to set date-specific availability exceptions for a service (either making it available or unavailable)

* **As a** Mentor, **I want to** be able to delete a service that I created after resolving all of its session requests

* **As a** Mentor, **I want to** be able to modify my availability for a service that I created **so that** I can keep it updated with my free time

* **As a** Mentor, **I want to** be able to view sessions that have been requested from me for a specific service, displayed in lists categorized by status

* **As a** Mentor, **I want to** be able to view each session request details, **so that** I can decide whether to accept or reject it

* **As a** Mentor, **I want to** have the ability to view the mentee's profile that requested the session, **so that** I can get to know them better

* **As a** Mentor, **I want to** have the ability to reject requests that don't suit me and to have the option to specify a reason for the rejection, **so that** I can be clear and transparent with mentees

* **As a** Mentor, **I want** the platform to send an invitation to both my calendar and the mentee's for the sessions that I accept, **so that** we won't miss them

* **As a** Mentor, I **want to** be able to cancel an upcoming session I've accepted, provided there's enough time left before it starts, **so that** I can deal with urgent and unexpected situations

* **As a** Mentor, I **want to** be able to view other users profiles

* **As a** Mentor, I **want to** be able to request to join a community

* **As a** Mentor, I **want to** be able to withdraw a request that I submitted to join a community

* **As a** Mentor, I **want to** have a page to manage my community memberships, and also to view and manage my pending community join requests

* **As a** Mentor, I **want to** be able to leave communities


## Mentee Stories

* **As a** Mentee, **I want to** be able to search for mentors and communities **so that** I can connect with people who can guide me in my areas of interest

* **As a** Mentee, **I want to** have the ability to view a mentor's profile, **so that** I can get to know them better

* **As a** Mentee, **I want to** send a session request to a mentor that I opened their profile by choosing a service that they offer, choosing an available time that suits me, and providing an agenda for the session, **so that** the mentor can come prepared to the session

* **As a** Mentee, **I want to** have a page that lists the session requests that I've sent, **so that** I can check their statuses and view them

* **As a** Mentee, **I want to** be able to withdraw a session request that I've sent if it's still in a 'pending' state

* **As a** Mentee, **I want to** be able to edit a session request details if it's still in a 'pending' state

* **As a** Mentee, I **want to** be able to search communities by name, **so that** I can find ones that are relative to my field of interest and the kind of support I need

* **As a** Mentee, I **want to** be able to request to join a community

* **As a** Mentee, I **want to** be able to withdraw a request that I submitted to join a community

* **As a** Mentee, I **want to** have a page to manage my community memberships, and also to view and manage my pending community join requests


* **As a** Mentee, I **want to** be able to leave communities


## Community Manager Stories

* **As a** Community Manager, **I want to** be able to create a community

* **As a** Community Manager, **I want to** have a page that shows people that requested to join the community, **so that** I can either accept or reject them

* **As a** Community Manager, **I want to** have the ability to edit the community details (name, image, description, etc.)

* **As a** Community Manager, **I want to** be able to view the community members

* **As a** Community Manager, **I want to** be able to remove community members who violate the community guidelines, **so that** I can maintain a safe and welcoming space for others

## Admin Stories

* **As an** Admin, **I want to** view and manage user reports, **so that** I can ban the reported user or dismiss invalid reports

* **As an** Admin, **I want to** view banned users, **so that** I can I can lift bans for users who have successfully appealed

* **As an** Admin, **I want to** view a detailed profile page for any specific user, including their basic information, related session requests, services, and community involvement (when applicable), **so that** I can directly manage that user by taking actions such as banning them or lifting an existing ban.


## Future Enhancements and Features

### User experience

* **As a** user **I want to** be able to set up 2 factor-authentication using email **so that** it serves as an extra layer of security to protect my account

* **As a** user, **I want to** be able to upload my CV/Resume to my profile, **so that** my information gets auto-filled and I don't have to fill them manually

### Mentee Stories

* **As a** Mentee, **I want to** be able to switch my account to a Mentor account or can be a mentor, **so that** I can start offering services and help others once I feel ready.

* **As a** Mentee, I **want to** recieve notifications when different events happen (a session request status gets accepted, rejected, or canceled, etc.)

### Mentor Stories

* **As a** Mentor, **I want to** be able host spontaneous drop-in sessions whenever I'm available, **so that** more than one mentee can attend.

* **As a** Mentor, I **want to** recieve notifications when different events happen (getting a session request, a session getting canceled by a mentee, etc.)

* **As a** Mentor, **I want** the platform to show me if a time slot conflicts with any events on my Google Calendar, **so that** I don't have to check for it manually

* **As a** Mentor, **I want to** be able to share materials in the community thread, **so that** other members can easily access and benefit from them.


### Community Manger Stories
* **As a** Community Manager, **I want to** send announcements or updates through a thread for all community members

* **As a** Community Manager, **I want to** have a dashboard that shows key information and statistics about the community (number of members, average session times, etc.), **so that** I can better understand and support the community

### Admin Stories

* **As an** Admin, **I want to** have a dashboard that shows general statistics about the platform, **so that** I can gain informative insights to support decision-making