Skip to content

Latest commit

 

History

History
410 lines (305 loc) · 40.3 KB

README.pt.md

File metadata and controls

410 lines (305 loc) · 40.3 KB

Bootcamp @Laboratória

All Contributors

Node.js CI

Introdução

O bootcamp da Laboratória é um programa imersivo de aprendizagem de 6 meses focado nos perfis de Front-end Developer e UX Designer. Nosso modelo de aprendizagem se baseia em emular um ambiente de trabalho que prepare nossas estudantes, desenvolvendo as habilidades técnicas e sócio-emocionais necessárias para que comecem a trabalhar.

A aprendizagem baseada em projetos é o eixo central sobre o qual se articula a experiência de aprendizagem. Ao completarem uma série de projetos, de complexidade gradualmente crescente, permite-se que as estudantes desenvolvam as habilidades necessárias. De todas estas habilidades, consideramos que a autoaprendizagem seja a mais importante; acreditamos firmemente que, não somente é uma habilidade indispensável para o mundo do trabalho que as espera, como também é uma ferramenta poderosa para que se tornem mulheres autossuficientes, seguras de seu talento e habilidades e, finalmente, agentes de mudança a longo prazo.

Mapa de aprendizagem

O mapa de aprendizagem (ou mapa de projetos se divide em 4 etapas: Pré-admissão, Common Core, Track (Front-end Development e UX Design) e Eletivos.

Pré    | Common Core          | Trilha                                                  | Eletivos       |
===    | ===========          | =====                                                   | =========      |
       |                      |                                                         |                |
       |                      |  Frontend                                               |                |
       |                      |  social-network > md-links     burger-queen             | battleship     |
       |                      |  /                         \  /                       \ |/               |
       | cipher               | /\                          > -burger-queen-api-client >|                |
       |      \               |/  \                        /  \                       / |\               |
trivia |        > data-lovers |   md-links > social-network    burger-queen-api         | tic-tac-toe-rn |
       |      /               |\                                                        |                |
       | luhn                 | \                                                       | service-design |
       |                      |  UX                                                     |/               |
       |                      |  small businesses > redesign-and-data > ux consultancy  |-design-sprint  |
       |                      |                                                         |\               |
       |                      |                                                         | visual-design  |
       |                      |                                                         |                |

Etapa 0: Pré-admissão

A etapa de admissão começa antes da candidata ser aceita no Bootcamp. Ao final de cada processo de admissão convidamos as candidatas pré-selecionadas para completarem um projeto presencialmente em uma de nossas sedes.

Projeto: Trívia (precisa de refatoração)


Etapa 1: Common Core

Com todas as estudantes admitidas, tem início o common core. Durante esta etapa serão completados os seguintes projetos:

  1. Primeiro, escolhendo entre Cifra de César y Validador de cartão de crédito. Ambos compartilham dos mesmos objetivos de aprendizagem.
  2. Uma vez completo o projeto escolhido no ponto anterior, terão que completar o projeto Data Lovers.

Ao final do common core as estudantes participam de um ou mais hackathons, trabalhando em projetos menores propostos pela Laboratória e/ou pelas empresas/colaboradores externos.

Este projeto requer a implementação de uma aplicação web baseada em um boilerplate que permita cifrar e decifrar textos usando a técnica da cifra de César.

O principal objetivo de aprendizagem deste projeto é passar pela primeira experiência de construção de uma aplicação web, utilizando os conhecimentos adquiridos a respeito de User Experience Design e JavaScript. Isto inclui desenvolver um produto pensando nos usuários, desenvolver uma interface, ouvir eventos básicos no DOM, escrever a lógica para cifrar e decifrar, testes de unidade básicos para testar (e documentar) essa lógica e manipulação de DOM para exibir os resultados.

Este projeto requer a implementação de uma aplicação web baseada em um boilerplate que permita a um usuário validar o número de um cartão de crédito e também ocultar todos os dígitos do cartão, exceto os últimos quatro.

O principal objetivo de aprendizagem deste projeto é ter uma primeira experiência no desenvolvimento de uma aplicação web, utilizando os conhecimentos adquiridos sobre User Experience Design e JavaScript. Isso inclui desenvolver um produto pensado nos usuários, desenvolver uma interface, escutar eventos básicos no DOM, escrever a lógica responsável pela validação do cartão, testes de unidade básicos para validar (e documentar) essa lógica, e manipulação de DOM para exibir os resultados na tela.

Projeto: Data Lovers

Neste projeto as alunas terão uma primeira aproximação com a processo de transformar dados em informação. O objetivo principal deste projeto é aprender, desenvolver e construir uma interface web onde se possa visualizar e manipular dados.

Espera-se que possam pensar no usuário, entender qual é a melhor maneira de visualizar os dados segundo suas necessidades e compor tudo isso em seu web design.

Este projeto deve ser desenvolvido em duplas, pois um objetivo importante é ganhar experiência em trabalhos colaborativos com toda a complexidade que isso implica.


Etapa 2: Trilhas

Depois do common core cada grupo se divide em trilhas especializadas e paralelas: Desenvolvimento Front-End e UX Design.

Trilha Front-End Dev

Tópicos comuns (independetes de projeto): Paradigmas e JavaScript Funcional.

Projeto: Rede Social

Neste projeto partimos do pressuposto de que uma empreendedora solicitou um protótipo de rede social com um tema específico, que deverá ser escolhido pelas estudantes.

O objetivo principal de aprendizagem deste projeto é desenvolver um site responsivo com mais de uma view (página) onde seja possível ler e escrever dados, entendendo as necessidades dos usuários a quem se destina o produto.

  • Duração estimada: 3 semanas.
  • Equipes: 3 estudantes.
  • Tópicos: Mobile first, Responsive, URL, HTTP, Async, múltiplas telas, Routing, escrita de dados, localStorage, Firebase.

Dentro de uma comunidade de código aberto, é proposta a criação de uma ferramenta usando Node.js que leia e analise arquivos no formato Markdown, verifique se o arquivo contém links e faça algumas checagens.

O objetivo prático deste projeto é aprender a criar uma biblioteca (library) em JavaScript.

Desenvolver uma bilioteca é uma experiência fundamental para qualquer desenvolvedora, porque obriga a pensar na interface (API) de seus módulos e como será usada por outras desenvolvedoras. É preciso algumas considerações especiais para as particularidades da linguagem, convenções e boas práticas.

  • Duração estimada: 3 semanas.
  • Equipes: 1 estudante.
  • Tópicos: Node.js, NPM, File System, Server, Parsing, Markdown, CLI, HTTP, Módulos, Erros.

Este projeto requer a implementação de um sistema para que atendentes de uma lanchonete (Burger Queen) possam anotar pedidos utilizando um tablet.

O objetivo principal de aprendizagem deste projeto é desenvolver uma interface web utilizando um framework (React, Vue ou Angular).

Como objetivo secundário, a implementação deve seguir as recomendações para PWAs (Progressive Web Apps), que inclui conceitos como offline.

  • Duração estimada: 3 semanas.
  • Equipes: 1-2 estudantes.
  • Tópicos: Frameworks, React, Vue, Angular, PWA, Offline First, Service Workers, Serverless.

O objetivo principal de aprendizagem é adquirir experiência com NodeJS como ferramenta para desenvolvimento de aplicações de servidor, junto com uma série de ferramentas comumente usadas nesse tipo de contexto (Express como framework, MongoDB como base de dados e etc).

Neste projeto deverá ser desenvolvido um servidor web que deve servir JSON sobre HTTP.

Neste projeto partimos de um boilerplate que já contém uma série de endpoints (pontos de conexão ou URLs) e devemos completar a aplicação. Isto significa que teremos que começar lendo a implementação existente e nos familiarizando com o stack utilizado: Node.js, Express, MongoDB, mongoose e etc.

  • Duração estimada: 2 semanas.
  • Equipes: 1 estudante
  • Tópicos: Node.js, Express, rotas (routes), URLs, HTTP (verbs, request, response, headers, body, status codes), JSON, MongoDB, variáveis de ambiente, JWT (JSON Web Tokens)

Este projeto requer a implementação de um sistema para que atendentes de um restaurante (Burger Queen) possam anotar pedidos de clientes utilizando um tablet.

O objetivo principal de aprendizagem deste projeto é o desenvolvimento de uma interface web que utilize um framework (React, Vue ou Angular).

Como objetivo secundário, a implementação deverá seguir as recomendações para PWAs (Progressive Web Apps), que inclui conceitos como offline.

  • Duração estimada: 3 semanas.
  • Equipes: 1-2 estudantes.
  • Tópicos: Frameworks, React, Vue, Angular, PWA, Offline First, Service Workers, HTTP, JSON, fetch.

Trilha UX Design

Para este desafio inicial da trilha, as estudantes trabalham com pequenos empreendimentos, buscando oferecer uma experiência online nova e/ou melhor. Para isso, têm que entender os objetivos do negócio e também as necessidades dos usuários/clientes destes pequenos negócios. Durante este desafio, as estudantes fazem trabalho de campo como entrevistas, observação e testes, e desenvolvem soluções utilizando ferramentas de design como Figma e Marvel.

  • Duração estimada: 3 semanas
  • Equipes: 2 ou 3 estudantes
  • Tópicos: UX research (entrevistas, benchmark), arquitetura da informação (fluxo de conteúdo, mapa do site), design visual e de interação (wireframes e protótipos) e testes com usuários.

Este é um projeto de redesign. Baseando-se nos dados dos resultados obtidos por uma aplicação de serviços financeiros, as estudantes buscam melhorar a experiência da mesma. Em alguns casos o tema pode ser substituído por um desafio dado por uma empresa, com os mesmos objetivos de aprendizagem.

  • Duração estimada: 3 semanas
  • Equipes: 2 ou 3 estudantes
  • Tópicos: Análise de dados, UX Research, protótipos, idealização, visual design

Neste desafio, as estudantes trabalham em diferentes casos reais, propostos por empresas de diversas áreas e tamanhos. Desafios anteriores foram propostos por empresas como Kmimos, Guvery, Globant, Sinenvolturas, Magical Startups, Laboratória, entre outras.

  • Duração estimada: 3 semanas
  • Equipes: A depender dos projetos
  • Tópicos: UX Research, protótipos, idealização, visual design

Etapa 3: Capstone / Eletivos

O último mês do Bootcamp - ou por volta do último mês, dependendo do ritmo de avanço de cada uma - espera-se que a estudante desenvolva seu projeto final ou capstone, que pode basear-se nos tópicos/tecnologias vistos até o momento, ou cobrir alguns dos tópicos sugeridos (eletivos).

Trilha Front-End Dev

O objetivo principal de aprendizagem é ter uma primeira experiência em desenvolvimento de aplicações nativas com React Native.

Neste projeto a estudante terá que desenvolver uma aplicação utilizando React Native e Expo, e publicá-la em sua conta Expo para que seja possível instalá-la em qualquer dispositivo Android ou iOS.

Para completar o projeto, a estudante terá que se familiarizar com conceitos como View, Text oo TouchableOpacity, além do fluxo próprio de desenvolvimento de apps nativos.

  • Duração estimada: 2 semanas.
  • Equipes: 1 estudante
  • Tópicos: React Native, Expo, componentes nativos, touch events, etc.

Projeto: Batalha Naval

Batalha Naval é um jogo clássico, com múltiplas versões de tabuleiro e online (se não conhece, pode ver nesse link).

Neste projeto a estudante deverá criar uma nova versão, agregando alguma funcionalidade para tornar o jogo mais atrativo para as novas gerações. Também não é necessário criar um jogo sobre navios, é possível desenvolver com qualquer tema que prefira, mantendo apenas a mesma jogabilidade.

  • Duração estimada: 2 semanas.
  • Equipes: 3 estudantes
  • Tópicos: react, angular, redux, firebase, mongodb stitch.

Track UX Design

Projeto: Visual Design

Neste desafio buscamos melhorar as habilidades de desenho visual de interfaces. Para isso, as estudantes trabalham para melhorar e padronizar a experiência de uma plataforma de venda de ingressos (tradicional) para ajudá-los a competir com novos atores desse segmento, como Stubhub, Eventbrite, Joinnus, entre outros; isso inclui a criação de soluções consistentes para mobile, desktop e smartwatches. Em alguns casos, o tema pode ser substituído por um desafio proposto por uma empresa, porém com os mesmos objetivos de aprendizagem.

  • Duração estimada: 3 semanas
  • Equipes: A depender dos projetos
  • Tópicos: Design Systems, Grid systems, atomic design, componentes, consistência, hierarquia, design responsivo.

Com a ajuda de consultorias especializadas, como Amable ou Touchpoint, as estudantes devem mergulhar no mundo do service design, entendendo problemas de negócio a partir de uma visão mais holística e utilizando ferramentas como Service BluePrint.

  • Duração estimada: 3 semanas
  • Equipes: A depender dos projetos
  • Tópicos: Service design, disruptive design, insights, service prototyping, service blueprint

Índice de tópicos

Em uso (v2.x):


Contribuições

Toda contribuição é agradecidamente bem-vinda.

Mas POR FAVOR não esqueça de ler detalhadamente o guia para contribuições antes de enviar um PR.

Muitos agradecimentos a toda esta gente maravilhosa (legenda de emojis):

Lupo Montero
Lupo Montero

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

🤔 🌍
Ivan Medina
Ivan Medina

💬 🐛 💻 💡 👀
Mariano Crowe
Mariano Crowe

💬 🐛 💻 📖 💡 🤔 👀
Diego
Diego

🐛 🤔
Ana Steph
Ana Steph

💬 🐛 💻
Lalo Gonzalez
Lalo Gonzalez

💬 🎨 🤔
Milton Mazzarri
Milton Mazzarri

💻 💡
Ruth Abigail Salvador Zorrilla
Ruth Abigail Salvador Zorrilla

🐛 🤔
Maricarmen Rojas Tinco
Maricarmen Rojas Tinco

🐛 💻 ⚠️
María Inés Plaza Schwarck
María Inés Plaza Schwarck

💻 💡
Belén Recabal
Belén Recabal

🐛 🤔
Lourdes Vílchez
Lourdes Vílchez

🐛 🤔
Fabian Alexis Bravo Abarca
Fabian Alexis Bravo Abarca

🐛 💻 💡 🤔 👀
Amalia Rivera Castillejos
Amalia Rivera Castillejos

🐛 🤔
Shirley Silvana Suarez Startary
Shirley Silvana Suarez Startary

💬 🐛 💻 💡 🤔
Alexandra Neira
Alexandra Neira

🐛 🤔
Michelle Seguil
Michelle Seguil

🐛 💻 💡 🤔
Carolina Covarrubias
Carolina Covarrubias

💬 📖 🤔
Joalbert Andrés González
Joalbert Andrés González

🤔
Elizabeth Portilla
Elizabeth Portilla

💬 🐛 🤔
Karla Nava
Karla Nava

🤔
Allison Guzmán
Allison Guzmán

🐛 🤔
Alejandra Ramirez
Alejandra Ramirez

🤔
Alexander Ocsa
Alexander Ocsa

🐛
Rocío Alberdi
Rocío Alberdi

🤔
Ameli C. Gavante
Ameli C. Gavante

🐛 🤔
IntiDev
IntiDev

🐛 🤔
Emmanuel Orozco
Emmanuel Orozco

🐛 💻 🤔
Nicole Stein
Nicole Stein

💻 💡 🤔
Giancarlo Corzo
Giancarlo Corzo

🐛 🤔
Alejandro Rodriguez Cuellar
Alejandro Rodriguez Cuellar

💻 🤔
Gonzalo Parra
Gonzalo Parra

💬 🐛 💡 🤔 👀
Cristian K. Cárdenas
Cristian K. Cárdenas

💡
Jonhks
Jonhks

🐛 💻 🤔
Gabriela Segura
Gabriela Segura

🐛 🤔
Rod Fuenzalida
Rod Fuenzalida

🤔
Rodrigo Lazo
Rodrigo Lazo

💡 🤔
Aldo Román Nureña
Aldo Román Nureña

💡 🤔
Nadia Tapia
Nadia Tapia

🐛 🤔
Daniela Sarzosa
Daniela Sarzosa

🐛 🤔
kkatzen
kkatzen

🐛 💡
LucileBaratier
LucileBaratier

🐛
Daniela Gonzales
Daniela Gonzales

🐛 🤔 💻
Rafael Cerri
Rafael Cerri

🌍
José Paulo R. de Lima
José Paulo R. de Lima

🌍
Juliana Amoasei
Juliana Amoasei

🌍
Daniel Cukier
Daniel Cukier

🌍
Carlos Eduardo Moreira dos Santos
Carlos Eduardo Moreira dos Santos

🌍
Vanessa Pinheiro
Vanessa Pinheiro

🌍
Juan
Juan

💬 🐛 🤔
Moisés Cachay Tello
Moisés Cachay Tello

🤔
Ily Treviño
Ily Treviño

🐛
YolandaRib-4
YolandaRib-4

🐛
Carlos G. Rodriguez
Carlos G. Rodriguez

🚧

Este projeto segue a especificação de all-contributors. Todo tipo de contribuição é bem-vinda.

Licença & Copyright

Todos os materiais deste repo são (c) 2017-2019 Laboratória.

Creative Commons License

Este trabalho está publicado sob a licença Creative commons Attribution-ShareAlike 4.0.