From c3061ac2a4b52898ae4f1a1ecc046b6e9bfb123d Mon Sep 17 00:00:00 2001 From: LMVR90 Date: Fri, 28 Jun 2019 02:37:50 -0500 Subject: [PATCH 01/22] =?UTF-8?q?Primer=20modificaci=C3=B3n=20al=20README?= =?UTF-8?q?=20para=20el=20primer=20sprint.=20Agrega=20el=20archivo=20prese?= =?UTF-8?q?ntacion-proyecto=20para=20conservar=20ah=C3=AD=20las=20indicaci?= =?UTF-8?q?ones=20del=20proyecto.=20Agrega=20la=20carpeta=20images=20a=20l?= =?UTF-8?q?a=20carpeta=20src=20desde=20la=20cual=20agregamos=20gifs=20al?= =?UTF-8?q?=20README.=20Realiza=20modificaciones=20al=20index.html=20y=20d?= =?UTF-8?q?ata.js=20para=20comenzar=20a=20enlazar=20y=20visualizar=20la=20?= =?UTF-8?q?data=20en=20el=20sitio=20web.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 411 ++------------------------------------ presentacion-proyecto.md | 416 +++++++++++++++++++++++++++++++++++++++ src/data.js | 3 +- src/images/giphy (1).gif | Bin 0 -> 1614865 bytes src/images/giphy (2).gif | Bin 0 -> 556906 bytes src/images/giphy(3).gif | Bin 0 -> 1281386 bytes src/images/giphy(4).gif | Bin 0 -> 1957488 bytes src/images/giphy(5).gif | Bin 0 -> 393646 bytes src/images/giphy.gif | Bin 0 -> 567377 bytes src/index.html | 2 +- 10 files changed, 436 insertions(+), 396 deletions(-) create mode 100644 presentacion-proyecto.md create mode 100644 src/images/giphy (1).gif create mode 100644 src/images/giphy (2).gif create mode 100644 src/images/giphy(3).gif create mode 100644 src/images/giphy(4).gif create mode 100644 src/images/giphy(5).gif create mode 100644 src/images/giphy.gif diff --git a/README.md b/README.md index dc2de51..4415e26 100644 --- a/README.md +++ b/README.md @@ -1,416 +1,39 @@ -# Data Lovers +# Rick & Morty Lovers -## Índice +![Rick & Morty Lovers](src/images/giphy(4).gif) -- [Preámbulo](#preámbulo) -- [Descripción](#resumen-del-proyecto) -- [Consideraciones generales](#consideraciones-generales) -- [Objetivos de aprendizaje](#objetivos-de-aprendizaje) -- [Parte obligatoria](#parte-obligatoria) -- [Parte opcional](#parte-opcional-hacker-edition) -- [Consideraciones técnicas](#consideraciones-técnicas) -- [Contenido de referencia](#contenido-de-referencia) -- [Checklist](#checklist) +## Presentación ---- +Integrantes del equipo: Mónica Torres Vite y Marcela Vásquez. -## Preámbulo +El reto: crear una web app que permita a lxs usuarixs visualizar, filtrar y operar data sobre la serie Rick & Morty. -Según un [estudio de IBM](https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=WRL12345USEN), -el 90% de la data que existe hoy ha sido creada durante los últimos dos años. -Cada día generamos 2.5 trillones de bytes de datos, una cifra sin precedentes. +## Introducción -No obstante, los datos por sí mismos son de poca utilidad. Para que esas -grandes cantidades de datos se conviertan en **información** fácil de leer para -los usuarios, necesitamos entender y procesar estos datos. Una manera simple de -hacerlo es creando _interfaces_ y _visualizaciones_. +Rick & Morty es una serie animada emitida por primera vez en 2013 para el bloque de programación [Adult Swim](https://es.wikipedia.org/wiki/Adult_Swim) de Cartoon-Network. Posteriormente comenzó a emitirse en Netflix, expandiendo su alcance de audiencia, hasta convertirse en una de las series más populares de los últimos años. -En la siguiente imagen, podrás ver cómo con la data que que se ve en la parte -izquierda se puede construir una interfaz amigable y entendible por el usuario. +Fue a través de Netflix que Rick & Morty llegó a Latinoamérica en octubre de 2016 y desde entonces se ha hecho de una buena base de viewers que crean fansites y grupos en redes sociales para compartir información sobre la serie. -![json-interfaz](https://lh4.googleusercontent.com/Tn-RPXS26pVvOTdUzRT1KVaJ-_QbFs9SpcGLxSPE43fgbHaXtFgMUInuDt7kV41DkT1j8Tt29V0LxQW7SMtC6digOIhfTXSBKdwI08wUwhD3RAqlwy0hjfmhZ2BFe91mtmCSEqysfgk) +El universo de personajes, planetas y dimensiones de Rick & Morty es ENOOOOORME por eso decidimos crear una web app que permita explorar más a fondo este vasto multiverso. -\* Puedes ver el detalle de la data [aquí](https://gist.github.com/lalogf/dd4aa3017a9f8aa8f90dfbca382c4dc9#file-student-json) -y la interfaz construida [aquí](https://app.talento.laboratoria.la/profile/HFOoMpOreBU2psCcjjLg5O2EWEv2). +Realizamos una encuesta que fue respondida por 42 personas. En ella identificamos que lxs viewers son principalmente jóvenes de entre 18 y 25 años aunque la audiencia entre los 26 y 30 años es también considerable. La mayoría son estudiantes y en cuanto a género, están distribuidos entre hombres y mujeres en una proporción cercana al 50-50%. -## Resumen del proyecto +De acuerdo con esta investigación identificamos que dentro de un app con data sobre la serie a lxs usuarixs les interesa: -En este proyecto **construirás una _página web_ para visualizar un -_conjunto (set) de datos_** que se adecúe a lo que descubras que tu usuario -necesita. +- Identificar con detalle las características de lxs personajes. +- Saber cuáles y cuántos son los planetas y dimensiones que hasta ahora han aparecido en la serie. +- Ubicar a los personajes por episodios en los que aparecen. -Esta vez te proponemos una serie de datos de diferentes _temáticas_ para que -explores y decidas con qué temática te interesa trabajar. Hemos elegido -específicamente estos sets de datos porque creemos que se adecúan bien a esta -etapa de tu aprendizaje. +Con base en esta información el siguiente paso será crear un prototipo para ser testeado con potenciales usuarixs. -Una vez que definas tu área de interés, entiende quién es tu usuario y qué -necesita saber o ver exactamente; luego podrás construir la interfaz que le -ayude a interactuar y entender mejor esos datos. +Paralelo a esto, comenzaremos a crear las funciones que permitan filtrar y manipular la data disponible de acuerdo con los intereses de lxs viewers que respondieron la encuesta. -Estos son datos que te proponemos: +![Rick & Morty Lovers](src/images/giphy.gif) -- [Pokémon](src/data/pokemon/pokemon.json): - En este set encontrarás una lista con los 151 Pokémon de la región de Kanto, - junto con sus respectivas estadísticas usadas en el juego [Pokémon GO](pokemongolive.com). -- [Steam noticias](src/data/steam/steam.json): - Lista noticias relacionadas a los videojuegos presentes en la - plataforma de [Steam](https://store.steampowered.com/). -- [League of Legends - Challenger leaderboard](src/data/lol/lol.json): - Este set de datos muestra la lista de jugadores en una liga del - juego League of Legends (LoL), puedes revisar la documentación de su API en - este [link](https://developer.riotgames.com/api-methods/). -- [Rick and Morty](src/data/rickandmorty/rickandmorty.json). - Este set nos proporciona la lista de los personajes de la serie Rick and - Morty. Puedes revisar la documentación de su API en este [link](https://rickandmortyapi.com). -Como entregable final tendrás una página web que permita **visualizar la data, -filtrarla, ordenarla y hacer algún cálculo agregado**. Como aclaración, -con cálculo agregado nos referimos a distintos cálculos que puedes hacer con -la data que tienes para mostrar información aún más relevante a los usuarios. -Una opción serían cálculos estadísticos como el promedio, el máximo o el mínimo, -por ejemplo, si tenemos una colección que representa a un grupo de personas, -y cada persona está representada como un _objeto_ con una _propiedad_ `altura`, -podríamos elegir calcular la altura promedio en el grupo entre otras cosas. -## Consideraciones generales -- Este proyecto se debe resolver en duplas. -- El proyecto será entregado subiendo tu código a GitHub (commit/push) y la - interfaz será desplegada usando [GitHub Pages](https://pages.github.com/). -- Tiempo para completarlo: 3 semana divididas en 3 sprints (una entrega del producto funcional al término de cada sprint). -## Objetivos de aprendizaje -El objetivo principal de este proyecto es que aprendas a diseñar y construir una -interfaz web donde se pueda visualizar y manipular data, entendiendo lo que el -usuario necesita. - -Dicho en palabras sencillas, aprenderás a: - -- Aplicar y profundizar todo lo que aprendiste en el proyecto anterior. -- Pensar en las **necesidades de los usuarios** para crear historias de usuario. -- Escribir y trabajar con **historias de usuario**, sus definiciones de - terminado (_definition of done_) en la organización y planificación de tu - trabajo. -- Definir qué data y de qué forma mostrarla en el producto, basándote en - tu **entendimiento del usuario**. -- Crear productos que sigan los **principios básicos de diseño visual** y - las **heurísticas de usabilidad**. -- Iterar el diseño del producto, basándote en los resultados de los - **tests de usabilidad**. -- Manipular **_arreglos_ (_arrays_) y _objetos_ (_objects_)**. -- **Manipular el DOM** (agregar elementos dinámicamente basados en la data). -- **Manejar eventos del DOM** para permitir interacción con el usuario - (filtrado, ordenado, ...). -- Entender los beneficios y complejidades de **trabajar en equipo** en un - ambiente de incertidumbre. - -## Alcances esperados - -Los criterios para considerar que has completado este proyecto son: - -### Definición del producto - -Documenta brevemente tu trabajo en el archivo `README.md` de tu repositorio, -contándonos cómo fue tu proceso de diseño y cómo crees que el producto resuelve -el problema (o problemas) que tiene tu usuario. - -### Historias de usuario - -Una vez que entiendas las necesidades de tu usuario, escribe las [Historias -de Usuario](https://es.wikipedia.org/wiki/Historias_de_usuario) que representen -todo lo que el usuario necesita hacer/ver. Asegúrate de incluir una definición -de terminado (_definition of done_) para cada una. - -### Diseño de la Interfaz de Usuario - -#### Prototipo de baja fidelidad - -Durante tu trabajo deberás haber hecho e iterado sketches (boceto) de tu -solución usando papel y lápiz. Te recomendamos tomar fotos de todas las -iteraciones que realices y las subas a tu repositorio, y las menciones en tu -`README.md`. - -#### Prototipo de alta fidelidad - -Lo siguiente es diseñar tu Interfaz de Usuario (UI por sus siglas en inglés - -_User Interface_). Para eso debes aprender a utilizar alguna herramienta de -diseño visual. Nosotros te recomendamos [Figma](https://www.figma.com/) que es -una herramienta que funciona en el navegador y, además, puedes crear una cuenta -gratis. Sin embargo, eres libre de utilizar otros editores gráficos como -Illustrator, Photoshop, PowerPoint, Keynote, etc. - - -#### Testeos de usabilidad - -Durante el reto deberás realizar tests de usabilidad con distintos usuarios, y -en base a los resultados de esos tests, deberás iterar tus diseños. Cuéntanos -qué problemas de usabilidad detectaste a través de los tests y cómo los -mejoraste en tu propuesta final. - -### Implementación de la Interfaz de Usuario (HTML/CSS/JS) - -Luego de diseñar tu interfaz de usuario deberás trabajar en su implementación. -Como mencionamos, **no** es necesario que construyas la interfaz tal como la -diseñaste. Tendrás un tiempo limitado para hackear, así es que deberás -priorizar. - -Como mínimo, tu implementación debe: - -1. Mostrar la data en una interfaz: puede ser un card, una tabla, una lista, etc. -2. Permitir al usuario filtrar y ordenar la data. -3. Calcular estadísticas de la colección (o subcolección) como media aritmética, - máximo y/o mínimo de algún atributo numérico, o contar cuántas veces aparece - un determinado valor, por ejemplo. -4. Visualizarse sin problemas desde distintos tamaños de pantallas: móviles, - tablets y desktops. - -Es importante que tu interfaz, a pesar de ser una versión mínima de tu ideal, -siga los fundamentos de _visual design_. - -### Pruebas unitarias - -El _boilerplate_ de este proyecto no incluye pruebas unitarias, pero esperamos -que escribas tus propias pruebas unitarias para las funciones encargadas de -_procesar_, _filtrar_ y _ordenar_ la data, así como _calcular_ estadísticas. -Para ello te recomendamos implementar las siguientes funciones en el archivo -`src/data.js`: - -- `filterData(data, condition)`: esta función `filter` o filtrar recibiría la - data, y nos retornaría aquellos datos que sí cumplan con la condición. - -- `sortData(data, sortBy, sortOrder)`: esta función `sort` u ordenar - recibe tres parámetros. - El primer parámetro, `data`, nos entrega los datos. - El segundo parámetro, `sortBy`, nos dice con respecto a cuál de los campos de - la data se quiere ordenar. - El tercer parámetro, `sortOrder`, indica si se quiere ordenar de manera - ascendente o descendente. - -- `computeStats(data)`: la función `compute` o calcular, nos permitirá hacer - cálculos estadísticos básicos para ser mostrados de acuerdo a la data - proporcionada. - -Estas son propuestas de funciones que podrías implementar. - -El archivo `src/data.js` debe tener una cobertura del 70% de _statements_ -(_sentencias_), _functions_ (_funciones_), _lines_ (_líneas_), y _branches_ -(_ramas_). - -**Estas funciones deben ser [_puras_](https://medium.com/laboratoria-developers/introducci%C3%B3n-a-la-programaci%C3%B3n-funcional-en-javascript-parte-2-funciones-puras-b99e08c2895d) -e independientes del DOM**. Estas funciones serán después usadas desde el archivo -`src/main.js`, al cargar la página, y cada vez que el usuario interactúe (click, -filtrado, ordenado, ...). - -## Hacker edition - -Features/características extra sugeridas: - -- En lugar de consumir la data estática brindada en este repositorio, puedes - consumir la data de forma dinámica, cargando un archivo JSON por medio de - `fetch`. La carpeta `src/data` contiene una versión `.js` y una `.json` - de cada set datos. -- Agregarle a tu interfaz de usuario implementada visualizaciones gráficas. Para - ello te recomendamos explorar librerías de gráficas como [Chart.js](https://www.chartjs.org/) - o [Google Charts](https://developers.google.com/chart/). - - -## Consideraciones técnicas - -La lógica del proyecto debe estar implementada completamente en JavaScript -(ES6), HTML y CSS. En este proyecto NO está permitido usar librerías o -frameworks, solo [vanilla JavaScript](https://medium.com/laboratoria-how-to/vanillajs-vs-jquery-31e623bbd46e), -con la excepción de librerías para hacer gráficas (charts); ver -[_Hacker Edition_](#parte-opcional-hacker-edition) más arriba. - -No se debe utilizar la _pseudo-variable_ `this`. - -El _boilerplate_ contiene una estructura de archivos como punto de partida así -como toda la configuración de dependencias: - -```text -. -├── package.json -├── README.md -├── src -│   ├── data -│   │   ├── injuries -│   │   │   ├── injuries.js -│   │   │   └── injuries.json -│   │   ├── lol -│   │   │   ├── lol.js -│   │   │   └── lol.json -│   │   ├── pokemon -│   │   │   ├── pokemon.js -│   │   │   └── pokemon.json -│   │   ├── steam -│   │   │   ├── steam.js -│   │   │   └── steam.json -│   │   └── worldbank -│   │   ├── worldbank.js -│   │   └── worldbank.json -│   ├── data.js -│   ├── index.html -│   ├── main.js -│   └── style.css -└── test - └── data.spec.js - -8 directories, 17 files -``` - -### `src/index.html` - -Al igual que en el proyecto anterior, existe un archivo `index.html`. Como ya -sabrás, acá va la página que se mostrará al usuario. También nos sirve para -indicar qué scripts se usarán y unir todo lo que hemos hecho. - -En este archivo encontrarás una serie de _etiquetas_ (_tags_) ` -``` - -Y ahora tendríamos la variable global `WORLDBANK` disponible en nuestros otros -scripts (como `src/data.js` o `src/main.js`). - -### `src/main.js` - -Recomendamos usar `src/main.js` para todo tu código que tenga que ver con -mostrar los datos en la pantalla. Con esto nos referimos básicamente a la -interacción con el DOM. Operaciones como creación de nodos, registro de -manejadores de eventos (_event listeners_ o _event handlers_), .... - -Esta no es la única forma de dividir tu código, puedes usar más archivos y -carpetas, siempre y cuando la estructura sea clara para tus compañeras. - -### `src/data.js` - -El corazón de este proyecto es la manipulación de datos a través de arreglos y -objetos. La idea de este archivo es contener toda la funcionalidad -que corresponda a obtener, procesar y manipular datos. - -En este archivo esperamos que implementes las funciones detalladas en la sección -de [_Pruebas Unitarias_](#pruebas-unitarias). - -### `src/data` - -En esta carpeta están los datos de las diferentes fuentes. Encontrarás una -carpeta por cada fuente, y dentro de cada carpeta dos archivos: uno con la -extensión `.js` y otro `.json`. Ambos archivos contienen la misma data; la -diferencia es que el `.js` lo usaremos a través de una etiqueta ` +``` + +Y ahora tendríamos la variable global `WORLDBANK` disponible en nuestros otros +scripts (como `src/data.js` o `src/main.js`). + +### `src/main.js` + +Recomendamos usar `src/main.js` para todo tu código que tenga que ver con +mostrar los datos en la pantalla. Con esto nos referimos básicamente a la +interacción con el DOM. Operaciones como creación de nodos, registro de +manejadores de eventos (_event listeners_ o _event handlers_), .... + +Esta no es la única forma de dividir tu código, puedes usar más archivos y +carpetas, siempre y cuando la estructura sea clara para tus compañeras. + +### `src/data.js` + +El corazón de este proyecto es la manipulación de datos a través de arreglos y +objetos. La idea de este archivo es contener toda la funcionalidad +que corresponda a obtener, procesar y manipular datos. + +En este archivo esperamos que implementes las funciones detalladas en la sección +de [_Pruebas Unitarias_](#pruebas-unitarias). + +### `src/data` + +En esta carpeta están los datos de las diferentes fuentes. Encontrarás una +carpeta por cada fuente, y dentro de cada carpeta dos archivos: uno con la +extensión `.js` y otro `.json`. Ambos archivos contienen la misma data; la +diferencia es que el `.js` lo usaremos a través de una etiqueta ` From 8cb06835e73de69e2bfb90c4a48080429f797c83 Mon Sep 17 00:00:00 2001 From: "[MonicaTorresVite]" <[vitmeonica@gmail.com]> Date: Tue, 2 Jul 2019 18:40:02 -0500 Subject: [PATCH 02/22] Actualizo codigos para que podamos trabajar en lo mismo --- src/index.html | 28 ++++++++++++++++++++++------ src/main.js | 47 +++++++++++++++++++++++++++++++++++++++++++++++ src/style.css | 3 +++ 3 files changed, 72 insertions(+), 6 deletions(-) diff --git a/src/index.html b/src/index.html index e2e4175..b69d4dd 100644 --- a/src/index.html +++ b/src/index.html @@ -2,16 +2,32 @@ - Data Lovers + Rick and Morty Lovers +
+

Rick and Morty Lovers

+
+
+
+ + + + + +
+ +
HOLI
+ +
HOLI
+ +
HOLI
+ +
HOLI
+
- - - - - + diff --git a/src/main.js b/src/main.js index e69de29..a740de7 100644 --- a/src/main.js +++ b/src/main.js @@ -0,0 +1,47 @@ +//Botones +const botonInicio= document.getElementById ("boton-inicio") +const botonPersonajes= document.getElementById ("boton-personajes") +const botonPlanetasDimensiones= document.getElementById ("boton-planetas-dimensiones") +const botonExplorar= document.getElementById ("boton-explorar") +const botonAyuda= document.getElementById ("boton-ayuda") +//Secciones +const seccionPersonajes= document.getElementById("Personajes") +const seccionPlanetasDimensiones= document.getElementById("PlanetasyDimensiones") +const seccionExplorar= document.getElementById("Explorar") +const seccionAyuda= document.getElementById("Ayuda") +const seccionInicio= document.getElementById("Inicio") +const root= document.getElementById ("root") +//Funcionalidad Secciones +const mostrarSeccionPersonajes= ()=> +seccionPersonajes.classList.remove ("desaparecer") +const mostrarSeccionPlanetasDimensiones= ()=> +seccionPlanetasDimensiones.classList.remove ("desaparecer") +const mostrarSeccionExplorar= ()=> +seccionExplorar.classList.remove ("desaparecer") +const mostrarSeccionAyuda= ()=> +seccionAyuda.classList.remove ("desaparecer") +const mostrarSeccionInicio= ()=> +seccionInicio.classList.remove ("desaparecer") + +//Funcionalidad botones +botonPersonajes.addEventListener ("click",mostrarSeccionPersonajes) +botonPlanetas.addEventListener ("click",mostrarSeccionPlanetasDimensiones) +botonAyuda.addEventListener ("click",mostrarSeccionAyuda) +botonExplorar.addEventListener ("click",mostrarSeccionExplorar) + +const data =RICKANDMORTY.results +let str= '' +data.forEach(element=> { + let name= element.name; + let origin= element.origin; + let species=element.species; + let image=element.image; + str += `
+

