Skip to content

rocioalberdi/curricula-js

 
 

Bootcamp @Laboratoria

All Contributors Build Status

Introducción

Nuestro bootcamp es un programa de formación inmersivo de 6 meses enfocado en Front End Development y UX Design. Nuestra metodología de aprendizaje trata de imitar el entorno de trabajo real y se centra en completar una serie de proyectos de complejidad gradualmente creciente.

Cada proyecto se acompaña con una serie de tópicos sugeridos incluyendo materiales de aprendizaje por cuenta propia (self-paced).

Los proyectos son evaluados por coaches y pares (peers) usando una rúbrica estandarizada que siempre incluye componentes generales, habilidades blandas, habilidades técnicas y ux.

Mapa de aprendizaje

El mapa de aprendizaje/proyectos se divide en 4 etapas: Admisión, Common Core, Track (Front End Dev y UX Designer) y Electivos.

                         => Track de Front End Dev => Electivos
                       //
Admisión => Common Core
                       \\
                         => Track de UX Designer => Electivos

Etapa 0: Admisión

La etapa de admisión empieza antes de ser aceptada a nuestro Bootcamp. Al final de cada proceso de admisión invitaremos a candidatas seleccionadas a completar un proyecto presencialmente en una de nuestras sedes.

Proyecto: Trivia (necesita refactorización)

Etapa 1: Common core

Una vez admitida a nuestro Bootcamp, todas comienzan con el common core. En esta etapa completarás los siguientes proyectos en orden, cada uno desbloqueando el siguiente. Al final del common core las estudiantes participan en una serie de hackathones trabajando en proyectos más chicos propuestos por empresas/empleadores externos.

Proyecto: Cipher

En este proyecto implementarás una aplicación web basada un boilerplate que permita cifrar y descifrar texto usando la técnica del cifrado césar.

El objetivo principal de aprendizaje de este proyecto es tener tu primera experiencia construyendo una aplicación web usando tus conocimientos de User Experience Design y de JavaScript. Esto incluye diseñar un producto pensando en los usuarios, construir una interfaz, escuchar eventos básicos del DOM, escribir lógica para llevar a cabo el cifado/descifrado, tests unitarios básicos para comprobar (y documentar) dicha lógica, y finalmente manipulación del DOM para mostrar (escribir) los resultados.

Proyecto: Data Lovers

En este proyecto tendrás tu primer acercamiento a transformar data en información creando tu primera interfaz basada en data.

El objetivo principal de este proyecto es que aprendas a diseñar y construir una interfaz web donde podamos visualizar y manipular data.

Esperamos que puedas pensar en el usuario, entender cuál es la mejor manera de visualizar la data según sus necesidades, y plasmar todo eso en tu diseño en la web.

Además, este proyecto se debe "resolver" en parejas, por lo que un objetivo importante es ganar experiencia en trabajos colaborativos con entrega grupal.

Proyecto: Social Network

En este proyecto partimos del supuesto que una empresa nos ha pedido hacer un prototipo para una red social, y nos dan a elegir un tema que nos interese para la red social entre algunas sugerencias.

El objetivo principal de aprendizaje de este proyecto es construir un sitio web responsive con más de una vista (página), y en el que podamos leer y escribir datos, además de entender las necesidades de los usuarios para los que crearás el producto.

  • Duración estimada: 3 semanas.
  • Equipos: 3 estudiantes
  • Tópicos: Mobile first, Responsive, URL, HTTP, Async, Múltiples vistas, Routing, Escritura de datos, localStorage, Firebase.

En este proyecto tendrás que implementar un sistema web de registro de visitantes para un coworking.

El objetivo principal de este proyecto es que pongas en práctica todo lo aprendido durante el common core, con foco en la calidad, trabajando en un equipo multifuncional y presentando tu solución a una audiencia.

  • Duración estimada: 1 semana
  • Equipos: 3 estudiantes
  • Tópicos: Todo lo visto hasta este punto.

