This package has been deprecated

Author message:

this package has been deprecated

@laboratoria/rubric

3.0.5 • Public • Published

@laboratoria/rubric

⚠️ WARNING: This module has been DEPRECATED and is no longer supported.

Build Status Coverage Status

Este repositorio contienen una librería (biblioteca) de JavaScript que representa la rúbrica que usamos en el Bootcamp de Laboratoria. La rúbrica se mantiene como un par de hojas de cálculo en Google Sheets (español, portugués).

Los mantenedores de los documentos de la rúbrica en Google Sheets son:

Instalación

Si solo necesitas la versión más reciente de la rúbrica, puedes instalar el módulo @laboratoria/rubric desde el repo de GitHub con los siguientes comandos:

# con npm
npm install --save @laboratoria/rubric

API

Propiedades

name

El nombre de la librería: rubric.

version

La versión de la librería: 3.0.0.

categories

Objeto (diccionario) con las diferentes categorías en las que se organizan las habilidades o skills.

skills

Objeto (diccionario) con las diferentes habilidades/skills.

intl

Objeto (diccionario) con las traducciones de los nombres de las categorías, y nombres, descripciones y niveles de cada habilidad

Métodos

buildTree(nodes = categories, parent = undefined)

Retorna un Array con las categorías raíz. Por defecto, si omitimos el argumento nodes, las categorías raíz serían las hojas del spreadsheet, y si omitimos el argumento parent estaríamos diciendo que queremos construir el árbol desde la raíz. El arreglo retornado contiene las categorías raíz, cada una con sus subcategorías y habilidades correspondientes.

const rubric = require('@laboratoria/rubric');

// Build entire tree from the root
console.log(rubric.buildTree());

// Build partial tree (sub-tree) for a given branch
console.log(rubric.buildTree(undefined, 'frontEnd'));

Cada categoría/subcategoría (Category) tiene las siguientes propiedades:

  • id: String: El identificador de la categoría.
  • order: Number: El orden de la categoría dentro de su categoría madre.
  • children: Array [Category]: Un arreglo con subcategorías que sean hijas de la categoría.
  • skills Array [Skill]: Un arreglo de objetos de tipo Skill detallados más abajo.

Cada habilidad (Skill) tiene las siguientes propiedades:

  • id: String: El identificador de la habilidad.
  • core: Boolean: Un booleano (true o false) que indica si la habilidad en cuestión es considerada central al programa de formación.
  • order: Number: El orden de la habilidad dentro de su categoría madre.
  • category: String: La categoría a la que pertenece la habilidad.

Ejemplo de un objeto Category conteniendo un objeto Skill:

// Objeto `Category`
{
  id: 'cs',
  parent: 'frontEnd',
  order: 0,
  children: [],
  skills: [
    // Objeto `Skill`
    {
      id: 'logic',
      core: true,
      order: 0,
      category: 'cs'
    }
  ]
}

buildTreeWithLocale(locale, nodes, parent)

Igual que buildTree, pero agrega todos los textos (títulos, descripcciones, niveles, ...) en el idioma (locale) seleccionado.

Cada categoría (Category) tiene las mismas propiedades que las categorías que retorna buildTree(), pero además incluye la propiedad title en el idioma seleccionado:

  • id: String: El identificador de la categoría.
  • order: Number: El orden de la categoría dentro de su categoría madre.
  • children: Array [Category]: Un arreglo con subcategorías que sean hijas de la categoría.
  • skills Array [Skill]: Un arreglo de objetos de tipo Skill detallados más abajo.
  • title: String: El título de la categoría en el idioma seleccionado.

Cada habilidad (Skill) tiene las mismas propiedades que las habilidades que retorna buildTree(), pero además incluye las propiedadestitle, description y levels:

  • id: String: El identificador de la habilidad.
  • core: Boolean: Un booleano (true o false) que indica si la habilidad en cuestión es considerada central al programa de formación.
  • order: Number: El orden de la habilidad dentro de su categoría madre.
  • category: String: La categoría a la que pertenece la habilidad.
  • title: String: El título de la habilidad en el idioma seleccionado.
  • description: String: Descripcción de la habilidad en el idioma seleccionado.
  • levels: Array [String]: Un arreglo de strings con las descripcciones de cada nivel en el idioma seleccionado.

Ejemplo de un objeto Category (con traducción) conteniendo un objeto Skill (con traducción):

// Objeto `Category` con traducción
{
  id: 'cs',
  parent: 'frontEnd',
  order: 0,
  title: 'Computer Science (CS)',
  children: [],
  skills:[
    // Objeto `Skill` con traducción
    {
      id: 'logic',
      core: true,
      order: 0,
      category: 'cs',
      title: 'Lógica / Algoritmia',
      description: 'Capacidad de expresión lógica, ...',
      levels: [
        'Código no sigue ninguna convención o patrón común...',
        'Demuestra uso de convenciones de JavaScript idiomático...',
        'Es consciente de la diferencia entre estilos...',
        'Demuestra soltura pasando de un estilo/paradigma a otro...',
        'Demuestra soltura y profundidad con diferentes convenciones...',
     ],
    },
  ],
};

applyLocale(tree, locale)

Dado un árbol creado con buildTree, aplica los textos (títulos, descripcciones, niveles, ...) en el idioma (locale) seleccionado.


Tareas de desarrollo

Ejecuta pruebas unitarias (incluyendo pretest/linter)

npm test

Ejecuta pruebas unitarias cada vez que hayan cambios en código fuente

npx jest --watch

Descarga datos de Google Sheets

npm run fetch-data

Procesa data descargada de Google Sheets

npm run process-data

Descarga datos y proces en un solo comando

npm run fetch-and-process

Readme

Keywords

none

Package Sidebar

Install

npm i @laboratoria/rubric

Weekly Downloads

1

Version

3.0.5

License

MIT

Unpacked Size

112 kB

Total Files

4

Last publish

Collaborators

  • mfdebian
  • bouli
  • lupomontero