${name}

+

${origin}

+

${species}

+ + ` +}); +root.innerHTML = str diff --git a/src/style.css b/src/style.css index e69de29..a3161ce 100644 --- a/src/style.css +++ b/src/style.css @@ -0,0 +1,3 @@ +.desaparecer { + display:none +} From 15b45bafdd9186fb8b791bd7b7b1f923f903e5d1 Mon Sep 17 00:00:00 2001 From: LMVR90 Date: Wed, 3 Jul 2019 19:19:23 -0500 Subject: [PATCH 03/22] =?UTF-8?q?Navega=20por=20ventanas=20usando=20funcio?= =?UTF-8?q?nes=20del=20DOM,=20pinta=20la=20data=20usando=20una=20funci?= =?UTF-8?q?=C3=B3n,=20error=20en=20HTML=20no=20se=20ve=20el=20header=20de?= =?UTF-8?q?=20la=20pantalla=20de=20planetas,=20comienza=20a=20modificar=20?= =?UTF-8?q?CSS=20para=20hacer=20responsive=20y=20flex-box?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/data.js | 37 ++++++++++++---- src/data/rickandmorty/rickandmorty.js | 2 +- src/images/background-stars.jpeg | Bin 0 -> 20817 bytes src/images/banner1.png | Bin 0 -> 93812 bytes src/images/banner2.png | Bin 0 -> 150649 bytes src/images/morty.gif | Bin 0 -> 87774 bytes src/images/plumbus.png | Bin 0 -> 231739 bytes src/images/portal png 1.gif | Bin 0 -> 456155 bytes src/images/r&m-banner.jpg | Bin 0 -> 45506 bytes src/images/rick-morty-watch-giphy.gif | Bin 0 -> 2168482 bytes src/images/rick-spinning.giphy.gif | Bin 0 -> 205715 bytes src/images/spacechip.png | Bin 0 -> 339690 bytes src/images/yell.giphy.gif | Bin 0 -> 25631 bytes src/index.html | 55 ++++++++++++++++++++--- src/main.js | 60 ++++++++++++++++++++++++++ src/style.css | 47 ++++++++++++++++++++ 16 files changed, 184 insertions(+), 17 deletions(-) create mode 100644 src/images/background-stars.jpeg create mode 100644 src/images/banner1.png create mode 100644 src/images/banner2.png create mode 100644 src/images/morty.gif create mode 100644 src/images/plumbus.png create mode 100644 src/images/portal png 1.gif create mode 100644 src/images/r&m-banner.jpg create mode 100644 src/images/rick-morty-watch-giphy.gif create mode 100644 src/images/rick-spinning.giphy.gif create mode 100644 src/images/spacechip.png create mode 100644 src/images/yell.giphy.gif diff --git a/src/data.js b/src/data.js index b74f0c0..de758b2 100644 --- a/src/data.js +++ b/src/data.js @@ -1,9 +1,28 @@ -// esta es una función de ejemplo -// puedes ver como agregamos la función a nuestro objeto global window - -const example = () => { - console.log(RICKANDMORTY) - return 'example'; -}; -console.log(RICKANDMORTY) -window.example = example; \ No newline at end of file +const data = RICKANDMORTY.results; +//console.log(data); + +let printDataPersonajes = () => { +let str = ""; +data.forEach(element => { + let image = element.image; + let name = element.name; + let species = element.species; + let gender = element.gender; + let origin = element.origin.name + let status = element.status; + str += `
+ +

