Skip to content

Develop new Qualifier (Skills Matrix) pages #665

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
7 of 15 tasks
LoTerence opened this issue Mar 29, 2025 · 5 comments
Open
7 of 15 tasks

Develop new Qualifier (Skills Matrix) pages #665

LoTerence opened this issue Mar 29, 2025 · 5 comments
Assignees
Labels
complexity: large javascript Pull requests that update Javascript code P1: Highest Highest priority p-feature: Qualifier Page p-feature: Skills Matrix PBV: dev all issues for engineering roles (devops, backend, frontend, db) role: frontend Pertains to frontend tasks size: 13pt+ Must be broken down into smaller issues
Milestone

Comments

@LoTerence
Copy link
Member

LoTerence commented Mar 29, 2025

Overview

As a new volunteer to Hack for LA, I should be able to complete a 3-part questionnaire about my Community of Practice, skills, and weekly availability, so that I can be better matched to potential HFLA project opportunities.

Context

We just received finalized qualifier page designs from the CTJ design team. As developers, we need to implement them in the frontend of our application.

What are qualifier pages?

  • The qualifer pages are essentially a giant multi-page form that collects the user's practice area (design, product, developer, etc), skills, and weekly availability data.
  • A prospective volunteer will complete this form when they are first onboarding onto Hack for LA
  • Once the form is completed, the user will be directed to a volunteer opportunities search result page, pre-populated with projects and opportunities that best match their skillset and availability.

Action Items

Overall objective: Develop new Qualifier (skills matrix) pages based off the new Figma designs

  1. Develop qualifier pages
  2. Develop necessary components
  3. Develop qualifiers Context API
  4. Develop react-router functionality
  5. Clean up old irrelevant Qualifier page files

1. Develop qualifier pages - requirements:

  • Develop Step 1: Practice Area page
  • Develop Step 2: Skills Evaluation pages (skills matrix)
  • Develop Step 3: Availability Page
  • Create mock questionnaire data for at least one practice area

We can do this later:

  • Develop Skill Eval page's Error state

2. Develop necessary components - requirements:

  • Develop Stepper component
  • Develop Floating navbar component

3. Develop qualifiers Context API - requirements:

  • User should be able to use the floating navbar to navigate back and forth across the Qualifier pages without losing their form data
  • User should be able to use the floating navbar to navigate back and forth across the Skill Evaluation parts without losing their form data
  • This data should be stored and accessed within a React Context API scoped specifically for the Qualifier pages

This form data will eventually be submitted to the server as JSON when the user clicks the "Continue" button at the end of the last step (availability page).

4. Develop react-router functionality - requirements:

  • React-router: user should be able to use the floating navbar to navigate back and forth across the three qualifier step pages without losing their history
  • User should be able to use the floating navbar to navigate back and forth across the various Skill Evaluation parts/pages without losing their history. There could be up to 5 parts here.

5. Clean up

There are old qualifier page files based on old designs that will no longer be used. These should be deleted / refactored away in the final PR:

  • old practice area page
  • old qualifier context file
  • etc.

Resources/Instructions

End to end flow from dev perspective
CTJ Figma
Resources
Database model
CTJ : HfLA Skills and Experience Matrix - spreadsheet

@github-project-automation github-project-automation bot moved this to 🆕 New Issue Approval in P: CTJ: Project Board Mar 29, 2025
@LoTerence LoTerence added complexity: large p-feature: Skills Matrix p-feature: Qualifier Page role: frontend Pertains to frontend tasks size: 13pt+ Must be broken down into smaller issues P1: Highest Highest priority javascript Pull requests that update Javascript code PBV: dev all issues for engineering roles (devops, backend, frontend, db) labels Mar 29, 2025
@LoTerence LoTerence added this to the 07 - MVP 1 milestone Mar 29, 2025
@LoTerence
Copy link
Member Author

Relevant Figma designs

Three step Qualifier pages - located in "DEV HANDOFF" section:

Image

Stepper component:

Image

Floating Navbar component:

Image

@LoTerence LoTerence moved this from 🆕 New Issue Approval to 📋 Prioritized Backlog in P: CTJ: Project Board Mar 29, 2025
@LoTerence
Copy link
Member Author

#660

  • This PR should cover most of objective 1: Develop qualifier pages
  • and also the first requirement of objective 2: Develop Stepper component

Once its merged, I will check them off

@LoTerence
Copy link
Member Author

@LoTerence
Copy link
Member Author

LoTerence commented Apr 7, 2025

Update from 04/01/2025 CTJ Leads meeting: Hold off on development of Chips Selection page + functionality until design is explicitly approved by Bonnie. Bonnie might not approve of this feature.

Chips Selection Page:

Image

@kcoronel
Copy link
Member

kcoronel commented May 6, 2025

@bennyv8 Please provide update

  1. Progress

  2. Blockers

  3. Availability

  4. ETA

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
complexity: large javascript Pull requests that update Javascript code P1: Highest Highest priority p-feature: Qualifier Page p-feature: Skills Matrix PBV: dev all issues for engineering roles (devops, backend, frontend, db) role: frontend Pertains to frontend tasks size: 13pt+ Must be broken down into smaller issues
Projects
Status: 🏗 In progress
Development

No branches or pull requests

3 participants