Etapa 2: Deep dive

Después del common core cada grupo se separa en tracks especializados: JavaScripters y UXers. Durante esta etapa las estudiantes trabajarán en dos proyectos en paralelo.

Front End Dev (JavaScripters)

Tópicos comunes (independientes de proyecto): Paradigmas, JavaScript Funcional.

En este proyecto simulamos una postulación a una empresa como Front-end Developer.

El objetivo principal de este reto es que conozcas un proceso de reclutamiento para una posición de Front-End development y estés preparada para enfrentar los meses de colocación laboral. El 100% de las preguntas, retos, desafíos, etc. que se plantean en este proyecto son casos reales de empresas que han contratado y/o entrevistado a egresadas de Laboratoria.

  • Duración estimada: ?
  • Equipos: 1 estudiante
  • Tópicos: Todo lo visto en el common core.

En este proyecto tendrás que implementar un sistema para que lxs meserxs de un restautante (Burger Queen) puedan tomar nota de los pedidos usando una tablet.

El objetivo principal de aprendizaje de este proyecto es construir una interfaz web usando un framework (React, Vue o Angular).

Como objetivo secundario, la implementación debe además seguir las recomendaciones para PWAs (Progressive Web Apps), lo cual incluye conceptos como offline.

  • Duración estimada: 3 semanas.
  • Equipos: 1-2 estudiantes
  • Tópicos: Frameworks, React, Vue, Angular, PWA, Offline first, Service Workers, Serverless.
Proyecto: Markdown Links

Dentro de una comunidad de código abierto, nos han propuesto crear una herramienta usando Node.js, que lea y analice archivos en formato Markdown, para verificar los links que contengan y reportar algunas estadísticas.

El objetivo práctico de este proyecto es que aprendas cómo crear tu propia librería (o biblioteca - library) en JavaScript.

Diseñar tu propia librería es una experiencia fundamental para cualquier desarrollador porque que te obliga a pensar en la interfaz (API) de tus módulos y cómo será usado por otros developers. Debes tener especial consideración en peculiaridades del lenguaje, convenciones y buenas prácticas.

  • Duración estimada: 3 semanas.
  • Equipos: 1 estudiante
  • Tópicos: Node.js, NPM, File System, Semver, Parsing, Markdown, CLI, HTTP, Módulos, Errores.

UX

Proyecto: (tbd)
  • Duración estimada: 4 semanas.
  • Tópicos: (tbd)

Etapa 3: Capstone / Electivos

El último mes del Bootcamp - más o menos, cada una avanza a su ritmo - se espera que construyas tu proyecto final o capstone, que puede estar basado en los tópicos/tecnologías vistas hasta el momento, o pueden cubrir algunos de los tópicos sugeridos (electivos).

Front End Dev (JavaScripters)

El objetivo principal de aprendizaje es adquirir experiencia con Node.js como herramienta para desarrollar aplicaciones de servidor, junto con una serie de herramientas comunes usadas en este tipo de contexto (Express como framework, MongoDB como base datos, ...).

En este proyecto tendrás que construir un servidor web que debe servir JSON sobre HTTP.

En este proyecto partimos de un boilerplate que ya contiene una serie de endpoints (puntos de conexión o URLs) y nos piden completar la aplicación. Esto implica que tendremos que partir por leer la implementación existente, y familiarizarnos con el stack elegido: Node.js, Express, MongoDB, mongoose, ...

  • Duración estimada: 2 semanas.
  • Equipos: 1 estudiante
  • Tópicos: Node.js, Express, rutas (routes), URLs, HTTP (verbs, request, response, headers, body, status codes...), JSON, MongoDB, variables de entorno, JWT (JSON Web Tokens)...

El objetivo principal de aprendizaje es tener una primera experiencia en desarrollo de aplicaciones nativas con React Native.

En este proyecto tendrás que construir una aplicación usando React Native y Expo, y publicarla en tu cuenta de Expo, para que se pueda instalar en cualquier dispositivo Android o iOS.