${name}

+

Especie: ${species}

+

Género: ${gender}

+

Origen: ${origin}

+

Estatus: ${status}

+
` +}); +document.getElementById("card-personajes").innerHTML = str; +} +printDataPersonajes(); + + + + diff --git a/src/data/rickandmorty/rickandmorty.js b/src/data/rickandmorty/rickandmorty.js index 94aba4c..c45c8b0 100644 --- a/src/data/rickandmorty/rickandmorty.js +++ b/src/data/rickandmorty/rickandmorty.js @@ -1,4 +1,4 @@ -const RICKANDMORTY = { +window.RICKANDMORTY = { "info": { "count": 493, "pages": 25, diff --git a/src/images/background-stars.jpeg b/src/images/background-stars.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c601a2dfc29ded061ff3bba3647898e1f39405c9 GIT binary patch literal 20817 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

Planetas y dimensiones

-
+

Explorar

-
+
@@ -67,14 +67,14 @@

Sobre Rick and Morty Lovers

-
+
- +
- +
-

Rick and Morty Lovers - 2019

+

Rick and Morty Lovers - 2019

@@ -82,4 +82,4 @@

Rick and Morty Lovers - 2019

- \ No newline at end of file + diff --git a/src/style.css b/src/style.css index 46dc34b..fc67c6b 100644 --- a/src/style.css +++ b/src/style.css @@ -3,7 +3,7 @@ margin: 0; padding: 0; } - + .container{ max-width: 100%; margin: 0 auto; @@ -11,13 +11,13 @@ background-color: #222222; justify-content: center; } - + .row{ margin: auto; width: 100%; height: auto; } - + .row:before, .row:after{ content:""; display:table; @@ -53,7 +53,7 @@ [class*= "col-"]{ width: 100vh; } - } + } .disappear { display: none; @@ -109,28 +109,27 @@ section { padding: 1vh; align-content: center; }*/ - + .nombre-secciones { - color: violet; + color: green; + text-align: left; + font-size: 30px; } #button-inicio-div :hover { - transform: scale(1.1); - } -#button-inicio-div :hover > div { - + transform: scale(1.2); } #button-personajes-div :hover { - transform: scale(1.1); + transform: scale(1.2); } #button-planetas-div :hover { - transform: scale(1.1); + transform: scale(1.2); } #button-explorar-div :hover { - transform: scale(1.1); + transform: scale(1.2); } #button-ayuda-div :hover { - transform: scale(1.1); + transform: scale(1.2); } @@ -204,9 +203,3 @@ article { padding: 1vh; flex-wrap: wrap; } - - - - - - From 14befd1c3cd6a6fb568f4015c596f624c136b083 Mon Sep 17 00:00:00 2001 From: LMVR90 Date: Tue, 9 Jul 2019 16:21:30 -0500 Subject: [PATCH 19/22] =?UTF-8?q?Reduce=20el=20c=C3=B3digo=20del=20templat?= =?UTF-8?q?e=20string?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/data.js | 37 +++++++++++++++++++++++++++++++++++++ src/index.html | 10 +++++----- src/main.js | 31 ++++++++++++++++--------------- src/style.css | 9 +++++---- 4 files changed, 63 insertions(+), 24 deletions(-) diff --git a/src/data.js b/src/data.js index ba2287e..3a81c5f 100644 --- a/src/data.js +++ b/src/data.js @@ -20,11 +20,48 @@ const filterName = () => { } filterName(); + window.allAlive = allAlive; window.allDead = allDead; window.allMale = allMale; window.allFemale = allFemale; +/*const filterPersonajes = (data, filterValue) => { + let filterData = data.filter (element => element.status == filterValue); + console.log(filterData) + return filterPersonajes; +} + +window.filterPersonajes = filtrarPersonajes; +/* + +const filtrarPersonajes = (data) => { + let filterData = data.filter (element => element.status[0] == filterValue); + console.log(filterData) + printDataPersonajes(filterData); +} + +const filtrarPersonajes = (data) => { + let filterData = data.filter (element => element.status.includes(filterValue)); +} + +window.filtrarPersonajes = filtrarPersonajes; +-- + +selectType.addEventListener('change', () => { + const selectUser = selectType.value + const pokeTierra = data.filter(tierra => tierra.type.includes(selectUser)); + + const pokeTierra = data.filter(tierra => tierra.type[0] == selectUser); + + console.log(pokeTierra); + printPokemons(pokeTierra) + })*/ + + +/*const newArray = data.filter( element => console.log(element.key[0])) (regresa cada uno de los elementos del array, con el key invocado) + +const pokemonEgg = newArray.filter(pokemonEgg => console.log(havegg))*/ diff --git a/src/index.html b/src/index.html index 9bd254f..9856e54 100644 --- a/src/index.html +++ b/src/index.html @@ -16,11 +16,11 @@
-
Personajes
-
Planetas y dimensiones
-
Inicio
-
Explorar
-
Ayuda
+
Personajes
+
Planetas y dimensiones
+
Inicio
+
Explorar
+
Ayuda
diff --git a/src/main.js b/src/main.js index 569ab3c..e5c78bb 100644 --- a/src/main.js +++ b/src/main.js @@ -34,29 +34,23 @@ const pantallaPersonajes = () => { let printDataPersonajes = (data) => { let str = ""; data.forEach(element => { - let image = element.image; - let name = element.name; - let species = element.species; - let gender = element.gender; - let origin = element.origin.name - let status = element.status; str += `
- +
-

