tutorbookapp / tutorbook

Web app that helps schools and nonprofits connect students with expert mentors and volunteer tutors.
https://tutorbook.org
Other
59 stars 13 forks source link

Students can select times after admin creates match #99

Open nicholaschiang opened 4 years ago

nicholaschiang commented 4 years ago

Is your feature request related to a problem? Please describe.

This feature request will enable EPATT to start switching their program over to TB from their existing workflow.

Right now, this is how EPATT goes about matching students with tutors:

  1. Students and tutors sign-up via EPATT's onboarding Google Form.
  2. Adrian (the EPATT admin) looks at that Google Sheet and manually matches the student with a tutor.
  3. Adrian creates a G-Suite forwarding account, a Zoom account, and a OnceHub profile for the tutor.
  4. Adrian sends the student (or their parents) an email with a link to the tutor's OnceHub profile link where they can select the times they'd like to meet (Adrian sets the number of meetings they'll have).
  5. The student (or their parents) open that OnceHub profile link and select the times they'd like to meet.
  6. OnceHub sends an email to the tutor and student with Zoom invites to all their meetings.
  7. The day before the meeting, OnceHub sends out reminder emails and text messages with the Zoom invite included.

I've got a sizable chunk of work ahead before EPATT will be able to completely transition to using only TB to run their program, but for now, getting that scheduling flow down (steps 4-5 listed above) is a good place to start.

Describe the solution you'd like

When creating a match, org admins should be able to check a box and have the match's students complete the match (e.g. Adrian can specify everything in the match except for the times which he leaves up to the student to select).

Or, there could be a drop-down action button with the option to "Create match without times" (or something) which sends an email to the match's students (CC-ing their parents) asking them to select times they can meet with their tutor.

Describe alternatives you've considered

Adrian could just send a link of the tutor's profile to the students and let the students fill out the entire request form (specifying both subjects, message, and times).

This, however, would require him to work against the ideal TB workflow (e.g. using the search view instead of the people view and matching users without creating requests first).

nicholaschiang commented 4 years ago

Thinking about this some more, I've come up with a better workflow that won't require us to build in an extra feature:

  1. Tutors sign-up using EPATT's sign-up form on TB.
  2. Students request tutors using an EPATT-unique form that creates new queued requests. They might even select when they're available then (so that Adrian can create the whole request himself).
  3. Adrian then uses The People Dashboard to find tutors for those requests and sends the tutor's profile URL to the students so they can send the request and choose times themselves.
  4. Once the student creates the match (by using the tutor's profile URL), both the student and tutor receive an email with a link to a scheduled Zoom meeting.
  5. TB sends reminders via email the day before the meeting as well.

Thus, we don't really need to spend much time on this issue, but rather on:

I'll be creating new issues for all of those tasks soon enough!