Para completar el proyecto tendrás que familiarizarte con conceptos como View, Text o TouchableOpacity, además del flujo de desarrollo propio de apps nativas.

  • Duración estimada: 2 semanas.
  • Equipos: 1 estudiante
  • Tópicos: React Native, Expo, componentes nativos, touch events, ...

UX

Proyecto: (tbd)
  • Duración estimada: 4 semanas.
  • Tópicos: (tbd)

Índice de tópicos

En uso (v2.x):

Work in progress:

  • Node
  • Redux

Wish list:

  • Algorithms
  • Angular
  • Data Structures
  • Databases
  • Editors
  • ESNext
  • Modules
  • Serverless
  • Styleguides
  • The web stack

Contribuciones

Toda contribución es gratamente bienvenida.

Pero POR FAVOR no olvides leer detalladamente la guía para contribuidores antes de enviar un PR.

Muchas gracias a toda esta gente maravillosa (leyenda de emojis):


Lupo Montero

💬 🐛 💻 📖 💡 🤔 🚇 🔌 👀 ⚠️ 🔧 📹

chamodev

🤔 🌍

Ivan Medina

💬 🐛 💻 💡 👀

Mariano Crowe

💬 🐛 💻 📖 💡 🤔 👀

Diego

🐛 🤔

Ana Steph

💬 🐛 💻

Lalo Gonzalez

💬 🎨 🤔

Milton Mazzarri

💻 💡

Ruth Abigail Salvador Zorrilla

🐛 🤔

Maricarmen Rojas Tinco

🐛 💻 ⚠️

María Inés Plaza Schwarck

💻 💡

Belén Recabal

🐛 🤔

Lourdes Vílchez

🐛 🤔

Fabian Alexis Bravo Abarca

🐛 💻 💡 🤔 👀

Amalia Rivera Castillejos

🐛 🤔

Shirley Silvana Suarez Startary

💬 🐛 💻 💡 🤔

Alexandra Neira

🐛 🤔

Michelle Seguil

🐛 💻 💡 🤔

Carolina Covarrubias

💬 📖 🤔

Joalbert Andrés González

🤔

Elizabeth Portilla

💬 🐛 🤔

Karla Nava

🤔

Allison Guzmán

🐛 🤔

Alejandra Ramirez

🤔

Alexander Ocsa

🐛

Rocío Alberdi

🤔

Ameli C. Gavante

🐛 🤔

IntiDev

🐛 🤔

Emmanuel Orozco

🐛 💻 🤔

Nicole Stein

💻 💡 🤔

Giancarlo Corzo

🐛 🤔

Alejandro Rodriguez Cuellar

💻 🤔

Gonzalo Parra

💬 🐛 💡 🤔 👀

Cristian K. Cárdenas

💡

Jonhks

🐛 💻 🤔

Gabriela Segura

🐛 🤔

Rod Fuenzalida

🤔

Rodrigo Lazo

💡 🤔

Aldo Román Nureña

💡 🤔

Nadia Tapia

🐛 🤔

Daniela Sarzosa

🐛 🤔

kkatzen

🐛 💡

LucileBaratier

🐛

Daniela Gonzales

🐛 🤔

Rafael Cerri

🌍

José Paulo R. de Lima

🌍

Juliana Amoasei

🌍

Daniel Cukier

🌍

Carlos Eduardo Moreira dos Santos

🌍

Vanessa Pinheiro

🌍

Este proyecto sigue la especificación de all-contributors. Todo tipo de contribuciones son bienvenidas.

Licencia & Copyright

Todos los materiales de este repo son (c) 2017-2018 Laboratoria.

Creative Commons License

Este trabajo está publicado bajo la licencia Creative commons Attribution-ShareAlike 4.0.

Packages

No packages published

Languages

  • JavaScript 97.6%
  • HTML 1.6%
  • CSS 0.8%