${name}

-

Especie: ${species}

-

Género: ${gender}

-

Origen: ${origin}

-

Estatus: ${status}

+

${element.name}

+

Especie: ${element.species}

+

Género: ${element.gender}

+

Origen: ${element.origin.name}

+

Estatus: ${element.status}

` }); document.getElementById("card-display").innerHTML = str; - }; + } printDataPersonajes(data); let filterData1 = () => { @@ -84,8 +78,15 @@ let filterData1 = () => { printDataPersonajes(filterResult); } console.log(filterResult); - return filterResult - }; + return filterResult; +} + +/*let filterData2 = () => { + let filterResult = ""; + let filterValue = buttonFilter.value; + let filterResult = window.filterPersonajes(data,filterValue); + printDataPersonajes(filterResult); + console.log(filterData2);*/ const pantallaPlanetas = () => { screenBienvenida.classList.add("disappear"); diff --git a/src/style.css b/src/style.css index 46dc34b..13e303e 100644 --- a/src/style.css +++ b/src/style.css @@ -90,7 +90,8 @@ section { #pantalla-bienvenida { justify-content: center; - margin: 10vh 0 0 0; + position: initial; + margin: 17vh 0; padding: 10vh 1vh 0 1vh; width: 100%; background-image: url(images/background-stars.jpeg); @@ -114,7 +115,7 @@ section { color: violet; } #button-inicio-div :hover { - transform: scale(1.1); + transform: scale(1.3); } #button-inicio-div :hover > div { @@ -124,13 +125,13 @@ section { transform: scale(1.1); } #button-planetas-div :hover { - transform: scale(1.1); + transform: scale(1.3); } #button-explorar-div :hover { transform: scale(1.1); } #button-ayuda-div :hover { - transform: scale(1.1); + transform: scale(1.3); } From 5e30bcc9752791bd76e5de5f1d6d7cd5db49ed2d Mon Sep 17 00:00:00 2001 From: LMVR90 Date: Tue, 9 Jul 2019 18:18:26 -0500 Subject: [PATCH 20/22] =?UTF-8?q?C=C3=B3digo=20con=20errores=20en=20estilo?= =?UTF-8?q?s.=20Lo=20subo=20para=20poder=20hacer=20fetch=20del=20master=20?= =?UTF-8?q?despu=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/data.js | 27 +++++++++++++++++++++------ src/index.html | 26 +++++++++++++++----------- src/main.js | 7 ------- src/style.css | 32 ++++++++++++++++++++++---------- 4 files changed, 58 insertions(+), 34 deletions(-) diff --git a/src/data.js b/src/data.js index 3a81c5f..72020aa 100644 --- a/src/data.js +++ b/src/data.js @@ -13,12 +13,10 @@ console.log(allFemale); const allMale = data.filter(element => element.gender === "Male"); console.log(allMale); -const filterName = () => { - let allRick = data.filter(element => element.name === "Rick Sanchez"); - console.log(allRick); - return allRick; -} -filterName(); +const ordenarData = () => { +let newArray = data.forEach (element => element.name); +console.log(newArray)} +ordenarData(); window.allAlive = allAlive; @@ -26,6 +24,15 @@ window.allDead = allDead; window.allMale = allMale; window.allFemale = allFemale; + + +/*const filterName = () => { + let allRick = data.filter(element => element.name === "Rick Sanchez"); + console.log(allRick); + return allRick; +} +filterName();*/ + /*const filterPersonajes = (data, filterValue) => { let filterData = data.filter (element => element.status == filterValue); console.log(filterData) @@ -64,6 +71,14 @@ selectType.addEventListener('change', () => { const pokemonEgg = newArray.filter(pokemonEgg => console.log(havegg))*/ +/*let filterData2 = () => { + let filterResult = ""; + let filterValue = buttonFilter.value; + let filterResult = window.filterPersonajes(data,filterValue); + printDataPersonajes(filterResult); + console.log(filterData2);*/ + + diff --git a/src/index.html b/src/index.html index 9856e54..88a6aba 100644 --- a/src/index.html +++ b/src/index.html @@ -5,22 +5,25 @@ Rick and Morty Lovers - -
-
- - Rick and Morty Lovers - -
-
+ +
+
+
+ + Rick and Morty Lovers + +
+
-
+
+
Personajes
Planetas y dimensiones
Inicio
Explorar
Ayuda
+
@@ -30,7 +33,7 @@

Personajes

-
+
@@ -80,6 +83,7 @@

Rick and Morty Lovers - 2019

- + + \ No newline at end of file diff --git a/src/main.js b/src/main.js index e5c78bb..0b23544 100644 --- a/src/main.js +++ b/src/main.js @@ -81,13 +81,6 @@ let filterData1 = () => { return filterResult; } -/*let filterData2 = () => { - let filterResult = ""; - let filterValue = buttonFilter.value; - let filterResult = window.filterPersonajes(data,filterValue); - printDataPersonajes(filterResult); - console.log(filterData2);*/ - const pantallaPlanetas = () => { screenBienvenida.classList.add("disappear"); screenPersonajes.classList.add("disappear"); diff --git a/src/style.css b/src/style.css index 13e303e..82e7e93 100644 --- a/src/style.css +++ b/src/style.css @@ -71,6 +71,15 @@ header { padding: 0; } + +@media screen and(min-width 400px){ + .header { + width:100px; + margin: 0; + padding: 0; + } +} + footer { display: flex; width: 100%; @@ -94,6 +103,7 @@ section { margin: 17vh 0; padding: 10vh 1vh 0 1vh; width: 100%; + height: 100%; background-image: url(images/background-stars.jpeg); } @@ -176,21 +186,23 @@ section { margin: 0 auto; } +@media only screen and (min-width:400px) { + .imagen-personaje { + width: 20vh; + } + + #cards { + height: 20rem; + width: 20rem; + } + +} + #filter-personajes { background-color: green; position: fixed; } -@media only screen and (min-width:768px) { - .all-data { - width: 1200px; - height: 1000px; - } - .data-card { - width: 30%; - } -} - article { flex-direction: row; margin: 0; From af81602eb5f05996a7e82b207c017e3b545283a6 Mon Sep 17 00:00:00 2001 From: LMVR90 Date: Tue, 9 Jul 2019 20:24:02 -0500 Subject: [PATCH 21/22] Ajusta estilos en html y CSS --- src/index.html | 32 ++++++++++++++++++------------- src/main.js | 6 +++--- src/style.css | 52 ++++++++++++++++++++------------------------------ 3 files changed, 43 insertions(+), 47 deletions(-) diff --git a/src/index.html b/src/index.html index f8c1363..6645516 100644 --- a/src/index.html +++ b/src/index.html @@ -2,8 +2,8 @@ - Rick and Morty Lovers - + Rick and Morty Lovers +
@@ -17,11 +17,11 @@
-
Personajes
-
Planetas y dimensiones
-
Inicio
-
Explorar
-
Ayuda
+ +
Personajes
+
Planetas y dimensiones
+
Explorar
+
Ayuda
@@ -31,11 +31,11 @@

Personajes

-
+
-
- @@ -44,6 +44,12 @@

Personajes

+ @@ -68,9 +74,9 @@

Sobre Rick and Morty Lovers

-
+
- +
@@ -82,6 +88,6 @@

Rick and Morty Lovers - 2019

- + diff --git a/src/main.js b/src/main.js index 0b23544..6e020da 100644 --- a/src/main.js +++ b/src/main.js @@ -9,7 +9,7 @@ const screenPersonajes = document.getElementById("pantalla-personajes"); const screenPlanetas = document.getElementById("pantalla-planetas"); const screenExplorar = document.getElementById("pantalla-explorar"); const screenAyuda = document.getElementById("pantalla-ayuda"); -const buttonInicio = document.getElementById("button-inicio"); +//const buttonInicio = document.getElementById("button-inicio"); const pantallaBienvenida = () => { screenBienvenida.classList.remove("disappear"); @@ -17,7 +17,7 @@ const pantallaBienvenida = () => { screenPlanetas.classList.add("disappear"); screenExplorar.classList.add("disappear"); screenAyuda.classList.add("disappear"); - buttonReinicio.classList.add("disappear"); + buttonReinicio.classList.remove("disappear"); buttonFilter.classList.add("disappear"); } @@ -111,7 +111,7 @@ const pantallaAyuda = () => { buttonFilter.classList.add("disappear"); } -buttonInicio.addEventListener("click", pantallaBienvenida); +//buttonInicio.addEventListener("click", pantallaBienvenida); buttonReinicio.addEventListener("click", pantallaBienvenida); buttonPersonajes.addEventListener("click", pantallaPersonajes); buttonPlanetas.addEventListener("click", pantallaPlanetas); diff --git a/src/style.css b/src/style.css index 2397ab2..b19782e 100644 --- a/src/style.css +++ b/src/style.css @@ -10,7 +10,7 @@ display: flex; background-color: #222222; justify-content: center; - } +} .row{ margin: auto; @@ -100,8 +100,8 @@ section { #pantalla-bienvenida { justify-content: center; position: initial; - margin: 17vh 0; - padding: 10vh 1vh 0 1vh; + margin-top: 17vh; + padding: 10vh; width: 100%; height: 100%; background-image: url(images/background-stars.jpeg); @@ -110,43 +110,29 @@ section { #button-reinicio { justify-content: center; position: fixed; - bottom: 0; + bottom: 3vh; } +#button-reinicio :hover { + transform: scale(1.1); +} -/*#button-inicio-div #button-personajes-div #button-planetas-div #button-explorar-div #button-ayuda-div { - display: flex; - margin: 1vh; - padding: 1vh; - align-content: center; -}*/ + +.gif-button :hover { + transform: scale(1.2); +} .nombre-secciones { color: green; - text-align: left; - font-size: 30px; + text-align: center; + font-size: 3rem; } -#button-inicio-div :hover { - transform: scale(1.2); - } - -#button-personajes-div :hover { - transform: scale(1.2); - } -#button-planetas-div :hover { - transform: scale(1.2); - } -#button-explorar-div :hover { - transform: scale(1.2); - } -#button-ayuda-div :hover { - transform: scale(1.2); - } #pantalla-personajes { flex-direction: column; justify-content: center; } + #cards { display: flex; background-color: whitesmoke; @@ -163,19 +149,23 @@ section { text-align: center; } +#card-display { + justify-content: center; +} + .card-display { display: flex; flex-direction: row; - position: fixed; - padding: 0; justify-content: space-around; - /*position: relative;*/ height: 80vh; width: 100%; overflow: scroll; background-color: green; align-content: center; + position: fixed; + /*padding: 0; margin: 0; + position: relative;*/ } .imagen-personaje { From f49cee8469d80652cbdb11da5a11cbcef6161cb2 Mon Sep 17 00:00:00 2001 From: LMVR90 Date: Wed, 10 Jul 2019 13:26:21 -0500 Subject: [PATCH 22/22] Agrega contenido a la pantala Explorar --- src/index.html | 16 ++++++++++++++-- src/style.css | 4 ++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/index.html b/src/index.html index 6645516..e57983f 100644 --- a/src/index.html +++ b/src/index.html @@ -61,8 +61,20 @@

Planetas y dimensiones

-
-

Explorar

+
+

Explorar

+
+
+
+ +
+
+

Rick ann Morty Temporada 4

+

La cuarta temporada de Rick and Morty llega en Noviembre de 2019! + Mientras tanto vuelve a ver tus episodios favoritos. +

+
diff --git a/src/style.css b/src/style.css index b19782e..22ec86d 100644 --- a/src/style.css +++ b/src/style.css @@ -194,7 +194,7 @@ section { article { flex-direction: row; margin: 0; - padding: 16vh 0vh 0vh 0vh; + padding: 17vh 0vh 0vh 0vh; position: initial; color: black; background-color:green; @@ -204,4 +204,4 @@ article { .section-header { padding: 1vh; flex-wrap: wrap; -} +} \ No newline at end of file