# Mentors Showcase
This document will serve as a collaborating point for the development of the [OC Mentors Showcase feature](https://github.com/OperationCode/operationcode/issues/774).
## Overview
This project will involve two general features:
- A mentors showcase page
- A UI for mentors to provide their background information
### Mentors Showcase Page
This page will showcase the Operation Code mentors. After some discussion, we'd like to emulate the interface that Bloc.io uses [here](https://bloc.io/mentors). It could contain:
- A photograph of the mentor
> [name=hollomancer]We should ensure we specify standards for image type and resolution
- Areas the mentor "mentors" people in
> [name=hollomancer]This entails some backend work to link mentors to users, which is probably good anyway (we need to track the skills people have vs. the skills people are working on)
- Cross-links to squads and other OC pieces they are involved with
> [name=hollomancer]Will need to define scope of this
> [name=kylemh]I thought we gave up on squads?
- Where they live (or their state), in case a face-to-face is ever an option (as well as relative time zones)
- Some of the mentors history and experience, so they are more relatable (keep this?)
- Links to their GitHub, Linkedin, personal site/portfolio, Twitter
- What else?
### Mentor Background Form
This would be a form where a mentor can enter in their own information.
Access to this form should be protected behind tiered permissions.
## Frontend User Stories
### Mentors Showcase
- _As a user, I would like to be able to see what mentors Operation Code offers, so that I understand the value the organization can deliver to my learning experience._
- _As a user, I would like to be able to see the skills, level of experience, and current workplace to judge a mentors ability to mentor me_
- _As a user, I would like the ability to click on a link or link(s) to get a closer look at a specific mentor, so that I can learn more about them if I become interested in them. Example: Links to their GitHub or LinkedIn._
- _As a user, I would like to be see a mentor's Slack username so that I can easily find them on the Operation Code Slack team._
### Mentor Form
- To be filled in
> [name=kylemh]Is this for the potential mentor to fill out? If it's for the Mentee, this should be called "Mentorship Request Form" or "Mentee Form".
## Backend User Stories
### Mentors Showcase
- Associating a picture with a user, including storage and caching
- Endpoint for retrieving an `index` of mentors, their mentor data, and their picture, including API documentation
### Mentor Form
- CRUD API endpoints and documentation
- An authorization system (likely using [Pundit](https://github.com/elabs/pundit)) for an MVP of tiered permissions, beginning with a mentor level permission
> [name=hollomancer]Any more stuff we gotta add to the user object?
- A `rake` task for granting the authorization to a list of `User` ids
> [name=hollomancer]We should ensure we specify standards for image type and resolution