GithubHelp home page GithubHelp logo

kavignon / fssf-mentorship-planner Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 1.42 MB

SAFE application enabling F# developers to sign up and manage their application to the FSSF mentorship program.

Batchfile 0.15% Shell 0.15% F# 64.72% JavaScript 32.88% HTML 1.79% SCSS 0.31%

fssf-mentorship-planner's Introduction

Hi there ๐Ÿ‘‹

My name is Kevin Avignon, and I am a senior software developer based in Montreal, Canada. I used to be a board member for the F# Software Foundation (FSSF). I led for 2 years the educative efforts for our international mentorship program and over that time, I had community members engaged with me as we built a platform to do match making between applicants (mentors/mentees).

You can find a list below of what I'm currently focused on:

Top Langs

kavignon

github trophies

fssf-mentorship-planner's People

Contributors

kavignon avatar michaeloyer avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

fssf-mentorship-planner's Issues

Activate/Deactivating mentorship round

When activating a mentorship round, here are the expectations for the cloud system:

  • Sends an email to a given mentor based on the HTML template from the mentorship email.
  • Sends an email to a given mentee based on the HTML template from the mentorship email.
  • Invites a given mentor to the private mentor channel in the FSSF Slack.

When deactivating a mentorship round, here are the expectation for the cloud system:

  • Remove all added mentors from the current round from the private mentor channel
  • Request users to provide their feedback for the given round and for the mentor/mentee

Add a landing page

On the landing page, we should quickly understand the project's goal and have a link that sends readers to the FSSF website.

From the landing page, users can:

  • Sign in or Sign up
  • Check their profile page
  • Check the active round page
  • Organizers can inspect the active round in admin mode

Setup an AWS RDS

In the free tiers of AWS, let's set up a database that can support the needs of the application such as:

  • Persisting the profiles of the applicants and the organizers,
  • Persisting the history of the rounds,
  • Persisting the supported F# topics that can be found in a mentorship round,
  • Persisting the feedback on applicants

Deploy the website on AWS

For the MVP, let's simply select the free tiers of Azure, and we can worry about custom domains, should the need arise, in the future.

Add the functionality of pairing a mentor to a mentee

When pairing a mentor to mentee, there are a few things that should be kept in mind:

  • There are skills that are rarer to find in a given mentorship round such as machine learning with F#. A pairing for a rarer skill has more weight than a pairing for a skill that's popular such as being introduced to F#. We can simply measure the frequency of applications per topic and provide more weight to the topics that have far less demand.
  • We suggest that mentors start supporting more than one mentee after they've completed a round of mentoring before with a single student.
  • A mentor cannot teach to 2+ mentees at the same time. It's possible to teach on Monday from 6 to 7.30 pm and then 8 to 10 pm or have different mentoring sessions on different weekdays.
  • A pairing between a mentor and a mentee will be considered only if there's a match in for their topics of interest in F# and they have an overlap in their availabilities
  • The more hours applicants have in common, the easier it'll be to find a time to meet and therefore, the stronger the relationship between the 2 parties.

Add applicant sign up page

On the signup page for applicants, we want to make sure to capture the following information:

  • Their full name
  • Their Slack username in the FSSF Slack
  • Their email address
  • Their password for their account

Add applicant enrollment page

On this page, we want to capture the given information:

  • Their timezone for the given round (this could change from round to round if they go on a trip or relocate)
  • Their F# topic(s) that they're looking to learn/work on during the round
  • Their weekly schedule during the mentorship round
  • Whether they are a mentee or mentor or both
  • For mentors, how many mentees they are willing to support and which topic per mentee

Add the admin page to view active status of the mentorship round

On this page, admins (the mentorship organizer(s)) can do the following:

  • See a chart that shows the number of mentors and the number of mentees
  • Breakdown the list of applicants by mentors/mentees/F# topic/timezone
  • See an estimation of how many pairings can be created for the active round based on the current data
  • Create a temporary list of pairings based on the applicant pool
  • Lock the list of pairings and activate the mentorship round

Create the GitHub Action configuration for the project

Everything related to the project will be handled in the repository, such as building, testing, package, and deploying the application to the cloud provider (Azure).

Let's start with something simple for an initial version and go from there.

  • Restore the development dependencies
  • Build the solution
  • Test the solution
  • Build the Docker image
  • Deploy Docker image to AWS
  • Add support for Windows and Linux machines

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.