# Semana 1
Te damos la biendenida a esta semana de trainee, recuerda que si ya conoces o tienes experiencia en alguno de los temas brindados, no dudes en saltarlo, sin embargo, tomate el tiempo para revisar cada punto y estar seguro de que tienes conocimiento sobre el y asi poder concluir exitosamente cada workshop y tener la menor cantidad de dudas al salir de el.
## Temas Y Objetivos
### ***`0. Git/GitHub`***
Este es uno de los temas principales que debes saber antes de iniciar ya que lo usaremos no solo para este training, sino en cada momento de nuestro trabajo diario.
`Que debo saber?`
- Manejo de repositorios local (COMMITS, BRANCH Y REBASE)
- Manejo de repositorios remoto (PULL, PUSH Y PULL REQUEST)
`Material`
- https://www.youtube.com/watch?v=HiXLkL42tMU
- https://confluence.atlassian.com/bitbucketserver/basic-git-commands-776639767.html
- https://blog.testproject.io/2021/03/22/git-commands-every-sdet-should-know/
<br/>
<br/>
### ***`1. Fullstack overview`***
`Esta sera tu guia general`, aqui estan los temas que tocaremos juntos y temas que tu mismo puedes avanzar por tu cuenta.
`Que debo saber?`
- Que es ser un full stack developer?
- Conceptos de desarrollo, protocolos web, tecnologias, testing Y CI/CD
`Material`
- [Full stack Open](https://fullstackopen.com/es/#course-contents)
- [Full stack bootcamp Midudev](https://www.youtube.com/watch?v=wTpuKOhGfJE&list=PLV8x_i1fqBw0Kn_fBIZTa3wS_VZAqddX7)
<br/>
<br/>
### ***`2. Fundamentos de Web`***
El objetivo de este modulo es que conozcas, `Como funciona la web moderna?` y cuales son los caminos que puedes tomar dentro de ella
`Que debo saber?`
- Conceptos basicos del desarrollo web
- HTTP GET
- Que es el DOM
- Conceptos de Frontend y Backend
`Material`
- [Full stack Open Fundamentos Web](https://fullstackopen.com/es/part0/fundamentos_de_las_aplicaciones_web)
- [Fundamentos web Midudev](https://www.youtube.com/watch?v=wTpuKOhGfJE)
- [Mdn Documentacion Oficial de la Web](https://developer.mozilla.org/es/)
<br/>
<br/>
### ***`3. HTML y CSS`***
Aprende las tecnologías básicas del desarrollo web, HTML y CSS son las tecnologias que nos permiten tener una gran experiencia de usuario en la web moderna.
`Que debo saber?`
- Etiquetas HTML
- HTML Semantico
- Selectores CSS
- Pseudo Elementos y Pseudo Clases
- Modelo de Caja
- Displays CSS (Grid y Flex)
- Responsive Design
`Material`
- [Curso de HTML y CSS desde 0](https://youtu.be/XqFR2lqBYPs)
- [HTML Semantic Elements](https://www.w3schools.com/html/html5_semantic_elements.asp)
- [W3 School CSS](https://www.w3schools.com/css/default.asp)
- [W3 School CSS Selectors](https://www.w3schools.com/cssref/css_selectors.asp)
- [Mdn Pseudo Clases y Elementos](https://developer.mozilla.org/es/docs/Learn/CSS/Building_blocks/Selectors/Pseudo-classes_and_pseudo-elements)
- [Box Model CSS](https://www.w3schools.com/css/css_boxmodel.asp)
- [Grid garden](https://cssgridgarden.com/#es)
- [Flexbox Froggy](https://flexboxfroggy.com/#es)
- [CSS Dinner](https://flukeout.github.io/)
- [Qué es el RESPONSIVE WEB DESIGN - Bien explicado](https://www.youtube.com/watch?v=2zypRlzIcHc)
<br/>
<br/>
### ***`4. Maquetación y Bootstrap`***
El objetivo de esta seccion es que puedas aprender a convertir un diseño de interfaces, a un proyecto web con la precision que demanda un trabajo profesional.
`Que debo saber?`
- Entender y Leer un diseño UI en Figma
- Estructuración de proyecto web
- Aprender a utilizar la libreria de maquetación llamada bootstrap
- Crear un proyecto personal (Portafolio)
- Este proyecto es opcional, sin embargo, te recomendamos que lo hagas poco a poco y lo conviertas en un portafolio que puedas compartir en tus redes profesionales.
`Material`
- [Curso de Figma para Frontends](https://leonidasesteban.com/aprender/figma-frontends)
- [Cómo estructurar un proyecto web simple - Taller Desarrollo Web #23](https://www.youtube.com/watch?v=yo8Y2hB5A9A)
- [CREA TU PORTAFOLIO DESDE CERO CON HTML Y CSS ( Full Page).](https://www.youtube.com/watch?v=LM_rRRSNq20)
- [Documentacion Bootstrap](https://getbootstrap.com/docs/5.0/getting-started/introduction/)
- [Curso de Bootstrap 5 - Introducción al mejor framework de diseño web](https://www.youtube.com/watch?v=LYubk9RXENk)
- [Curso de Bootstrap v5](https://www.youtube.com/watch?v=rK_WwhUDpoo&list=PLUW3XAK9O3HFfc7KryNaE9jsqhmCpbBQi)
<br/>
<br/>
### ***`5. Pre procesadores y SASS (BEM)`***
Como desarrolladores debemos poder tener a la mano herramientas y buenas practicas que nos ayuden a hacer nuestro trabajo mas facil, estas herramientas pueden ser librerias externas a nuestros proyectos o simples metodologias que al ser aplicadas, seran de gran ayuda en nuestro trabajo, haciendo nuestro codigo mas legible para todo el equipo y facilitando el mantimiento del mismos. Los pre procesadores de CSS nos permitiran tener esa agilidad para dar estilos y tener una mejor sintaxis de css, y la metodologia BEM, nos dara un orden al momento de elegir nuestras clases en los elementos.
`Que debo saber?`
- Entender la importancia de un pre procesadores de CSS
- Conocer los pre procesadores de CSS
- Dominar la sintaxis basica de SCSS
- Entender y aplicar la metogia BEM
`Material`
- [An Introduction to CSS Pre-Processors: SASS, LESS and Stylus](https://medium.com/@itIsMadhavan/an-introduction-to-css-pre-processors-sass-less-and-stylus-1f45178ff5ba)
- [¿CÓMO FUNCIONA SCSS? | APRENDE A AGREGAR SCSS EN TUS PROYECTOS](https://www.youtube.com/watch?v=tQH0qWncX30)
- [🚀 CURSO COMPLETO Metodología BEM (Escribe un código CSS profesional)](https://www.youtube.com/watch?v=YaAkV--25fg)
<br/>
<br/>
### ***`6. Javascript y Event Loop (ES6+)`***
Llegamos al lenguaje mas importante para este training y sobre el cual corre la web. Javascript es un lenguaje que tiene multiples propositos, desde crear aplicaciones web y moviles, hasta servicios en web 3 para blockchain. Este lenguaje sera la base de todo tu proceso durante el training.
`Que debo saber?`
- Declaracion de variables
- Tipos y estructuras de datos
- Scope
- Loops
- Condicionales
- Metodos de arreglos
- Destructuring y Referencias
- Hoisting
- Spread operator
- Entender como funciona javascript interiormente (Event Loop)
- Sintaxis de Ecma Script 6+
`Material`
- [Aprende JavaScript - Curso Completo desde Cero](https://youtu.be/ivdTnPl1ND0)
- [2. TIPOS DE DATOS PRIMITIVOS en JAVASCRIPT | JS en ESPAÑOL](https://www.youtube.com/watch?v=cC65D2q5f8I)
- [3. VALORES vs REFERENCIAS en JAVASCRIPT | JS en ESPAÑOL](https://www.youtube.com/watch?v=AvkyOrWkuQc)
- [33 Conceptos de Javscript que debes saber](https://www.youtube.com/playlist?list=PLfWyZ8S-XzecAttp3QU-gBBXvMqEZTQXB)
- [¿QUÉ ES EL HOISTING en JAVASCRIPT? | JS en ESPAÑOL](https://www.youtube.com/watch?v=uI6o97A4IrI)
- [MÉTODOS DE ARREGLOS MODERNOS EN JAVASCRIPT](https://www.youtube.com/watch?v=bkgXlQp5hbI)
- [¿Cómo funciona el destructuring en Javascript?](https://www.youtube.com/watch?v=WJJT2Ql1aFA)
- [Philip Roberts: ¿Que diablos es el "event loop" (bucle de eventos) de todos modos? | JSConf EU](https://www.youtube.com/watch?v=8aGhZQkoFbQ)
- [Curso de ES6](https://www.youtube.com/playlist?list=PLhSj3UTs2_yX_ct0OfHrmMwKL8wpz-N2j)
<br/>
<br/>
### ***`7. API Rest`***
Application Programing Interface (API), es la manera como vamos a comunicar nuestros programas entre si, para ser mas especificos, nuestro frontend con nuestro backend. Es importante que sepas esto ya que gracias a este tema, es que hoy en día existen las lamadas Web Applications.
`Que debo saber?`
- Ques una API y como funciona
- Que es un CRUD
- Protocolo HTTP y WS
`Material`
- [Qué es y cómo usar una API REST con JavaScript | TUTORIAL](https://www.youtube.com/watch?v=tlTFyXauOa4&t=306s)
- [WebSockets vs. HTTP](https://ably.com/topic/websockets-vs-http)
- [Conoce qué es CRUD y por qué es fundamental para desarrollar sitios y aplicaciones](https://www.crehana.com/blog/desarrollo-web/que-es-crud/)
<br/>
<br/>
### ***`8. Proyecto (NETFLIX JS Vanilla)`***
Este sera el proyecto que veremos a lo largo de este training, haremos una replica de Netflix, con el cual podremos no solo maquetar un sitio web, sino tambien darle funcionalidad, conectarlo a un backend nuestro y a una base de datos.
En esta semana, desarrollaras el proyecto del lado del frontend utilizando unicamente HTML, CSS y Javascript, de manera que finalizando el workshop y la semana, estes en la completa capacidad de desarrollar un sitio web estatico a medida, segun los estilos y parametros de un diseño profesional. Ademas de haberle dado la funcionalidad necesaria para permitir a un usuario final, interactuar con la plataforma.
Finalmente, publicaras el sitio desde tu cuenta de Github.
`Que debo saber?`
- Semana 1 completada
`Material`
- Coordinar Workshop por SLACK con tu Tech Lead
<br/>
<br/>