0.2.8 • Published 3 years ago

progression-radar v0.2.8

Weekly downloads
92
License
-
Repository
-
Last release
3 years ago

Progression radar

CircleCI Netlify Status

Progression Radar is a simple visualisation tool for career and learning paths.

Live demo: https://progression-radar.netlify.com

Motivation

Progression radar is designed as a tool for visualizing the progression in different areas related to a career growth plan or career path or a learning path.

Inspired in the deprecated Medium's snowflake tool, it shows your progress in the levels within the areas you configure.
Also, you can compare your progress and levels with the ones that are required by other configured roles.

The app doesn't require a database or a backend; all the status data will be passed thought a url query parameter.

Status

This project is still in wip; there is no release yet.

Getting started

Installation

The first step is clone this repository and install all the dependencies.
You will need git and yarn intalled in your computer. You can see how to install yarn in the yarn website.

Then, you are ready to clone and install the dependencies:

git clone git@github.com:asiermarques/progression-radar.git
cd progression-radar

yarn install

To start to use the app, you need to copy the configuration data files.

cp ./src/data/categories.yml.dist ./src/data/categories.yml
cp ./src/data/roles.yml.dist ./src/data/roles.yml

And then, start the development server.

yarn start

Customize your path

Configure the categories

The categories represent the areas in your path, i.e.: communication, software engineering. All the categories are configured in the ./src/data/categories.yaml file.

Every category will be an entry of a YAML array with these fields specified on it:

fielddescription
keya unique and short identifier for the category
namethe name for the category
descriptiona brief description of the category
kpisan array of KPIs or skills for the category

KPIs

Each category has a list of KPIs. A KPI is a skill, behavior, or concept that you need to master to reach a level in a specific category.

Each KPI will be an entry of the kpis category field and will have these fields specified on it:

fielddescription
summarya title of a brief description of the KPI
descriptionan extended description of the KPI. Markdown is supported
tagsa simple array of tags for this KPI
levela numeric level for this skill

Example

# categories.yaml
- 
  key: ps
  name: Problem-solving
  description: Shares the right amount of information with the right people, at the right time, and listens effectively
  kpis: 
    - 
      summary: Communicates effectively to close stakeholders when called upon, and incorporates constructive feedback
      description:  >
        **Example behaviors:**

        * Communicates project status clearly and effectively

        * Collaborates with others with empathy

        * Asks for help at the appropriate juncture  


        **Example tasks:** 

        * Updated The Watch before running a backfill

        * Updated project status changes in Asana promptly
        
        * Gave thoughtful check-in and check-out comments

      tags: ["tech", "management"]
      level: 1

Configure the roles

A role is a step in your ladder. You will grow from one role to another, reaching specific levels in each category.
All the roles are configured in the ./src/data/roles.yaml file.

Every role will be an entry of a YAML array with this fields specified on it:

fielddescription
keya unique and short identifier for the role
namethe name for the role, i.e., Senior Backend Engineer
levelsrepresent the levels that the role requires for the configured categories. It is an object with key-value fields. The key is for a category's key and the value is for that category level, i.e.: { ps: 1, comm: 3, ...}

Example

# roles.yaml
-
  key:  aswe
  name: Associate Software Engineer
  levels: { comm: 1, ps: 1, rs: 1, des: 1, fin: 1, data: 1, front: 1, back: 1, infra: 1 }

The status info passed by url

The information to visualize the progress of a person is passed by an url query parameter named state.

This param expect a json object with the following fields:

fielddescription
namethe person's name
levelsrepresent the levels that the person has reached for the configured categories. It is an object with key-value fields. The key is for a category's key and the value is for that category level, i.e.: { ps: 1, comm: 3, ...}
roleKeythe person's current role
tagsa simple array of tags that this person is interested about
compareTooptional: a role that will be used for a level comparison

Example

/?state={name: "John Connor", levels: { comm: 2, ps: 1, rs: 2, des: 1, res: 1, fin: 1, data: 1, front: 1, back: 1, infra: 1 }, roleKey: "aswe", tags: ["tech"], compareTo:  "swe"}

Available Scripts

In the project directory, you can run:

yarn start

Runs the app in the development mode. Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits. You will also see any lint errors in the console.

yarn test

Launches the test runner in the interactive watch mode. See the section about running tests for more information.

yarn build

Builds the app for production to the build folder. It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes. Your app is ready to be deployed!

See the section about deployment for more information.

0.2.8

3 years ago

0.2.7

4 years ago

0.2.6

4 years ago

0.2.5

4 years ago

0.2.4

4 years ago

0.2.3

4 years ago

0.2.1

4 years ago

0.2.2

4 years ago

0.2.0

4 years ago

0.1.13

4 years ago

0.1.14

4 years ago

0.1.11

4 years ago

0.1.12

4 years ago

0.1.10

4 years ago

0.1.8

4 years ago

0.1.9

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.5

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago