Skip to content

Anatomía de un proyecto

Lupo Montero edited this page Aug 6, 2019 · 6 revisions
  • Las carpetas de proyectos siguen la nomenclarura 00-slug, donde 00 son dos dígitos que expresan una intención de ordenado, y el slug es un string único para cada proyecto, en minúsculas y de entre 1 y 97 caracteres. Expresado como RegExp sería algo como ^\d{2}-[a-z\-]{1,97}$. Longitud máxima del nombre de carpeta son 100 caracteres.
  • El único archivo obligatorio es el README.md.
  • Todo lo demás se considera boilerplate.

README.md

Lo mejor es ver un par de ejemplos como cipher o burger-queen.

  • Debe comenzar con un <h1> con el título del proyecto.
  • Justo después del título debe incluir un índice (TOC).
  • El índice debería incluir solo un nivel del árbol, a menos de que haya un motivo especial que lo justifique.
  • Inmediatamente después cerramos el índice con un <hr />.
  • El índice no debe listarse a sí mismo. No hay necesidad de incluir el índice como primer elemento del índice.
  • Los elementos del indice estarán numerados. Esto hace más fácil digerir y manejar la información del proyecto.

Ejemplo de título y TOC:

# Título

## Índice

* [1. Preámbulo](#1-preámbulo)
* [2. Resumen del proyecto](#2-resumen-del-proyecto)
* [3. Objetivos de aprendizaje](#3-objetivos-de-aprendizaje)
* [4. Consideraciones generales](#4-consideraciones-generales)
* [5. Criterios de aceptación mínimos del proyecto](#5-criterios-de-aceptación-mínimos-del-proyecto)
* [6. Evaluación](#6-evaluación)
* [7. Pistas, tips y lecturas complementarias](#7-pistas-tips-y-lecturas-complementarias)

***

Secciones

Cada sección (obligatoria o no) comienza con un <h2> con el título de la sección. Para facilitar la navegación y conversación sobre los proyectos usamos un prefijo numérico (como lista numerada).

Secciones obligatorias

    1. Preámbulo
    1. Resumen del proyecto
    1. Objetivos de aprendizaje
    1. Consideraciones generales
    1. Criterios de aceptación mínimos del proyecto
    1. Evaluación
    1. Pistas, tips y lecturas complementarias

Ejemplo de secciones:

## 1. Preámbulo

Entre 1 y 3 párrafos dándo contexto al proyecto, las tecnologías y herramientas
involucradas, por qué es importante/útil aprender esto. Qué esperar del proyecto
(desde el punto de vista de la estudiante).

## 2. Resumen del proyecto

Blah blah blah...

## 3. Objetivos de aprendizaje

Blah blah blah...

Tópicos: _react_, _angular_, _vue_, _pwa_, _offline-first_, _service-worker_.

## 4. Consideraciones generales

Este proyecto se debe "resolver" de forma [individual/duplas/tríos/...].

Blah blah blah...

## 5. Criterios de aceptación mínimos del proyecto

### Definición del producto

Blah blah blah...

***

#### [Historia de usuario 1] Blah blah blah...

Blah blah blah...

##### Criterios de aceptación

Lo que debe ocurrir para que se satisfagan las necesidades del usuario)

* ...

##### Definición de terminado

Lo acordado que debe ocurrir para decir que la historia está terminada.

* ...

***

## 6. Evaluación

NOTA: Esta sección incluye una lista de habilidades que se podrán tener en
cuenta a la hora de evaluar el proyecto. Los niveles esperados son _sugerencias_
así como _guías_ en el diseño curricular, pero no reglas absolutas.

Te aconsejamos revisar [nuestra rúbrica](https://docs.google.com/spreadsheets/u/1/d/e/2PACX-1vRktPN4ilZtkRN5tUb3DVhgeihwlzk63_-JI3moA-bXpKDbHDioAK2H3qbrwWNb0Ql4wX22Tgv7-PDv/pubhtml)
para ver la descripción detallada de cada _habilidad_ y cada _nivel_. Te
recomendamos también que trates de aplicarte la rúbrica a tí misma y/o a los
proyectos de tus compañeras a lo largo del Bootcamp para ir viendo tu evolución.

### Habilidades Blandas

| Habilidad                                       | Nivel esperado |
|-------------------------------------------------|----------------|
| Planificación, organización y manejo del tiempo | ?              |
| Autoaprendizaje                                 | ?              |
| Presentaciones                                  | ?              |
| Adaptabilidad                                   | ?              |
| Solución de problemas                           | ?              |
| Trabajo en equipo                               | ?              |
| Responsabilidad                                 | ?              |
| Dar y recibir feedback                          | ?              |
| Comunicación eficaz                             | ?              |

### Habilidades Técnicas, Front-end

| Habilidad              | Nivel esperado |
|------------------------|----------------|
| **Computer Science**                    |
| Lógica                 | ?              |
| Arquitectura           | ?              |
| **Source Control Management**           |
| Git                    | ?              |
| GitHub                 | ?              |
| **JavaScript**                          |
| Estilo                 | ?              |
| Nomenclatura/semántica | ?              |
| Funciones/modularidad  | ?              |
| Estructuras de datos   | ?              |
| Tests                  | ?              |
| **HTML**                                |
| Validación             | ?              |
| Estilo                 | ?              |
| Semántica              | ?              |
| **CSS**                                 |
| DRY                    | ?              |
| Responsive             | ?              |

### Habilidades Técnicas, UX

| Habilidad                                         | Nivel esperado |
|---------------------------------------------------|----------------|
| User Centricity (_Diseño Centrado en el Usuario_) | ?              |
| **Diseño Visual (_Visual Design_)**               | ?              |

***

## 7. Pistas, tips y lecturas complementarias

### Primeros pasos

Blah blah blah...

### Otros recursos

Blah blah blah...

Secciones opcionales

  • Hacker edition
  • Consideraciones técnicas (más detalles técnicos 🙈)
  • Checklist