Skip to content
This repository was archived by the owner on Jun 10, 2019. It is now read-only.
This repository was archived by the owner on Jun 10, 2019. It is now read-only.

Change Airtable Mentor Request Form 'specific languages' options to match mentor skillsets #672

Closed

Description

@jjhampton

Feature

Why is this feature being added?

We currently have 82 Mentors listed in Airtable with one or more of the following skillsets:

  • Web (Frontend Development)
  • Web (Backend Development)
  • Mobile (Android)
  • Mobile (iOS)
  • Java
  • JavaScript
  • Python
  • Ruby/Rails
  • SQL
  • C#/.NET
  • C / C++
  • Design/UX
  • DevOps
  • Data Science

The current Airtable Mentor Request Signup form linked to from the header at https://op.co.de/mentor-request allows a user to request mentors for the following languages:

  • JavaScript
  • Ruby
  • Python
  • Java
  • .NET
  • HTML/CSS

These categories don't exactly match up.

What should your feature do?

Change AirTable Mentor Request Signup form so the options a user can request for a 'specific language' matches the same skillsets that that we already know about our Mentors.

This will allow us to Notify mentors via DM of a new Mentor Service Request matching their skillset (Slackbot repo).

If possible, adjust the Airtable form UI to allow a user to select multiple skillsets/specific languages.


Screenshots

screenclip


Notes

When this is finished, OperationCode/operationcode_bot#89 in the Slackbot repo can be started.

Activity

  1. rmkubik commented on Oct 12, 2017

    @rmkubik
    Contributor

    Does this issues require any updating on the receiving end of the API or is this purely a change in the form components?

  2. mduleone commented on Oct 12, 2017

    @mduleone

    It looks like the language options are being enumerated on line 60 of src/scenes/home/mentorRequest/mentorRequest.js, represented below:

      buildLanguageOptions = () =>
        [
          { value: 'javascript', label: 'Javascript' },
          { value: 'ruby', label: 'Ruby' },
          { value: 'python', label: 'Python' },
          { value: 'java', label: 'Java' },
          { value: 'dotnet', label: '.NET' },
          { value: 'htmlcss', label: 'HTML/CSS' }
        ]

    It looks like the values are not the same pretty-printed Are the values associated with specific labels on the backend that we should be aware of?

    Something tells me updating to

      buildLanguageOptions = () =>
        [
          { value: 'Web (Frontend Development)', label: 'Web (Frontend Development)' },
          { value: 'Web (Backend Development)', label: 'Web (Backend Development)' },
          { value: 'Mobile (Android)', label: 'Mobile (Android)' },
          { value: 'Mobile (iOS)', label: 'Mobile (iOS)' },
          { value: 'JavaScript', label: 'JavaScript' },
          { value: 'Python', label: 'Python' },
          { value: 'SQL', label: 'SQL' },
          { value: 'C#/.NET', label: 'C#/.NET' },
          { value: 'Design/UX', label: 'Design/UX' },
          { value: 'DevOps', label: 'DevOps' }
        ]

    is going to cause more a headaches

  3. rmkubik commented on Oct 12, 2017

    @rmkubik
    Contributor

    That's what I was concerned about. @mduleone
    AirTable is described as a database/spreadsheet hybrid though so I think it may just be a loose text relationship.

  4. mduleone commented on Oct 12, 2017

    @mduleone

    Also, it looks like the submitted languageType is currently a string, will it be okay if that's updated to be an array of strings?

  5. mduleone commented on Oct 12, 2017

    @mduleone

    I see you've rolled your own Select component... How y'all feel about bringing in React Select to get a multi-select for free?

  6. jjhampton commented on Oct 12, 2017

    @jjhampton
    MemberAuthor

    @mduleone We are actually already using React Select within our application for multi-select - it's implemented within the StateSortedSchools component.

  7. jjhampton commented on Oct 12, 2017

    @jjhampton
    MemberAuthor

    @rmkubik @mduleone This issue actually doesn't require any changes to the front-end application's components or codebase at this time. Currently, the form we use to submit Mentor Requests is the native Airtables form at https://airtable.com/shrPzqty0aXtfWuuq, which is linked to from the 'Request Help' nav on the Operation Code page. We can continue to use the Airtables form UI until we have a pressing reason to switch to something else. Our front-end and back-end applications are not involved in this process, other than linking to the form.

    The front-end MentorRequest component is not currently in use. It was built out prematurely, before a feature request was ever made to our back-end to interface with it. Our back-end API has never been set up to receive Mentor Requests from our front-end.

    It's code should probably be deleted, since it's now stale - (although it would eventually be nice to reuse it). We have discussed some other ideas on improving the mentor request process, and maybe this component could come into play there again.

    Sorry for any confusion, - I added this issue here because it's part of a Mentorship Management Improvements Epic in the main OC repo, and since our front-end page does link to it from the navigation, this repo seemed like the appropriate place.

  8. self-assigned this
    on Oct 16, 2017
  9. jjhampton commented on Oct 16, 2017

    @jjhampton
    MemberAuthor

    I've updated the Airtable form to allow mentees to multi-select mentor skillsets. I've updated the available options so that all 14 of the Mentor Skillsets are now selectable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions