- - [ ] Uso de flexbox en sentido `row` y `column`
- - [ ] Uso de flexbox para el elemento que contiene los items
- - [ ] Uso de flexbox para el elemento que contiene los UI inputs
-
-#### Web APIs
-
-* **Uso de selectores del DOM**
-
- - [ ] La aplicación usa [`querySelector`](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector)
- para buscar los elementos del DOM
-
-* **Manejo de eventos del DOM (listeners, propagación, delegación)**
-
- - [ ] `addEventListener` con callback que tiene parámetro de `event`,
- lo que permite el uso del objeto [`event`](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/Events#event_objects)
- con `event.target` o `event.currentTarget`
- - [ ] La aplicación registra [Event Listeners](https://developer.mozilla.org/en/docs/Web/API/EventTarget/addEventListener)
- para escuchar `click`, `change`, `keyup` dependiendo del evento que
- se quiere escuchar
-
-* **Manipulación dinámica del DOM**
-
- - [ ] La aplicación actualiza el atributo [`innerHTML`](https://developer.mozilla.org/es/docs/Web/API/Element/innerHTML).
- - [ ] La aplicación usa `createElement` y `appendChild`, o template strings
- para crear elementos
-
-#### JavaScript
-
-* **Variables (declaración, asignación, ámbito)**
-
- - [ ] La aplicación declara variables con [`let`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let)
- y [`const`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const)
- en manera adecuada
-
-* **Uso de condicionales (if-else, switch, operador ternario, lógica booleana)**
-
- - [ ] La aplicación usa el statement
- [`if..else`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else)
- para evaluar condiciones
-
-* **Uso de bucles/ciclos (while, for, for..of)**
-
- - [ ] La aplicación usa el statement [`for`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for)
- o método [`forEach`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)
- para iterar
-
-* **Funciones (params, args, return)**
-
- En el archivo `dataFunctions.js` define las siguientes funciones:
- - [ ] una función `sortBy` que tiene 3 parámetros (`data`, `sortBy`, `sortOrder`)
- y devuelve el arreglo ordenado
- - [ ] una función `filterBy` que tiene 3 parámetros (`data`, `filterBy`, `value`)
- y devuelve el arreglo filtrado
- - [ ] una función `computeStats` que tiene al menos un parámetro (`data`)
- y devuelve un valor computado
-
- Más sobre estos puntos en [la sección dataFunctions.js](#src/dataFunctions.js)
-
-* **Arrays (arreglos)**
-
- - [ ] Uso de [Arreglos](https://curriculum.laboratoria.la/es/topics/javascript/04-arrays)
- - [ ] Uso de [Array.prototype.sort() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)
- o [Array.prototype.toSorted - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/toSorted)
- - [ ] Uso de [Array.prototype.forEach() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)
- - [ ] Uso de [Array.prototype.map() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/map)
- - [ ] Uso de [Array.prototype.filter() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)
- - [ ] Uso de [Array.prototype.reduce() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce)
-
-* **Objetos**
-
- - [ ] Uso de notación de punto para [acceder propiedades](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors)
- - [ ] Uso de notación de brackets para [acceder propiedades](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors)
-
-* **Módulos de ECMAScript (ES Modules)**
-
- - [ ] La aplicación usa [`import`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import)
- y [`export`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export)
- para importar y exportar valores desde un modulo JavaScript.
-
### Criterios del proyecto
#### 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 usuaria.
+Se realizó una serie de preguntas para poder definir nuestros usuarios, el producto en el cual queriamos trabajar y cuales eran nuestros objetivos. Las preguntas fueron las siguientes:
-#### Historias de usuario
+¿Quiénes son las principales usuarias del producto?
+Adolescentes, jovenes, publico que consumio el anime.
-Una vez que entiendas las necesidades de tus usuarias, escribe las [Historias
-de Usuaria](https://es.wikipedia.org/wiki/Historias_de_usuario) que representen
-todo lo que la usuaria necesita hacer/ver. Las **Historias de Usuario** deben
-ser el resultado de tu proceso de investigación o _research_ de tus usuarias.
+¿Cuáles son los objetivos de estas usuarias en relación con el producto?
+Conocer más sobre el anime, conocer a los personajes.
-Asegúrate de incluir la definición de terminado (_definition of done_) y los
-Criterios de Aceptación para cada una.
+¿Cuáles son los datos más relevantes que quieren ver en la interfaz y por qué?
+Mostrar las cartas, los personajes y los oufits (vestimenta,opcional). Porque en el anime es lo que más destaca, lo mas llamativo.
-Usa tus historias de usuario para planificar tus sprints dividiendo
-cada historia en tareas.
+¿Cuándo utilizan o utilizarían el producto?
+Cuando quieran conocer sobre las cartas, cuantas son, cuales son, de que tipo son.
+Conocer más a detalle los personajes o sobre el anime.
+
-En la medida de lo posible, termina una Historia de Usuario antes de pasar
-a la siguiente (cumpliendo con la Definición de Terminado y los Criterios de Aceptación).
+#### Historias de usuario
+Asi tambien, se realizo historias de usuario para poder trabajar cada funcionalidad y para poder planificar los sprints, dividiendo cada historia en tareas.
-#### Generar los datos
+
-La temática será a tu gusto, por ejemplo, pueden ser personajes importantes
-en la historia, personajes inventados, países, películas... etc.
-En el próximo proyecto, con la ayuda de la inteligencia artificial, deberás
-hacer que la usuaria pueda chatear con la data generada.
-Por ejemplo, si la data está mostrando un país, la usuaria podría
-preguntarle en que año fue fundado o cual es su capital, etc.
-Tenlo en cuenta a la hora de generar tu dataset.
+#### Generar los datos
-Esta data la vas a guardar en un archivo javascript. Este archivo,
-debe exportar un arreglo con 24 objetos. Y la estructura de cada objeto
-debe ser la siguiente:
+Se generaron los datos con la temática de Cartas Clow del anime de Sakura Card Captor. Se utilizó el chatgpt para generarlos en el cual obtuvimos 1 array con 24 objetos con las siguientes propiedades a considerar:
* `id`: Identificador único (no pueden haber dos elementos con el mismo `id`).
Debe ser un string de no más de 32 characteres, en minúscula, compuesto solo
@@ -479,9 +193,9 @@ debe ser la siguiente:
```json
"facts": {
- "yearOfBirth": 1843,
- "placeOfBirth": "London, England",
- "mainField": "Computer Science",
+ "elementEsencial": "Climáticos",
+ "powerFul": "Control del viento",
+ "cardType": "Magia"
}
```
@@ -490,483 +204,25 @@ debe ser la siguiente:
```json
"facts": {
- "year_of_birth": 1843,
- "Place of Birth": "London, England",
- "MainField": "Computer Science",
+ "elementEsencial": "Climáticos",
+ "powerFul": "Control del viento",
+ "cardType": "Magia"
}
```
Los _valores de las propiedades_, sólo pueden ser de tipo `number`, `boolean`
o un `string` de no más de 64 caracteres (este **no** tiene restricciones sobre
el tipo de caracteres que puede contener).
-
- Y por último ten en cuenta 2 cosas:
- - Todos los elementos del dataset deben compartir las mismas propiedades en
- `facts`, es decir, que si un elemento tiene una propiedad `yearOfBirth`,
- el resto de elementos del array también deben tener esa propiedad.
- - No es necesario que los nombres de las propiedades estén en inglés,
- `"lugarDeNacimiento"` es un nombre igual de válido.
-
+
* `extraInfo`: Y por último un campo libre opcional, similar a `facts`. Si lo
necesitas, aquí puedes poner cualquier otro tipo de información en formato
donde puedes poner otra info que necesites en formato `"nombre": "valor"`,
pero sin restricciones sobre el tipo de dato del valor. Por ejemplo:
- ```json
- "extraInfo": {
- "imagePrompt": "Un texto bien, bien largo...",
- "writings": [
- "Vol. 1",
- "Vol. 2",
- "Vol. 3",
- "Vol. 4"
- ]
- }
- ```
-
-Un ejemplo de data, según los requisitos anteriores podría ser:
-
-```js
-export default [
- {
- "id": "ada-lovelace",
- "name": "Ada Lovelace",
- "shortDescription": "Pionera de la informática, fue la primera programadora.",
- "description": "Una visionaria del siglo XIX ...",
- "imageUrl": "URL_DE_LA_IMAGEN_GENERADA",
- "facts": {
- "yearOfBirth": 1843,
- "placeOfBirth": "London, England",
- "mainField": "Computer Science",
- }
- },
- //... 23 objetos más
-]
-```
-
-La data generada deberás reemplazarla por el contenido de este archivo:
-`./src/data/dataset.js`.
-
-**El tiempo estimado que deberías dedicar a la generación de estos datos
-es de máximo un sprint.** Si transcurrido un sprint, no tienes un
-conjunto de datos generados, deberás
-utilizar los datos de ejemplo ubicados en la ruta:
-`./src/data/dataset.js`.
-
-Las URLs de las imágenes dentro del archivo javascript, deben enlazar
-a las imágenes para cada elemento del array.
-Estas imágenes pueden ser generadas por la inteligencia artificial o imágenes
-que puedas encontrar en la web.
-Para la generación de imágenes te recomendamos usar el
-[generador de imágenes de Bing](https://www.bing.com/create).
-Una vez que tengas la imagen, descárgala u obtiene su URL, para agregársela
-al dataset.
-
-Una vez que tengas el archivo javascript completo, recuerda correr los test con
-`npm run test` para verificar que el archivo esté cumpliendo con lo
-solicitado.
-
-Una vez que hayas delimitado tu campo de interés y generado el archivo
-javascript con la asistencia de la inteligenica artificial, dedica
-tiempo a comprender a fondo a tu usuaria y sus
-necesidades específicas. A partir de esta comprensión, podrás diseñar la
-interfaz que facilite una interacción más efectiva y una comprensión más
-completa de los datos presentados.
#### Prompt utilizado
-Dentro del readme que armarás, debe incluir una captura de pantalla
-de tu prompt utilizado para generar los datos. Si utilizaste varios prompts,
-puedes adjuntar todas las capturas que necesites.
-
-#### Diseño de la Interfaz de Usuaria
-
-##### Prototipo de alta fidelidad
-
-Usando los wireframes o bocetos (_sketches_) de tu solución de interfaz
-como base, lo siguiente es diseñar tu Interfaz de Usuaria (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, etc.
-
-El diseño debe representar el _ideal_ de tu solución. Digamos que es lo que
-desearías implementar si tuvieras tiempo ilimitado para trabajar. Además, tu
-diseño debe seguir los fundamentos de _visual design_.
-
-Recuerda pedir feedback de tu prototipo a tus compañeras y/o coaches.
-
-#### Testeos de usabilidad
-
-Durante el reto deberás hacer _tests_ de usabilidad con distintos usuarias,
-y con base en los resultados, 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 Usuaria (HTML/CSS/JS)
-
-Luego de diseñar tu interfaz de usuaria deberás trabajar en su implementación.
-**No** es necesario que construyas la interfaz exactamente como la diseñaste.
-Tu tiempo de hacking es escaso, así que deberás priorizar.
-
-Revisa [las funcionalidades](#3-funcionalidades) que el proyecto pide del interfaz.
-
-#### Pruebas unitarias
-
-El _boilerplate_ de este proyecto no incluye Pruebas Unitarias (_tests_), así es
-que tendrás que escribirlas tú para las funciones encargadas de _procesar_,
-_filtrar_ y _ordenar_ la data, así como _calcular_ estadísticas. Este proyecto usa
-el framework [Jest](https://jestjs.io/) para ejecutar las pruebas unitarias por lo
-que te recomendamos consultar su documentación.
-
-Tus _pruebas unitarias_ deben dar una cobertura del 70% de _statements_
-(_sentencias_), _functions_ (_funciones_), _lines_ (_líneas_), y _branches_
-(_ramas_) del archivo `src/dataFunctions.js` que contenga tus funciones y
-está detallado en la sección de [Consideraciones técnicas](#src/data.js).
-
-## 7. Hacker edition
-
-Las secciones llamadas _Hacker Edition_ son **opcionales**. Si **terminaste**
-con todo lo anterior y te queda tiempo, intenta completarlas. Así podrás
-profundizar y/o ejercitar más sobre los objetivos de aprendizaje del proyecto.
-
-Features/características extra sugeridas:
-
-* Visualizar la estadística calculada mediante un gráfico. 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/).
-* 100% Coverage
-
-## 8. Objetivos de aprendizaje
-
-
-Reflexiona y luego marca los objetivos que has llegado a entender y aplicar en tu proyecto. Piensa en eso al decidir tu estrategia de trabajo.
-
-### HTML
-
-- [ ] **Uso de HTML semántico**
-
- Links
-
- * [HTML semántico](https://curriculum.laboratoria.la/es/topics/html/html5/semantic-html)
- * [Semantics - MDN Web Docs Glossary](https://developer.mozilla.org/en-US/docs/Glossary/Semantics#Semantics_in_HTML)
-
-
-### CSS
-
-- [ ] **Uso de selectores de CSS**
-
- Links
-
- * [Intro a CSS](https://curriculum.laboratoria.la/es/topics/css/css/intro-css)
- * [CSS Selectors - MDN](https://developer.mozilla.org/es/docs/Web/CSS/CSS_Selectors)
-
-
-- [ ] **Modelo de caja (box model): borde, margen, padding**
-
- Links
-
- * [Box Model & Display](https://curriculum.laboratoria.la/es/topics/css/css/boxmodel-and-display)
- * [The box model - MDN](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model)
- * [Introduction to the CSS box model - MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Box_Model/Introduction_to_the_CSS_box_model)
- * [CSS display - MDN](https://developer.mozilla.org/pt-BR/docs/Web/CSS/display)
- * [display - CSS Tricks](https://css-tricks.com/almanac/properties/d/display/)
-
-
-- [ ] **Uso de flexbox en CSS**
-
- Links
-
- * [A Complete Guide to Flexbox - CSS Tricks](https://css-tricks.com/snippets/css/a-guide-to-flexbox/)
- * [Flexbox Froggy](https://flexboxfroggy.com/#es)
- * [Flexbox - MDN](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox)
-
-
-### Web APIs
-
-- [ ] **Uso de selectores del DOM**
-
- Links
-
- * [Manipulación del DOM](https://curriculum.laboratoria.la/es/topics/browser/dom/1-dom-methods-selection)
- * [Introducción al DOM - MDN](https://developer.mozilla.org/es/docs/Web/API/Document_Object_Model/Introduction)
- * [Localizando elementos DOM usando selectores - MDN](https://developer.mozilla.org/es/docs/Web/API/Document_object_model/Locating_DOM_elements_using_selectors)
-
-
-- [ ] **Manejo de eventos del DOM (listeners, propagación, delegación)**
-
- Links
-
- * [Introducción a eventos - MDN](https://developer.mozilla.org/es/docs/Learn/JavaScript/Building_blocks/Events)
- * [EventTarget.addEventListener() - MDN](https://developer.mozilla.org/es/docs/Web/API/EventTarget/addEventListener)
- * [EventTarget.removeEventListener() - MDN](https://developer.mozilla.org/es/docs/Web/API/EventTarget/removeEventListener)
- * [El objeto Event](https://developer.mozilla.org/es/docs/Web/API/Event)
-
-
-- [ ] **Manipulación dinámica del DOM**
-
- Links
-
- * [Introducción al DOM](https://developer.mozilla.org/es/docs/Web/API/Document_Object_Model/Introduction)
- * [Node.appendChild() - MDN](https://developer.mozilla.org/es/docs/Web/API/Node/appendChild)
- * [Document.createElement() - MDN](https://developer.mozilla.org/es/docs/Web/API/Document/createElement)
- * [Document.createTextNode()](https://developer.mozilla.org/es/docs/Web/API/Document/createTextNode)
- * [Element.innerHTML - MDN](https://developer.mozilla.org/es/docs/Web/API/Element/innerHTML)
- * [Node.textContent - MDN](https://developer.mozilla.org/es/docs/Web/API/Node/textContent)
-
-
-### JavaScript
-
-- [ ] **Diferenciar entre tipos de datos primitivos y no primitivos**
-
-- [ ] **Arrays (arreglos)**
-
- Links
-
- * [Arreglos](https://curriculum.laboratoria.la/es/topics/javascript/arrays)
- * [Array - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/)
- * [Array.prototype.sort() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)
- * [Array.prototype.forEach() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)
- * [Array.prototype.map() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/map)
- * [Array.prototype.filter() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)
- * [Array.prototype.reduce() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce)
-
-
-- [ ] **Objetos (key, value)**
-
- Links
-
- * [Objetos en JavaScript](https://curriculum.laboratoria.la/es/topics/javascript/objects/objects)
-
-
-- [ ] **Variables (declaración, asignación, ámbito)**
-
- Links
-
- * [Valores, tipos de datos y operadores](https://curriculum.laboratoria.la/es/topics/javascript/basics/values-variables-and-types)
- * [Variables](https://curriculum.laboratoria.la/es/topics/javascript/basics/variables)
-
-
-- [ ] **Uso de condicionales (if-else, switch, operador ternario, lógica booleana)**
-
- Links
-
- * [Estructuras condicionales y repetitivas](https://curriculum.laboratoria.la/es/topics/javascript/flow-control/conditionals-and-loops)
- * [Tomando decisiones en tu código — condicionales - MDN](https://developer.mozilla.org/es/docs/Learn/JavaScript/Building_blocks/conditionals)
-
-
-- [ ] **Uso de bucles/ciclos (while, for, for..of)**
-
- Links
-
- * [Bucles (Loops)](https://curriculum.laboratoria.la/es/topics/javascript/flow-control/loops)
- * [Bucles e iteración - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Loops_and_iteration)
-
-
-- [ ] **Funciones (params, args, return)**
-
- Links
-
- * [Funciones (control de flujo)](https://curriculum.laboratoria.la/es/topics/javascript/flow-control/functions)
- * [Funciones clásicas](https://curriculum.laboratoria.la/es/topics/javascript/functions/classic)
- * [Arrow Functions](https://curriculum.laboratoria.la/es/topics/javascript/functions/arrow)
- * [Funciones — bloques de código reutilizables - MDN](https://developer.mozilla.org/es/docs/Learn/JavaScript/Building_blocks/Functions)
-
-
-- [ ] **Pruebas unitarias (unit tests)**
-
- Links
-
- * [Empezando con Jest - Documentación oficial](https://jestjs.io/docs/es-ES/getting-started)
-
-
-- [ ] **Módulos de ECMAScript (ES Modules)**
-
- Links
-
- * [import - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Statements/import)
- * [export - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Statements/export)
-
-
-- [ ] **Uso de linter (ESLINT)**
-
-- [ ] **Uso de identificadores descriptivos (Nomenclatura y Semántica)**
-
-- [ ] **Diferenciar entre expresiones (expressions) y sentencias (statements)**
-
-### Control de Versiones (Git y GitHub)
-
-- [ ] **Git: Instalación y configuración**
-
-- [ ] **Git: Control de versiones con git (init, clone, add, commit, status, push, pull, remote)**
-
-- [ ] **Git: Integración de cambios entre ramas (branch, checkout, fetch, merge, reset, rebase, tag)**
-
-- [ ] **GitHub: Creación de cuenta y repos, configuración de llaves SSH**
-
-- [ ] **GitHub: Despliegue con GitHub Pages**
-
- Links
-
- * [Sitio oficial de GitHub Pages](https://pages.github.com/)
-
-
-- [ ] **GitHub: Colaboración en Github (branches | forks | pull requests | code review | tags)**
-
-### Centrado en el usuario
-
-- [ ] **Diseñar y desarrollar un producto o servicio poniendo a las usuarias en el centro**
-
-### Diseño de producto
-
-- [ ] **Crear prototipos de alta fidelidad que incluyan interacciones**
-
-- [ ] **Seguir los principios básicos de diseño visual**
-
-### Investigación
-
-- [ ] **Planear y ejecutar testeos de usabilidad de prototipos en distintos niveles de fidelidad**
-
- Links
-
- * [Intro a testeos usabilidad](https://coda.io/@bootcamp-laboratoria/contenido-ux/test-de-usabilidad-15)
- * [Pruebas con Usuarios 1 — ¿Qué, cuándo y para qué testeamos?](https://eugeniacasabona.medium.com/pruebas-con-usuarios-1-qu%C3%A9-cu%C3%A1ndo-y-para-qu%C3%A9-testeamos-7c3a89b4b5e7)
-
-
-### AI Prompting
-
-- [ ] **Dando Instrucciones**
-
- Links
-
- * [Dando Instrucciones | Learn Prompting: Your Guide to Communicating with AI](https://learnprompting.org/es/docs/basics/instructions)
-
-
-- [ ] **Few shot prompting**
-
- Links
-
- * [Few shot prompting | Learn Prompting: Your Guide to Communicating with AI](https://learnprompting.org/es/docs/basics/few_shot)
-
-
-## 9. Pistas, tips y lecturas complementarias
-
-### Primeros pasos
-
-Súmate al canal de Slack
-[#project-dataverse](https://claseslaboratoria.slack.com/archives/C03MV35EP5M)
-para conversar y pedir ayuda del proyecto.
-
-Antes de empezar a escribir código, debes definir qué deberá hacer el
-producto con base en el conocimiento que puedas obtener de tu usuaria.
-Estas preguntas te pueden ayudar:
-
-* ¿Quiénes son las principales usuarias del producto?
-* ¿Cuáles son los objetivos de estas usuarias en relación con el producto?
-* ¿Cuáles son los datos más relevantes que quieren ver en la interfaz y por qué?
-* ¿Cuándo utilizan o utilizarían el producto?
-* Toda tu investigación previa debe tener como resultado todas las Historias
- de Usuaria de tu proyecto.
-* No hagas los prototipos de alta fidelidad de todas tus Historias. Comienza
- solamente por los que se necesiten para tu Sprint 1 (semana 1 de trabajo). Más
- pistas en la guía de organización para el proyecto.
-
-Cuando ya estés lista para codear, te sugerimos empezar de esta manera:
-
-1. Una de las integrantes del equipo debe realizar un :fork_and_knife:
- [fork](https://help.github.com/articles/fork-a-repo/) del repo de tu cohort,
- tus _coaches_ te compartirán un _link_ a un repo y te darán acceso de lectura
- en ese repo. La otra integrante del equipo deber hacer un fork **del
- repositorio de su compañera** y
- [configurar](https://gist.github.com/BCasal/026e4c7f5c71418485c1) un `remote`
- hacia el mismo.
-2. :arrow_down: [Clona](https://help.github.com/articles/cloning-a-repository/)
- tu _fork_ a tu computadora (copia local).
-3. 📦 Instala las dependencias del proyecto con el comando `npm install`. Esto
- asume que has instalado [Node.js](https://nodejs.org/) (que incluye [npm](https://docs.npmjs.com/)).
-4. Si todo ha ido bien, deberías poder ejecutar las :traffic_light:
- pruebas unitarias (unit tests) con el comando `npm test`.
-5. Para ver la interfaz de tu programa en el navegador, usa el comando
- `npm start` para arrancar el servidor web y dirígete a
- `http://localhost:5000` en tu navegador.
-6. A codear se ha dicho! :rocket:
-
-### Contenido de referencia
-#### Desarrollo Front-end
+
+
-* [Tópicos en la currícula de Laboratoria](https://curriculum.laboratoria.la/es/web-dev/topics)
- testing, arreglos, objetos, funciones, DOM en Browser Javascript.
-* [Buscando elementos con querySelector*](https://es.javascript.info/searching-elements-dom)
-* [Objeto del evento](https://es.javascript.info/introduction-browser-events#objeto-del-evento)
-* [Array en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array)
-* [Array.sort en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/sort)
-* [Array.toSorted en MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toSorted)
-* [Array.map en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/map)
-* [Array.filter en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/filter)
-* [Array.reduce en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/reduce)
-* [Array.forEach en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/forEach)
-* [Object.keys en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Object/keys)
-* [Object.entries en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Object/entries)
-* [Atributos de datos](https://developer.mozilla.org/es/docs/Learn/HTML/Howto/Use_data_attributes)
-* [expressions-vs-statements](https://2ality.com/2012/09/expressions-vs-statements.html)
-* [expresión vs sentencia](https://openclassrooms.com/en/courses/4309531-descubre-las-funciones-en-javascript/5108986-diferencia-entre-expresion-y-sentencia)
-* [Datos atómicos vs datos estructurados](https://www.todojs.com/tipos-datos-javascript-es6/)
-* [Módulos: Export](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Sentencias/export)
-* [Módulos: Import](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Sentencias/import)
-* [Diferencia entre array y objetos](https://youtu.be/mJJloQY7A8Y)
-* [¿Cómo puedo recorrer un objeto?](https://youtube.com/01RHn23Bn_0)
-* [`map`, `filter`, `sort` y `reduce` también son métodos para objetos](https://youtu.be/bUl1R2lQvKo)
-* [Diferencia entre expression y statements](https://youtu.be/wlukoWco2zk)
-* [Diferencia entre createElement e innerHTML](https://www.javascripttutorial.net/javascript-dom/javascript-innerhtml-vs-createelement/)
-* [¿Qué es el Scope?](https://youtu.be/s-7C09ymzK8)
-
-#### Herramientas
-
-* [Git](https://git-scm.com/)
-* [GitHub](https://github.com/)
-* [GitHub Pages](https://pages.github.com/)
-* [Para preguntas sobre Git recomendamos ver este playlist](https://www.youtube.com/watch?v=F1EoBbvhaqU&list=PLiAEe0-R7u8k9o3PbT3_QdyoBW_RX8rnV)
-* [Node.js](https://nodejs.org/)
-* [Jest](https://jestjs.io/)
-
-#### Organización del Trabajo
-
-* [Historias de Usuario](https://www.youtube.com/watch?v=ky6wFiF5vMk&t=344s).
- Ojo que Cris no diferencia _Definición de terminado_ de _Criterios de
- Aceptación_ y nosotros sí lo haremos. Más detalles en la guía.
-* [Cómo dividir H.U.](https://www.youtube.com/watch?v=Ueq786iZ30I&t=341s)
-
-## 10. Consideraciones para pedir tu Project Feedback
-
-Antes de agendar tu Project Feedback con un coach, asegúrate que tu proyecto:
-
-* [ ] Cumple con todos los criterios mínimos de aceptación al ejecutar `npm run test:oas`
-* [ ] Cumple con todas las pruebas _end to end_ al ejecutar `npm run test:e2e`
-* [ ] Cumple con todas las pruebas unitarias al ejecutar `npm run test` y
- que tienen una cobertura del 70% de _statements_ (_sentencias_),
- _functions_ (_funciones_), _lines_ (_líneas_), y _branches_
-* [ ] Esta libre de _errores_ de `eslint` al ejecutar `npm run pretest`
-* [ ] Está subido a GitHub y desplegado en GitHub Pages
-* [ ] Captura de pantalla del prompt utilizado para generar los datos.
-* Tiene un `README.md` con la siguente:
- - [ ] _Definición del producto_ clara e informativa
- - [ ] Historias de usuario
- - [ ] Un _Diseño de la Interfaz de Usuaria_ (prototipo de alta fidelidad)
- - [ ] El listado de problemas que detectaste a través de tests
- de usabilidad en el `README.md`
-* Tiene un UI que cumple las funcionalidades:
- - [ ] Muestra lista con datos y/o indicadores
- - [ ] Permite ordenar data por uno o más campos (asc y desc)
- - [ ] Permite filtrar data con base en una condición
- - [ ] Permite limpiar los filtros con un botón
- - [ ] Es _responsive_
-
-Recuerda que debes hacer una autoevaluación de _objetivos de aprendizaje_ y
-_life skills_ desde tu dashboard de estudiante.
-
-Si no has completado todo lo anterior, no consideramos que estás lista para
-tu sesión de Project Feedback.
diff --git a/src/data/dataset.js b/src/data/dataset.js
index 0ebafb6f..6825484e 100644
--- a/src/data/dataset.js
+++ b/src/data/dataset.js
@@ -1,378 +1,434 @@
export default [
{
- "id": "ada-lovelace",
- "name": "Ada Lovelace",
- "shortDescription": "Pionera en la programación, primera programadora de la historia.",
- "description": "Una visionaria matemática británica del siglo XIX, es aclamada como la primera programadora de la historia. Su colaboración con Charles Babbage en la creación de la Máquina Analítica la llevó a desarrollar algoritmos, incluyendo el famoso \"algoritmo de Bernoulli\", destinados a ser procesados por una máquina. Su visión pionera la convirtió en una figura fundamental en la informática y la inteligencia artificial. Lovelace demostró que las computadoras podían ir más allá de simples cálculos matemáticos, anticipando un mundo donde la programación sería esencial en la resolución de problemas complejos, dejando una huella imborrable en la ciencia y la tecnología.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/ada-lovelace.jpg",
+ "id": "1",
+ "name": "Windy",
+ "shortDescription": "Carta del Viento",
+ "description": "The Windy es una poderosa carta mágica que otorga a su poseedor el control total sobre el viento. Con solo un gesto, el portador puede desencadenar ráfagas de viento huracanado o calmar suavemente la brisa. Su magia es esencial para los viajes aéreos y la manipulación del clima. Capturada por Syaoran, esta carta es parte fundamental del repertorio de Sakura. Con su naturaleza dócil, The Windy es una aliada valiosa. Es reconocida como una carta original y no representa un peligro significativo. ¿Será utilizada estratégicamente en las futuras batallas?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/rama-Julia/src/imgs/windy.jpg",
"facts": {
- "yearOfBirth": "1815",
- "yearOfDeath": "1852",
- "birthPlace": "Londres, Reino Unido",
- "mainField": "Ciencia de la Computación"
+ "elementEsencial": "Climáticos",
+ "powerFul": "Control del viento",
+ "cardType": "Magia"
},
"extraInfo": {
- "imageSource": "https://www.bing.com/images/create/genera-una-imagen-de-ada-lovelace2c-la-primera-prog/650a1eff8ff04b88833d5cdef0309441"
+ "capturedBySyaoran": true,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
},
{
- "id": "emmy-noether",
- "name": "Emmy Noether",
- "shortDescription": "Matemática destacada, teorema fundamental en álgebra abstracta.",
- "description": "Una brillante matemática alemana, revolucionó la física teórica con sus contribuciones al teorema de conservación de la energía y el teorema de Noether, fundamentales en la teoría de la relatividad y la mecánica cuántica. A pesar de los obstáculos que enfrentó como mujer en la academia, sus investigaciones en álgebra abstracta y teoría de grupos son fundamentales en la física moderna. Su capacidad para unificar conceptos matemáticos y físicos marcó un hito en la historia de la ciencia, allanando el camino para futuras generaciones de científicas.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/emmy-noether.jpg",
+ "id": "2",
+ "name": "Watery",
+ "shortDescription": "Carta del Agua",
+ "description": "The Watery es una carta mágica que concede el poder de controlar y manipular el agua en diversas formas. Desde crear barreras acuáticas hasta modificar la forma del agua, esta carta es versátil y poderosa. Syaoran logró capturarla, y ahora es parte del conjunto de cartas de Sakura. Reconocida como una carta original, The Watery no representa un peligro significativo. Es esencial para controlar cuerpos de agua y proporciona una defensa eficaz. ¿Cómo utilizará Sakura este poder en sus futuras aventuras mágicas? La respuesta se encuentra en el fluir de las aguas místicas.",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/watery.jpg",
"facts": {
- "yearOfBirth": "1882",
- "yearOfDeath": "1935",
- "birthPlace": "Erlangen, Alemania",
- "mainField": "Matemáticas"
+ "elementEsencial": "Naturaleza",
+ "powerFul": "Manipulación del agua",
+ "cardType": "Magia"
},
"extraInfo": {
- "imageSource": "https://www.bing.com/images/create/create-an-image-of-of-a-german-woman2c-a-pioneering/6510ddb1e8254b928b8f8f1d5e95fea4"
+ "capturedBySyaoran": true,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
},
{
- "id": "hypatia-de-alejandria",
- "name": "Hypatia de Alejandría",
- "shortDescription": "Matemática y filósofa en la antigua Alejandría.",
- "description": "Filósofa y matemática en la antigua Alejandría, desafió las normas de género de su época al destacar en una sociedad dominada por hombres. Su legado incluye importantes contribuciones a la geometría y la astronomía, así como su destacado papel como maestra y defensora del conocimiento en una época de agitación política. Hypatia demostró que las mujeres podían sobresalir en campos intelectuales y su valentía al mantener sus creencias filosóficas la convierte en un símbolo de resistencia y sabiduría en la historia de la ciencia.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/hypatia-de-alejandria.jpg",
+ "id": "3",
+ "name": "Firey",
+ "shortDescription": "Carta del Fuego",
+ "description": "The Fiery es una carta mágica que concede a su poseedor el control absoluto del fuego. Con la capacidad de encender llamas ardientes o generar calor en cualquier entorno, esta carta se convierte en una herramienta esencial en situaciones que requieren poder de fuego. Capturada con éxito por Sakura durante una emocionante búsqueda, The Fiery se ha integrado de manera vital en su colección mágica. Reconocida como una carta original, su naturaleza apasionada y su versatilidad la convierten en una aliada única. ¿Cómo desplegará Sakura este poder en futuras batallas?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/firey.jpeg",
"facts": {
- "yearOfBirth": "circa 360",
- "yearOfDeath": "415",
- "birthPlace": "Alejandría, Egipto",
- "mainField": "Matemáticas, Filosofía"
+ "elementEsencial": "Naturaleza",
+ "powerFul": "Control del fuego",
+ "cardType": "Magia"
},
"extraInfo": {
- "imageSource": "https://www.bing.com/images/create/create-a-vivid-digital-artwork-or-painting-that-de/6510df0ebe1a4807af22175452761e1a"
+ "capturedBySyaoran": false,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
},
{
- "id": "marjorie-lee-browne",
- "name": "Marjorie Lee Browne",
- "shortDescription": "Matemática, contribuyó a la teoría de números.",
- "description": "Matemática estadounidense, destacó en una época en la que las mujeres afroamericanas enfrentaban múltiples barreras en la educación superior. No solo obtuvo su doctorado en matemáticas, sino que también se convirtió en una destacada educadora, promoviendo la diversidad en las ciencias matemáticas y desafiando la discriminación racial y de género. Su compromiso con la educación y su capacidad para inspirar a futuras generaciones la convierten en un modelo a seguir para las mujeres en la ciencia, dejando una huella perdurable en la historia académica.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/marjorie-lee-browne.jpg",
+ "id": "4",
+ "name": "Earthy",
+ "shortDescription": "Carta de la Tierra",
+ "description": "The Earthy es una carta mágica que otorga a su poseedor el control sobre la tierra y la naturaleza. Desde generar terremotos controlados hasta hacer florecer la vegetación, esta carta es esencial para manipular el entorno. Capturada por Sakura durante una expedición, The Earthy se ha convertido en un pilar fundamental de su arsenal mágico. Reconocida como una carta original, su presencia no plantea un peligro significativo y se alinea con la armonía de la naturaleza. ¿Cómo utilizará Sakura este poder en sus futuras aventuras mágicas?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/rama-Julia/src/imgs/earthy.jpg",
"facts": {
- "yearOfBirth": "1914",
- "yearOfDeath": "1979",
- "birthPlace": "Memphis, Estados Unidos",
- "mainField": "Matemáticas"
+ "elementEsencial": "Naturaleza",
+ "powerFul": "Control de la tierra",
+ "cardType": "Naturaleza"
},
"extraInfo": {
- "imageSource": "https://www.bing.com/images/create/design-an-inspiring-and-historically-accurate-imag/6510df7e7bb745f69d67f695441607a8"
+ "capturedBySyaoran": false,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
},
{
- "id": "shakuntala-devi",
- "name": "Shakuntala Devi",
- "shortDescription": "Matemática prodigio, conocida como la 'Calculadora Humana'.",
- "description": "Conocida como \"la bruja de las matemáticas\" de la India, dejó una marca indeleble en el mundo de los números. Su capacidad mental asombrosa la llevó a resolver complejos cálculos matemáticos mentalmente en cuestión de segundos, estableciendo récords mundiales. Además de su talento innato, Devi promovió activamente la educación matemática y luchó por la igualdad de género en un país donde las mujeres enfrentaban desafíos en la ciencia y la educación. Su legado destaca el poder de la mente humana y la importancia de la igualdad de oportunidades en la ciencia.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/shakuntala-devi.jpg",
+ "id": "5",
+ "name": "Song",
+ "shortDescription": "Carta de la Canción",
+ "description": "The Song es una carta mágica que encierra melodías místicas y control sobre el sonido. Capturada en un bosque encantado donde las melodías de la naturaleza se entrelazan, esta carta es esencial para situaciones que requieren armonía y manipulación acústica. Reconocida como una carta original, The Song se ha convertido en un instrumento mágico en el repertorio de Sakura. ¿Cómo utilizará Sakura las melodías encantadas de esta carta en sus futuras hazañas mágicas? ¿Podrá crear armonías mágicas y enfrentar desafíos sonoros con la ayuda de esta carta?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/song.jpg",
"facts": {
- "yearOfBirth": "1929",
- "yearOfDeath": "2013",
- "birthPlace": "Bangalore, India",
- "mainField": "Matemáticas"
+ "elementEsencial": "Naturaleza",
+ "powerFul": "Control de melodías místicas",
+ "cardType": "Sonido"
},
"extraInfo": {
- "imageSource": "https://www.bing.com/images/create/indian-woman-writing-math-problems-in-a-blackbard-/6510e19f3db54e14b365b7e8dc5045f6"
+ "capturedBySyaoran": false,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
},
{
- "id": "sofia-kovalevskaya",
- "name": "Sofia Kovalevskaya",
- "shortDescription": "Matemática y escritora, contribuyó a la teoría de funciones.",
- "description": "Matemática rusa del siglo XIX, dejó una marca indeleble en la ciencia del siglo XIX al desafiar las barreras de género. Como matemática rusa, superó las restricciones sociales de su época para convertirse en la primera mujer en obtener un doctorado en matemáticas en Europa. Sus contribuciones a la teoría de las ecuaciones diferenciales y la mecánica revolucionaron la disciplina, abriendo nuevas perspectivas en el análisis matemático. Su destacada membresía en la Academia de Ciencias de Suecia marcó un hito en la historia de las mujeres en la ciencia.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/sofia-kovalevskaya.jpg",
+ "id": "6",
+ "name": "Time",
+ "shortDescription": "Carta del Tiempo",
+ "description": "The Time es una carta mágica que otorga a su poseedor el control sobre el flujo del tiempo. Capturada en un rincón temporal donde pasado, presente y futuro convergen, esta carta es esencial para situaciones que requieren manipulación temporal. Reconocida como una carta original, The Time se ha convertido en una herramienta única en el repertorio de Sakura. ¿Cómo utilizará Sakura el poder de manipular el tiempo en sus futuras hazañas mágicas? ¿Podrá alterar el curso del destino con la ayuda de esta carta?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/time.jpg",
"facts": {
- "yearOfBirth": "1850",
- "yearOfDeath": "1891",
- "birthPlace": "Moscú, Rusia",
- "mainField": "Matemáticas"
+ "elementEsencial": "Tiempo",
+ "powerFul": "Control del flujo temporal",
+ "cardType": "Temporal"
},
"extraInfo": {
- "imageSource": "https://www.bing.com/images/create/indian-woman-writing-math-problems-in-a-blackbard-/6510e19f3db54e14b365b7e8dc5045f6"
+ "capturedBySyaoran": true,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": true
}
},
{
- "id": "yoko-shimomura",
- "name": "Yoko Shimomura",
- "shortDescription": "Compositora de música, destacada en la industria de los videojuegos.",
- "description": "Compositora japonesa, es una figura destacada en la ciencia de la música y el arte sonoro. Aunque no se dedica a la ciencia en el sentido tradicional, su trabajo en la composición musical ha requerido un profundo entendimiento de la teoría musical y la tecnología de audio. Ha contribuido de manera significativa a la industria de los videojuegos, componiendo icónicas bandas sonoras que han enriquecido la experiencia de juego. Su éxito en un campo donde las mujeres estaban subrepresentadas la convierte en un modelo a seguir, incluso en campos no convencionales como la composición musical.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/yoko-shimomura.jpg",
+ "id": "7",
+ "name": "Freeze",
+ "shortDescription": "Carta del Hielo",
+ "description": "The Icy es una carta mágica que concede el poder de controlar y manipular el hielo. Capturada en una región gélida, esta carta se ha vuelto esencial para situaciones que requieren la formación y manipulación de estructuras de hielo. Reconocida como una carta original, The Icy no presenta un riesgo significativo y se ha integrado perfectamente en el conjunto de cartas de Sakura. ¿Cómo utilizará Sakura la magia gélida de The Icy en futuras confrontaciones y desafíos contra criaturas mágicas y adversarios poderosos?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/freeze.jpeg",
"facts": {
- "yearOfBirth": "1967",
- "birthPlace": "Hyogo, Japón",
- "mainField": "Composición Musical, Video Juegos"
+ "elementEsencial": "Climáticos",
+ "powerFul": "Control del hielo",
+ "cardType": "Magia"
},
"extraInfo": {
- "imageSource": "https://www.bing.com/images/create/yoko-shimomura-making-music-for-a-video-game-in-19/6510e40dd1eb45d0906e8c1f4bb601d3"
+ "capturedBySyaoran": true,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
},
{
- "id": "maryam-mirzakhani",
- "name": "Maryam Mirzakhani",
- "shortDescription": "Matemática, ganadora del Premio Fields.",
- "description": "Matemática iraní, hizo historia al convertirse en la primera mujer en ganar la Medalla Fields, el premio más prestigioso en matemáticas. Sus investigaciones en la geometría de superficies y la teoría de las superficies de Riemann han tenido un impacto duradero en la matemática pura. A lo largo de su carrera, Mirzakhani inspiró a muchas mujeres a perseguir carreras en ciencia y matemáticas, derribando las barreras de género. Su enfoque innovador y su capacidad para resolver problemas complejos la convierten en un modelo a seguir para la comunidad científica y en un símbolo de la excelencia matemática.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/maryam-mirzakhani.jpg",
+ "id": "8",
+ "name": "Change",
+ "shortDescription": "Carta del Cambio",
+ "description": "The Change es una carta mágica que confiere a su poseedor el poder de transformación. Capturada en un claro encantado donde la magia del cambio fluye libremente, esta carta es esencial para situaciones que requieren adaptabilidad y renovación. Reconocida como una carta original, The Change se ha convertido en una herramienta versátil en el repertorio de Sakura. ¿Cómo utilizará Sakura el poder de transformación de esta carta en sus futuras aventuras mágicas? ¿Podrá cambiar las circunstancias a su favor con la ayuda de esta carta?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/change.jpg",
"facts": {
- "yearOfBirth": "1977",
- "yearOfDeath": "2017",
- "birthPlace": "Teherán, Irán",
- "mainField": "Matemáticas"
+ "elementEsencial": "Versatil",
+ "powerFul": "Control de la transformación",
+ "cardType": "Versátil"
},
"extraInfo": {
- "imageSource": "https://chalkdustmagazine.com/features/mathematics-maryam-mirzakhani/"
+ "capturedBySyaoran": true,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
},
{
- "id": "adele-goldberg",
- "name": "Adele Goldberg",
- "shortDescription": "Informática pionera, co-creadora del lenguaje de programación Smalltalk.",
- "description": "Informática estadounidense reconocida por su influyente trabajo en la investigación y desarrollo de la programación orientada a objetos. Su contribución más destacada es la creación del lenguaje de programación Smalltalk, que revolucionó la forma en que se desarrollan software y sistemas informáticos. Goldberg ha sido una defensora incansable de la usabilidad y la accesibilidad en la informática, asegurando que las aplicaciones informáticas sean más amigables para los usuarios. Su trabajo ha allanado el camino para una programación más intuitiva y eficiente, y su legado perdura en la industria de la tecnología.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/adele-goldberg.jpg",
+ "id": "9",
+ "name": "Twin",
+ "shortDescription": "Carta de los Gemelos",
+ "description": "The Twin es una carta mágica que encarna la dualidad y la conexión entre dos seres. Capturada en un lugar donde la simetría y la armonía prevalecen, esta carta es esencial para situaciones que requieren cooperación y equilibrio. Reconocida como una carta original, The Twin se ha convertido en un símbolo de unión en el repertorio de Sakura. ¿Cómo utilizará Sakura la conexión entre los gemelos de esta carta en sus futuras hazañas mágicas? ¿Podrá encontrar el equilibrio perfecto con la ayuda de esta carta?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/Twin.jpg",
"facts": {
- "yearOfBirth": "1945",
- "birthPlace": "Chicago, Estados Unidos",
- "mainField": "Ciencias de la Computación"
+ "elementEsencial": "Celestiales",
+ "powerFul": "Conexión entre gemelos",
+ "cardType": "Simetría"
},
"extraInfo": {
- "imageSource": "https://pionerasinformaticas.ujaen.es/en/computer-women-pioneers/adele-goldberg-en"
+ "capturedBySyaoran": false,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
},
{
- "id": "barbara-liskov",
- "name": "Barbara Liskov",
- "shortDescription": "Científica de la computación, pionera en programación orientada a objetos.",
- "description": "Pionera de la informática, es conocida por su trabajo en la programación y la arquitectura de sistemas distribuidos. Fue la primera mujer en obtener un doctorado en ciencias de la computación en el Instituto de Tecnología de Stanford y desarrolló el lenguaje de programación CLU, que estableció fundamentos para la programación orientada a objetos. Liskov ha dejado una marca indeleble en la industria de la tecnología al liderar avances en sistemas de almacenamiento y seguridad informática. Su enfoque en la fiabilidad y la robustez ha influido en el diseño de sistemas críticos en todo el mundo.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/barbara-liskov.jpg",
+ "id": "10",
+ "name": "Little",
+ "shortDescription": "Carta de lo Pequeño",
+ "description": "The Little es una carta mágica que invoca la esencia de lo diminuto y adorable. Capturada en un jardín encantado donde la magia transforma lo pequeño en algo extraordinario, esta carta es esencial para situaciones que requieren encanto y simplicidad. Reconocida como una carta original, The Little se ha convertido en una fuente de ternura en el repertorio de Sakura. ¿Cómo utilizará Sakura la magia de lo pequeño en sus futuras hazañas mágicas? ¿Podrá encontrar soluciones creativas y encantadoras con la ayuda de esta carta?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/little.jpg",
"facts": {
- "yearOfBirth": "1939",
- "birthPlace": "Los Angeles, Estados Unidos",
- "mainField": "Ciencia de la Computación"
+ "elementEsencial": "Versatil",
+ "powerFul": "Invocación de lo pequeño",
+ "cardType": "Encanto"
},
"extraInfo": {
- "imageSource": "https://medium.com/a-computer-of-ones-own/barbara-liskov-inventor-of-abstract-data-types-9f8908fdcf86"
+ "capturedBySyaoran": true,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
},
{
- "id": "grace-hopper",
- "name": "Grace Hopper",
- "shortDescription": "Científica de la computación, creadora del primer compilador.",
- "description": "Una de las pioneras de la informática, es famosa por su contribución al desarrollo del primer compilador y al lenguaje de programación COBOL. Además, desafió los estereotipos de género en la década de 1940 al unirse a la Marina de los Estados Unidos y convertirse en la primera programadora de la computadora Harvard Mark I. Su legado abarca la creación de conceptos cruciales como la \"depuración de software\" y su influencia en el desarrollo de la informática moderna, estableciendo estándares para la programación de alto nivel y la innovación tecnológica.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/grace-hopper.jpg",
+ "id": "11",
+ "name": "Erase",
+ "shortDescription": "Carta del Borrado",
+ "description": "The Erase es una carta mágica que confiere a su poseedor el poder de borrar y eliminar. Capturada en un reino donde la realidad se desdibuja, esta carta es esencial para situaciones que requieren anulación y limpieza. Reconocida como una carta original, The Erase se ha convertido en una herramienta poderosa en el repertorio de Sakura. ¿Cómo utilizará Sakura el poder de borrar de esta carta en sus futuras hazañas mágicas? ¿Podrá desvanecer obstáculos y abrir camino con la ayuda de esta carta?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/rama-Julia/src/imgs/Erase.jpg",
"facts": {
- "yearOfBirth": "1906",
- "yearOfDeath": "1992",
- "birthPlace": "Nueva York, Estados Unidos",
- "mainField": "Ciencia de la Computación"
+ "elementEsencial": "Versatil",
+ "powerFul": "Control de la eliminación",
+ "cardType": "Anulación"
},
"extraInfo": {
- "imageSource": "https://photos.com/featured/grace-hopper-with-early-computer-bettmann.html"
+ "capturedBySyaoran": false,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": true
}
},
{
- "id": "margaret-hamilton",
- "name": "Margaret Hamilton",
- "shortDescription": "Científica de la computación, lideró desarrollo de software para Apollo 11.",
- "description": "Destacada científica de la computación que desempeñó un papel fundamental en el programa Apollo de la NASA. Fue directora de la División de Ingeniería de Software en el Laboratorio de Instrumentación del MIT, donde desarrolló el concepto de \"ingeniería de software\". Su liderazgo en el desarrollo del software de vuelo para las misiones Apollo fue fundamental para el éxito de la llegada del hombre a la Luna. Hamilton es un ejemplo de cómo la tecnología y la ciencia pueden alcanzar logros extraordinarios cuando se combinan con un enfoque innovador y una visión audaz.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/margaret-hamilton.jpg",
+ "id": "12",
+ "name": "Nothing",
+ "shortDescription": "Carta de la Nada",
+ "description": "The Nothing es una carta mágica que invoca el vacío y la ausencia. Capturada en el corazón de la oscuridad cósmica, esta carta es esencial para situaciones que requieren la anulación de la existencia. Reconocida como una carta original, The Nothing se ha convertido en una fuerza misteriosa en el repertorio de Sakura. ¿Cómo utilizará Sakura el poder de la nada en sus futuras hazañas mágicas? ¿Podrá manipular la ausencia para desafiar a la adversidad con la ayuda de esta carta?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/nothing.jpg",
"facts": {
- "yearOfBirth": "1936",
- "birthPlace": "Paoli, Indiana, Estados Unidos",
- "mainField": "Ciencia de la Computación"
+ "elementEsencial": "Mágico",
+ "powerFul": "Invocación del vacío",
+ "cardType": "Ausencia"
},
"extraInfo": {
- "imageSource": "https://odetta.ai/blogs/margaret-hamilton-the-first-software-engineer"
+ "capturedBySyaoran": true,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": true
}
},
{
- "id": "radia-perlman",
- "name": "Radia Perlman",
- "shortDescription": "Ingeniera de redes, inventora del algoritmo Spanning Tree.",
- "description": "Científica de la computación estadounidense, ha dejado una marca indeleble en el mundo de las redes informáticas y la seguridad. Conocida como \"la madre de Internet\", su invención del algoritmo Spanning Tree Protocol (STP) revolucionó la conectividad de redes y sentó las bases para la infraestructura de Internet moderna. A pesar de operar en un campo dominado por hombres, Perlman ha demostrado que las mujeres pueden liderar avances tecnológicos vitales. Su compromiso con la resiliencia de las redes y la ciberseguridad ha influido en la estabilidad y confiabilidad de la comunicación en línea.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/radia-perlman.jpg",
+ "id": "13",
+ "name": "Glow",
+ "shortDescription": "Carta del Resplandor",
+ "description": "The Glow es una carta mágica que concede a su poseedor el dominio de la luz pura y brillante. Capturada en un antiguo jardín encantado, esta carta es esencial para iluminar incluso los rincones más oscuros. Reconocida como una carta original, The Resplendent se ha convertido en un símbolo de esperanza y claridad en el arsenal de Sakura. ¿Cómo utilizará Sakura la luz resplandeciente de esta carta en sus futuras aventuras mágicas? ¿Será capaz de utilizarla estratégicamente sin sucumbir a su peligro inherente?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/rama-Julia/src/imgs/glow.jpg",
"facts": {
- "yearOfBirth": "1951",
- "birthPlace": "Portsmouth, Estados Unidos",
- "mainField": "Ciencia de la Computación"
+ "elementEsencial": "Mágicos",
+ "powerFul": "Control de la luz pura",
+ "cardType": "Magia"
},
"extraInfo": {
- "imageSource": "https://hackaday.com/2018/05/29/spanning-the-tree-dr-radia-perlman-untangling-networks/"
+ "capturedBySyaoran": true,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
},
{
- "id": "shafi-goldwasser",
- "name": "Shafi Goldwasser",
- "shortDescription": "Científica de la computación, ganadora del Premio Turing.",
- "description": "Es una destacada criptógrafa y científica de la computación que ha contribuido significativamente a la teoría de la computación y la seguridad de la información. Su trabajo en criptografía de probabilidad y complejidad computacional ha sentado las bases para la seguridad en línea y la privacidad de datos en un mundo cada vez más digitalizado. Goldwasser es un ejemplo de cómo la ciencia de la computación puede abordar desafíos contemporáneos y proteger la información en la era de la información.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/shafi-goldwasser.jpg",
+ "id": "14",
+ "name": "Dark",
+ "shortDescription": "Carta de la Oscuridad",
+ "description": "The Dark es una carta mágica que controla las sombras y la oscuridad. Capturada en un rincón donde la penumbra cobra vida, esta carta es esencial para situaciones que requieren ocultamiento y misterio. Reconocida como una carta original, The Dark se ha convertido en un velo de misterio en el repertorio de Sakura. ¿Cómo utilizará Sakura el poder de las sombras de esta carta en sus futuras hazañas mágicas? ¿Podrá navegar por la oscuridad con la ayuda de esta carta?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/dark.jpg",
"facts": {
- "yearOfBirth": "1958",
- "birthPlace": "Nueva York, Estados Unidos",
- "mainField": "Ciencia de la Computación"
+ "elementEsencial": "Dualidad",
+ "powerFul": "Control de las sombras",
+ "cardType": "Oscuridad"
},
"extraInfo": {
- "imageSource": "https://www.jahresbericht2019.unibe.ch/successes_2019/einstein_lectures/index_eng.html"
+ "capturedBySyaoran": false,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": true
}
},
{
- "id": "chien-shiung-wu",
- "name": "Chien-Shiung Wu",
- "shortDescription": "Física experimental, contribuyó a la física nuclear.",
- "description": "Física experimental de origen chino, desafiando los prejuicios de género y nacionalidad, realizó experimentos fundamentales en física de partículas y contribuyó significativamente a la comprensión de la desintegración beta. Su famoso experimento \"Wu\" refutó la paridad en la física de partículas, lo que cambió la forma en que los científicos comprenden las fuerzas fundamentales de la naturaleza. Wu demostró que el talento y la perseverancia pueden superar cualquier barrera, y su legado sigue siendo un faro de inspiración para científicas en todo el mundo.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/chien-shiung-wu.jpg",
+ "id": "15",
+ "name": "Wave",
+ "shortDescription": "Carta de la Ola",
+ "description": "The Wave es una carta mágica que controla las fuerzas del agua en forma de poderosas olas. Capturada en un océano embravecido, esta carta es esencial para situaciones que requieren control sobre las mareas y la fluidez del agua. Reconocida como una carta original, The Wave se ha convertido en una manifestación de la furia acuática en el repertorio de Sakura. ¿Cómo utilizará Sakura el poder de las olas de esta carta en sus futuras hazañas mágicas? ¿Podrá canalizar la fuerza del océano con la ayuda de esta carta?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/Wave.jpg",
"facts": {
- "yearOfBirth": "1912",
- "yearOfDeath": "1997",
- "birthPlace": "Liuhe, Taicang, China",
- "mainField": "Física"
+ "elementEsencial": "Naturaleza",
+ "powerFul": "Control de las olas",
+ "cardType": "Agua"
},
"extraInfo": {
- "imageSource": "https://www.thoughtco.com/chien-shiung-wu-biography-3530366"
+ "capturedBySyaoran": true,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": true
}
},
{
- "id": "hedy-lamarr",
- "name": "Hedy Lamarr",
- "shortDescription": "Actriz e inventora, contribuyó al desarrollo de la tecnología de espectro ensanchado.",
- "description": "Actriz austroamericana y científica, fue una mente brillante en la intersección de la tecnología y el entretenimiento. Junto con el compositor George Antheil, inventó un sistema de comunicación secreta durante la Segunda Guerra Mundial que sentó las bases para la tecnología de espectro ensanchado y la comunicación inalámbrica moderna. Lamarr demostró que las mujeres pueden destacar tanto en el cine como en la ciencia, y su legado como inventora ha sido fundamental para el desarrollo de la tecnología de comunicación inalámbrica que usamos en la actualidad.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/hedy-lamarr.jpg",
+ "id": "16",
+ "name": "Libra",
+ "shortDescription": "Carta de la Balanza",
+ "description": "The Libra es una carta mágica que representa el equilibrio y la justicia. Capturada en un reino donde la armonía prevalece, esta carta es esencial para situaciones que requieren ponderación y corrección. Reconocida como una carta original, The Libra se ha convertido en un símbolo de equidad en el repertorio de Sakura. ¿Cómo utilizará Sakura el poder de la balanza de esta carta en sus futuras hazañas mágicas? ¿Podrá restablecer el equilibrio y la justicia con la ayuda de esta carta?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/Libra.jpg",
"facts": {
- "yearOfBirth": "1914",
- "yearOfDeath": "2000",
- "birthPlace": "Viena, Austria",
- "mainField": "Actuación, Física"
+ "elementEsencial": "Dualidad",
+ "powerFul": "Representación de la justicia",
+ "cardType": "Balance"
},
"extraInfo": {
- "imageSource": "https://www.sparkfun.com/news/6147"
+ "capturedBySyaoran": false,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
},
{
- "id": "maria-goeppert-mayer",
- "name": "Maria Goeppert Mayer",
- "shortDescription": "Física teórica, ganadora del Premio Nobel de Física.",
- "description": "Física teórica alemana-estadounidense, dejó una profunda huella en la física nuclear y la mecánica cuántica. Fue la segunda mujer en recibir el Premio Nobel de Física y su trabajo pionero en la estructura de capas nucleares revolucionó nuestra comprensión de los núcleos atómicos. A pesar de las barreras de género en la academia, su dedicación y talento la llevaron a contribuir significativamente a la teoría nuclear, abriendo el camino para futuras investigadoras en un campo dominado por hombres. Maria Goeppert Mayer es un ejemplo inspirador de excelencia científica y perseverancia en la búsqueda del conocimiento.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/maria-goeppert-mayer.jpg",
+ "id": "17",
+ "name": "Thunder",
+ "shortDescription": "Carta del Trueno",
+ "description": "The Thunder es una carta mágica que controla la energía y el poder del trueno. Capturada en el epicentro de una tormenta eléctrica, esta carta es esencial para situaciones que requieren fuerza y descarga eléctrica. Reconocida como una carta original, The Thunder se ha convertido en un rayo de poder en el repertorio de Sakura. ¿Cómo utilizará Sakura el poder del trueno de esta carta en sus futuras hazañas mágicas? ¿Podrá desencadenar la fuerza de la tormenta con la ayuda de esta carta?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/Thunder.jpg",
"facts": {
- "yearOfBirth": "1906",
- "yearOfDeath": "1972",
- "birthPlace": "Kattowitz, Alemania",
- "mainField": "Física"
+ "elementEsencial": "Climáticos",
+ "powerFul": "Control de la energía eléctrica",
+ "cardType": "Eléctrica"
},
"extraInfo": {
- "imageSource": "https://www.wsemexhibit.org/maria-goeppert-mayer.html"
+ "capturedBySyaoran": true,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": true
}
},
{
- "id": "lise-meitner",
- "name": "Lise Meitner",
- "shortDescription": "Física nuclear, contribuyó a la teoría de la fisión nuclear.",
- "description": "Física austriaca-sueca, dejó un legado imborrable en la física nuclear y la radioquímica. A pesar de enfrentar obstáculos de género en una era dominada por hombres, colaboró con Otto Hahn en el descubrimiento de la fisión nuclear, un avance revolucionario. Aunque no compartió el Premio Nobel por este logro, su contribución fue crucial para comprender la energía nuclear y la física de partículas. Su determinación y pasión por la ciencia han inspirado a generaciones de científicas. Lise Meitner es un símbolo perdurable de la perseverancia femenina y el impacto duradero que las mujeres pueden tener en la ciencia.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/lise-meitner.jpg",
+ "id": "18",
+ "name": "Flower",
+ "shortDescription": "Carta de la Flor",
+ "description": "The Flower es una carta mágica que controla la belleza y la vitalidad de las flores. Capturada en un jardín encantado donde la naturaleza florece con esplendor, esta carta es esencial para situaciones que requieren encanto floral y conexión con la flora. Reconocida como una carta original, The Flower se ha convertido en un símbolo de gracia en el repertorio de Sakura. ¿Cómo utilizará Sakura la magia floral de esta carta en sus futuras hazañas mágicas? ¿Podrá invocar la belleza de la naturaleza con la ayuda de esta carta?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/rama-Julia/src/imgs/Flower.jpg",
"facts": {
- "yearOfBirth": "1878",
- "yearOfDeath": "1968",
- "birthPlace": "Viena, Austria",
- "mainField": "Física"
+ "elementEsencial": "Naturaleza",
+ "powerFul": "Control de la belleza floral",
+ "cardType": "Naturaleza"
},
"extraInfo": {
- "imageSource": "https://www.bing.com/images/create/lise-meitner-in-nuclear-physics-lab-in-19502c-retro/651196e6bbcb4009950e9955c2199760"
+ "capturedBySyaoran": false,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
},
{
- "id": "sau-lan-wu",
- "name": "Sau Lan Wu",
- "shortDescription": "Física de partículas, contribuyó a experimentos clave en física de alta energía.",
- "description": "Física experimental sinoamericana, ha sido una fuerza motriz en la física de partículas. Destacó en experimentos en el CERN y lideró investigaciones cruciales, como el descubrimiento del quark c, que expandieron nuestro entendimiento de la estructura fundamental de la materia. Wu superó desafíos en una disciplina dominada por hombres y ha sido un faro de inspiración para científicas de todo el mundo. Sau Lan Wu es un ejemplo de excelencia científica y de cómo las mujeres pueden dejar huella en la investigación de vanguardia.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/sau-lan-wu.jpg",
+ "id": "19",
+ "name": "Storm",
+ "shortDescription": "Carta de la Tormenta",
+ "description": "The Storm es una carta mágica que canaliza la furia de los elementos en una tormenta poderosa. Capturada en el epicentro de un cataclismo atmosférico, esta carta es esencial para situaciones que requieren la desencadenación de fuerzas naturales. Reconocida como una carta original, The Storm se ha convertido en un vendaval de poder en el repertorio de Sakura. ¿Cómo utilizará Sakura la furia de la tormenta de esta carta en sus futuras hazañas mágicas? ¿Podrá controlar la tempestad y encontrar calma en medio del caos?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/storm.jpg",
"facts": {
- "yearOfBirth": "1940",
- "birthPlace": "Hong Kong, China",
- "mainField": "Física de Partículas"
+ "elementEsencial": "Climáticos",
+ "powerFul": "Control de la furia atmosférica",
+ "cardType": "Atmosférica"
},
"extraInfo": {
- "imageSource": "https://repository.aip.org/islandora/object/nbla%3A315195"
+ "capturedBySyaoran": false,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": true
}
},
{
- "id": "jocelyn-bell-burnell",
- "name": "Jocelyn Bell Burnell",
- "shortDescription": "Astrónoma y astrofísica, co-descubridora de los púlsares.",
- "description": "Astrofísica británica, es una figura extraordinaria en la ciencia. Durante su doctorado, hizo un descubrimiento revolucionario al detectar los primeros púlsares, estrellas de neutrones altamente magnetizadas que emiten pulsos regulares de radiación. A pesar de que su asesor recibió el Premio Nobel por este descubrimiento, Bell Burnell se ha convertido en un símbolo de perseverancia y contribución de las mujeres a la astronomía. Su carrera distinguida y su activismo en favor de la diversidad de género en la ciencia han inspirado a generaciones futuras de científicas. Jocelyn Bell Burnell es un ejemplo de valentía y excelencia científica.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/jocelyn-bell-burnell.jpg",
+ "id": "20",
+ "name": "Mirror",
+ "shortDescription": "Carta del Espejo",
+ "description": "The Mirror es una carta mágica que controla la reflexión y la dualidad. Capturada en un mundo reflejado donde las realidades se entrelazan, esta carta es esencial para situaciones que requieren ilusiones y duplicidad. Reconocida como una carta original, The Mirror se ha convertido en un medio de confusión y autoexploración en el repertorio de Sakura. ¿Cómo utilizará Sakura el poder del reflejo de esta carta en sus futuras hazañas mágicas? ¿Podrá desafiar la realidad y descubrir la verdad a través de este espejo mágico?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/mirror.jpg",
"facts": {
- "yearOfBirth": "1943",
- "birthPlace": "Belfast, Reino Unido",
- "mainField": "Astronomía, Astrofísica"
+ "elementEsencial": "Dualidad",
+ "powerFul": "Control de la dualidad",
+ "cardType": "Ilusión"
},
"extraInfo": {
- "imageSource": "https://womeninscienceweadmire.icfo.eu/wiswa-2/jocelyn-bell/"
+ "capturedBySyaoran": true,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
},
{
- "id": "dorothy-crowfoot-hodgkin",
- "name": "Dorothy Crowfoot Hodgkin",
- "shortDescription": "Química, ganadora del Premio Nobel de Química.",
- "description": "Química británica, es una figura icónica en la ciencia que superó las barreras de género de su época. Su trabajo revolucionario en la cristalografía de rayos X permitió determinar la estructura de importantes biomoléculas, como la penicilina, la vitamina B12 y la insulina. Fue galardonada con el Premio Nobel de Química en 1964, siendo la tercera mujer en recibir este prestigioso reconocimiento. Hodgkin no solo fue una científica excepcional, sino también una defensora de la igualdad de género en la ciencia, allanando el camino para futuras generaciones de científicas y dejando un legado duradero en la investigación y la equidad.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/dorothy-crowfoot-hodgkin.jpg",
+ "id": "21",
+ "name": "Fly",
+ "shortDescription": "Carta de la Mosca",
+ "description": "The Fly es una carta mágica que concede a su poseedor el don de la velocidad y la agilidad de una mosca. Capturada en un rincón donde la velocidad supersónica es la norma, esta carta es esencial para situaciones que requieren movimientos rápidos y evasivos. Reconocida como una carta original, The Fly se ha convertido en una ráfaga de velocidad en el repertorio de Sakura. ¿Cómo utilizará Sakura la rapidez de esta carta en sus futuras hazañas mágicas? ¿Podrá esquivar obstáculos y ser más ágil con la ayuda de esta carta?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/Fly.jpg",
"facts": {
- "yearOfBirth": "1910",
- "yearOfDeath": "1994",
- "birthPlace": "El Cairo, Egipto / Shipston-on-Stour, Reino Unido",
- "mainField": "Química"
+ "elementEsencial": "Versatil",
+ "powerFul": "Movimientos rápidos y evasivos",
+ "cardType": "Aérea"
},
"extraInfo": {
- "imageSource": "https://www.some.ox.ac.uk/news/jan-royall-why-we-must-champion-dorothy-hodgkin-for-the-50-note/"
+ "capturedBySyaoran": true,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
},
{
- "id": "marie-curie",
- "name": "Marie Curie",
- "shortDescription": "Física y química, ganadora de dos Premios Nobel.",
- "description": "física y química de origen polaco y nacionalizada francesa, es una de las figuras más icónicas en la historia de la ciencia. Ganadora de dos premios Nobel (Física en 1903 y Química en 1911), Curie realizó investigaciones fundamentales sobre la radiactividad y el descubrimiento de los elementos radio y polonio. Su dedicación y valentía en la investigación científica, a pesar de los desafíos de la discriminación de género y los riesgos de la radiación, la convierten en un modelo a seguir para científicas de todo el mundo.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/marie-curie.jpg",
+ "id": "22",
+ "name": "Light",
+ "shortDescription": "Carta Luminosa",
+ "description": "The Luminous es una carta mágica que emana una luz suave y reconfortante. Capturada en un bosque encantado, esta carta es esencial para iluminar ambientes delicados. Reconocida como una carta original, The Luminous se ha convertido en un farol mágico en el repertorio de Sakura. ¿Cómo utilizará Sakura la luz suave de esta carta en situaciones de paz y serenidad? ¿Podrá crear un oasis de luz en medio de la oscuridad con la ayuda de esta carta? Acompaña a Sakura en sus nuevas aventuras y descubre cómo la luz suave puede ser la clave para superar la oscuridad.",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/light.jpg",
"facts": {
- "yearOfBirth": "1867",
- "yearOfDeath": "1934",
- "birthPlace": "Varsovia, Polonia",
- "mainField": "Física y Química"
+ "elementEsencial": "Dualidad",
+ "powerFul": "Control de la luz suave",
+ "cardType": "Luz"
},
"extraInfo": {
- "imageSource": "https://www.historyextra.com/period/first-world-war/life-of-the-week-marie-curie/"
+ "capturedBySyaoran": false,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
},
{
- "id": "marjory-stephenson",
- "name": "Marjory Stephenson",
- "shortDescription": "Microbióloga y bioquímica, investigó en enzimología.",
- "description": "Bioquímica británica, brilló como científica en una época en la que las mujeres enfrentaban obstáculos muy significativos en la investigación científica. Su trabajo pionero en microbiología, enzimología y bioquímica contribuyó al entendimiento de procesos fundamentales en la vida. Fue una de las primeras mujeres en ser elegida miembro de la Royal Society, un reconocimiento a su destacada contribución a la ciencia. Además, fue una mentora y defensora de las mujeres en la ciencia, inspirando y allanando el camino para futuras generaciones.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/marjory-stephenson.jpg",
+ "id": "23",
+ "name": "Dreamweaver",
+ "shortDescription": "Carta del Tejedor de Sueños",
+ "description": "The Dreamweaver es una carta mágica que permite a su poseedor manipular los sueños y entrar en el reino de la fantasía. Capturada en una noche estrellada, esta carta es esencial para explorar los rincones mágicos del subconsciente. Reconocida como una carta única del anime, The Dreamweaver se ha convertido en un portal a mundos oníricos en el repertorio de Sakura. ¿Cómo utilizará Sakura el poder de los sueños con esta carta? ¿Podrá desentrañar los secretos ocultos en la fantasía con la ayuda de The Dreamweaver?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/dreamweaver.jpg",
"facts": {
- "yearOfBirth": "1885",
- "yearOfDeath": "1948",
- "birthPlace": "Londres, Reino Unido",
- "mainField": "Química, Microbiología, Bioquímica"
+ "elementEsencial": "Mágicos",
+ "powerFul": "Manipulación de sueños",
+ "cardType": "Anime"
},
"extraInfo": {
- "imageSource": "https://microbiologysociety.org/grants-prizes/all-prizes-and-competitions-/prize-lectures/marjory-stephenson-prize-lecture/marjory-stephenson-a-short-history.html"
+ "capturedBySyaoran": true,
+ "isSakuraCard": true,
+ "isOriginalCard": false,
+ "isDangerous": false
}
},
{
- "id": "rosalind-franklin",
- "name": "Rosalind Franklin",
- "shortDescription": "Química y cristalógrafa, contribuyó a la comprensión de la estructura del ADN.",
- "description": "Química y cristalógrafa británica, destacó en un campo dominado por hombres y su contribución a la ciencia es innegable. Sus investigaciones pioneras en la cristalografía de rayos X fueron fundamentales para revelar la estructura del ADN en forma de doble hélice, un hito crucial en la biología molecular. A pesar de que su trabajo inicial fue subestimado, su determinación y habilidad científica allanaron el camino para futuros avances en genética y biología. Franklin es un ejemplo inspirador de cómo las mujeres pueden sobresalir en la ciencia, dejando un legado duradero en la investigación y la igualdad de género.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/rosalind-franklin.jpg",
+ "id": "24",
+ "name": "Sweet",
+ "shortDescription": "Carta de lo Dulce",
+ "description": "The Sweet es una carta mágica que emana la esencia misma de la dulzura. Capturada en un reino donde los postres se materializan, esta carta es esencial para situaciones que requieren encanto y alegría. Reconocida como una carta original, The Sweet se ha convertido en una fuente de deleite en el repertorio de Sakura. ¿Cómo utilizará Sakura la magia de lo dulce de esta carta en sus futuras hazañas mágicas? ¿Podrá endulzar cualquier situación con la ayuda de esta carta?",
+ "imageUrl": "https://raw.githubusercontent.com/Elisantib/DEV013-dataverse/main/src/imgs/Sweet.jpg",
"facts": {
- "yearOfBirth": "1920",
- "yearOfDeath": "1958",
- "birthPlace": "Londres, Reino Unido",
- "mainField": "Química, Cristalografía"
+ "elementEsencial": "Emoción",
+ "powerFul": "Control de la esencia dulce",
+ "cardType": "Encantadora"
},
"extraInfo": {
- "imageSource": ""
+ "capturedBySyaoran": false,
+ "isSakuraCard": true,
+ "isOriginalCard": true,
+ "isDangerous": false
}
}
-];
\ No newline at end of file
+]
diff --git a/src/dataFunctions.js b/src/dataFunctions.js
index 5de554af..d64c3a58 100644
--- a/src/dataFunctions.js
+++ b/src/dataFunctions.js
@@ -1,9 +1,65 @@
-// Estas funciones son ejemplos, aquí puedes desarrollar tus propias funciones.
+//funcion de filtrar por elemento
+export const elementDataFilter = (data, filterBy, value) => {
+ const filterElement = data.filter(
+ (elemento) => elemento.facts[filterBy] === value);
+ return filterElement;
+}
-export const example = () => {
- return 'example';
+//sort asc
+export const sortData = (data, sortBy, sortOrder) => {
+ if (sortOrder === "asc") {
+ return data.sort((a, b) => a[sortBy].localeCompare(b[sortBy]));
+ }
+ if (sortOrder === "desc") {
+ return data.sort((a, b) => b[sortBy].localeCompare(a[sortBy]));
+ }
};
-export const anotherExample = () => {
- return [];
+//funcion de filtrar por carta peligrosa o inofensiva
+
+export const dangerousDataFilter = (data, filterBy, value) => {
+ const filterDangerous = data.filter(
+ (dangerous) => dangerous.extraInfo[filterBy] === value.includes("true")
+ );
+ /* console.log("value: ", value); */
+ /* console.log("data despues del filtro: ", filterDangerous); */
+ return filterDangerous;
+};
+
+//Estadistica de las cartas por peligro o inofensivas
+
+export const computeStats = (data) => {
+ //console.log(data);
+ const result = data.reduce((acumulador, carta) => {
+ acumulador[carta.extraInfo.isDangerous ? 'peligrosas' : 'inofensivas'] += 1;
+ //console.log(acumulador);
+ return acumulador;
+ },
+ { peligrosas: 0, inofensivas: 0 }
+ );
+ const promPeligrosas = Math.round((result.peligrosas / data.length) * 100); // Math.round() redondear
+ const promInofensivas = Math.round((result.inofensivas / data.length) * 100);
+ //console.log('El porcentaje de cartas peligrosas son', promPeligrosas);
+ //console.log('El porcentaje de cartas inocentes son', promInofensivas);
+ return { promPeligrosas, promInofensivas }
+
+}
+
+//Estadistica por captura de carta
+
+export const percent = (data, filterBy) => {
+ const filterCaptured = data.filter(
+ (captured) => captured.extraInfo[filterBy] === true
+ );
+
+ const percentSyaoran = Math.round(
+ (filterCaptured.length / data.length) * 100
+ );
+
+ const percentSakura = 100 - percentSyaoran;
+
+ return {
+ percentSakura,
+ percentSyaoran,
+ };
};
diff --git a/src/imgs/1.5 (1).png b/src/imgs/1.5 (1).png
new file mode 100644
index 00000000..7a08838e
Binary files /dev/null and b/src/imgs/1.5 (1).png differ
diff --git a/src/imgs/1captura.png b/src/imgs/1captura.png
new file mode 100644
index 00000000..5c29bbe8
Binary files /dev/null and b/src/imgs/1captura.png differ
diff --git a/src/imgs/Erase.jpg b/src/imgs/Erase.jpg
new file mode 100644
index 00000000..b64ed9f3
Binary files /dev/null and b/src/imgs/Erase.jpg differ
diff --git a/src/imgs/Flower.jpg b/src/imgs/Flower.jpg
new file mode 100644
index 00000000..08376202
Binary files /dev/null and b/src/imgs/Flower.jpg differ
diff --git a/src/imgs/Fly.jpg b/src/imgs/Fly.jpg
new file mode 100644
index 00000000..76ebb074
Binary files /dev/null and b/src/imgs/Fly.jpg differ
diff --git a/src/imgs/Libra.jpg b/src/imgs/Libra.jpg
new file mode 100644
index 00000000..edff8cf5
Binary files /dev/null and b/src/imgs/Libra.jpg differ
diff --git a/src/imgs/Sweet.jpg b/src/imgs/Sweet.jpg
new file mode 100644
index 00000000..babb3e4d
Binary files /dev/null and b/src/imgs/Sweet.jpg differ
diff --git a/src/imgs/Thunder.jpg b/src/imgs/Thunder.jpg
new file mode 100644
index 00000000..51a755c8
Binary files /dev/null and b/src/imgs/Thunder.jpg differ
diff --git a/src/imgs/Twin.jpg b/src/imgs/Twin.jpg
new file mode 100644
index 00000000..57b40495
Binary files /dev/null and b/src/imgs/Twin.jpg differ
diff --git a/src/imgs/Wave.jpg b/src/imgs/Wave.jpg
new file mode 100644
index 00000000..19f65cb6
Binary files /dev/null and b/src/imgs/Wave.jpg differ
diff --git a/src/imgs/Web.png b/src/imgs/Web.png
new file mode 100644
index 00000000..74e7fb38
Binary files /dev/null and b/src/imgs/Web.png differ
diff --git a/src/imgs/captura.png b/src/imgs/captura.png
new file mode 100644
index 00000000..a6fc422d
Binary files /dev/null and b/src/imgs/captura.png differ
diff --git a/src/imgs/carta windy id 1.png b/src/imgs/carta windy id 1.png
new file mode 100644
index 00000000..42d92f67
Binary files /dev/null and b/src/imgs/carta windy id 1.png differ
diff --git a/src/imgs/change.jpg b/src/imgs/change.jpg
new file mode 100644
index 00000000..41bff087
Binary files /dev/null and b/src/imgs/change.jpg differ
diff --git a/src/imgs/dark.jpg b/src/imgs/dark.jpg
new file mode 100644
index 00000000..29e68943
Binary files /dev/null and b/src/imgs/dark.jpg differ
diff --git a/src/imgs/dreamweaver.jpg b/src/imgs/dreamweaver.jpg
new file mode 100644
index 00000000..44795e6f
Binary files /dev/null and b/src/imgs/dreamweaver.jpg differ
diff --git a/src/imgs/earthy.jpg b/src/imgs/earthy.jpg
new file mode 100644
index 00000000..0f877fda
Binary files /dev/null and b/src/imgs/earthy.jpg differ
diff --git a/src/imgs/firey.jpeg b/src/imgs/firey.jpeg
new file mode 100644
index 00000000..f5343c1d
Binary files /dev/null and b/src/imgs/firey.jpeg differ
diff --git a/src/imgs/freeze.jpeg b/src/imgs/freeze.jpeg
new file mode 100644
index 00000000..cbb0f584
Binary files /dev/null and b/src/imgs/freeze.jpeg differ
diff --git a/src/imgs/glow.jpg b/src/imgs/glow.jpg
new file mode 100644
index 00000000..e54d6458
Binary files /dev/null and b/src/imgs/glow.jpg differ
diff --git a/src/imgs/light.jpg b/src/imgs/light.jpg
new file mode 100644
index 00000000..90547cd1
Binary files /dev/null and b/src/imgs/light.jpg differ
diff --git a/src/imgs/little.jpg b/src/imgs/little.jpg
new file mode 100644
index 00000000..f99a2820
Binary files /dev/null and b/src/imgs/little.jpg differ
diff --git a/src/imgs/mirror.jpg b/src/imgs/mirror.jpg
new file mode 100644
index 00000000..6993e3ef
Binary files /dev/null and b/src/imgs/mirror.jpg differ
diff --git a/src/imgs/nothing.jpg b/src/imgs/nothing.jpg
new file mode 100644
index 00000000..a53b45f9
Binary files /dev/null and b/src/imgs/nothing.jpg differ
diff --git a/src/imgs/petalo.png b/src/imgs/petalo.png
new file mode 100644
index 00000000..5c76f0f8
Binary files /dev/null and b/src/imgs/petalo.png differ
diff --git a/src/imgs/pngwing.com.png b/src/imgs/pngwing.com.png
new file mode 100644
index 00000000..af8a0f62
Binary files /dev/null and b/src/imgs/pngwing.com.png differ
diff --git a/src/imgs/prototipo-filtro.png b/src/imgs/prototipo-filtro.png
new file mode 100644
index 00000000..18b80ec2
Binary files /dev/null and b/src/imgs/prototipo-filtro.png differ
diff --git a/src/imgs/song.jpg b/src/imgs/song.jpg
new file mode 100644
index 00000000..614b261b
Binary files /dev/null and b/src/imgs/song.jpg differ
diff --git a/src/imgs/storm.jpg b/src/imgs/storm.jpg
new file mode 100644
index 00000000..61df2d51
Binary files /dev/null and b/src/imgs/storm.jpg differ
diff --git a/src/imgs/time.jpg b/src/imgs/time.jpg
new file mode 100644
index 00000000..15080aad
Binary files /dev/null and b/src/imgs/time.jpg differ
diff --git a/src/imgs/watery.jpg b/src/imgs/watery.jpg
new file mode 100644
index 00000000..c6e69069
Binary files /dev/null and b/src/imgs/watery.jpg differ
diff --git a/src/imgs/windy.jpg b/src/imgs/windy.jpg
new file mode 100644
index 00000000..e0cd2d97
Binary files /dev/null and b/src/imgs/windy.jpg differ
diff --git a/src/index.html b/src/index.html
index 0151e7de..d1d27519 100644
--- a/src/index.html
+++ b/src/index.html
@@ -1,11 +1,113 @@
-
-
-
- Data Lovers
-
-
-
-
-
+
+
+
+
+ Data-Verse Sakura
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Sakura Card Captor
+
+
+
+
+
+
+
+
+
+
+
Sakura: Cazadora Mágica
+
+ Sakura debe recapturar las Cartas Clow antes de que desencadenen el
+ caos. Las Cartas Clow son un elemento de la serie de manga y anime
+ "Cardcaptor Sakura", creada por CLAMP. En la historia, las Cartas
+ Clow son cartas mágicas creadas por el poderoso mago Clow Reed. Cada
+ carta representa una fuerza mágica única y tiene su propia
+ personalidad y habilidades distintivas.
+
+
+
+
+
+
+
+
+ Cartas Clow
+
+
+
+ Filtra por Elemento:
+
+ Escoge una opción
+ Climáticos
+ Naturaleza
+ Dualidad
+ Mágicos
+ Emoción
+ Versatil
+ Tiempo
+
+
+
+ Filtrar por Daño:
+
+ Escoge una opción
+ Peligrosa
+ Inofensiva
+
+
+
+ Ver % de estadística:
+
+ Escoge una opción
+ % Cartas capturadas por Sakura
+ % Cartas capturadas por Syaoran
+
+
+
+ Ordenar de:
+
+ Ordena de:
+ A-Z
+ Z-A
+
+
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index c943ecdd..ece8a3e7 100644
--- a/src/main.js
+++ b/src/main.js
@@ -1,6 +1,125 @@
-import { example } from './dataFunctions.js';
-import { renderItems } from './view.js';
+// import { example } from "./dataFunctions.js";
+import { renderItems } from "./view.js";
-import data from './data/dataset.js';
+import data from "./data/dataset.js";
+import { computeStats, dangerousDataFilter, elementDataFilter, sortData, percent } from "./dataFunctions.js";
-console.log(example, renderItems(data), data);
\ No newline at end of file
+//------------ funcion para renderizar la data--------------------------------
+function renderData(data) {
+ const body = document.getElementById("root");
+ if (body) {
+ const render = renderItems(data);
+ body.innerHTML = render;
+ }
+}
+
+let cardsData = data // variable de la data original - variable global
+renderData(data) // Total de la Data renderizada
+//--------- filtrado elementos-------
+const selectElement = document.querySelector('[data-testid="select-filter"]');
+selectElement.addEventListener("change", (event) => {
+ const filteredData = elementDataFilter(data, "elementEsencial", event.target.value); //datos que se imprime
+ cardsData = filteredData; // asigno nuevo valor de data filtrada
+ renderData(cardsData); //vuelves a renderizar la data filtrada en el elemento con id "root". Esto actualizará la vista para mostrar solo los elementos que cumplen con el criterio de filtrado seleccionado por el usuario.
+ //console.log(filteredData);
+ //console.log(elementDataFilter(data,"elementEsencial","Climáticos"));// data + campo que filtro y el valor que quiero filtrar
+});
+
+
+//----------------- filtrado por carta inofensiva o peligrosa-----------------
+
+let filterDangerous = [];
+
+const selectDangerous = document.querySelector('[data-testid="select-filter2"]');
+const text = document.getElementById('text') // para mostrar estadisticas
+
+selectDangerous.addEventListener("change", () => {
+ const selected = selectDangerous.options[selectDangerous.selectedIndex].value;
+ filterDangerous = dangerousDataFilter(data, "isDangerous", selected);
+ cardsData = filterDangerous;
+ console.log(selectDangerous.options[selectDangerous.selectedIndex].textContent);
+ renderData(cardsData);
+ const selectedContent = selectDangerous.options[selectDangerous.selectedIndex].textContent;
+
+ if (selectedContent === 'Inofensiva') {
+ text.textContent = `El ${computeStats(data).promInofensivas}% de cartas son inofensivas` // ${} insertar valores de variables o expresiones dentro de una cadena de texto.
+ //console.log(`promedio de : ${computeStats(data).promInofensivas}`);
+ } else {
+ text.textContent = `El ${computeStats(data).promPeligrosas}% de cartas son peligrosas`
+ }
+});
+
+//----------------filtro por carta capturada por sakura-------------
+
+/* let filterCaptured = []; */
+let filterCapturedPercent = [];
+
+const selectCaptured = document.querySelector(
+ '[data-testid="select-estadistic"]'
+);
+selectCaptured.addEventListener("change", () => {
+ filterCapturedPercent = percent(data, "capturedBySyaoran");
+ const selectIndex = selectCaptured.options[selectCaptured.selectedIndex].textContent;
+
+ if (selectIndex === "% Cartas capturadas por Sakura") {
+ text.textContent = `El porcentaje de cartas capturadas por Sakura es ${filterCapturedPercent.percentSakura}%`;
+ } else {
+ text.textContent = `El porcentaje de cartas capturadas por Syaoran es ${filterCapturedPercent.percentSyaoran}%`;
+ }
+ //console.log(selectCaptured.options[selectCaptured.selectedIndex].textContent);
+ //console.log(estadisticCaptured);
+ //console.log(filterCapturedPercent);
+});
+
+//---------------- estadisticas de cartas capturadas -------------
+
+//--------- ordenar-------
+const sortOrden = document.querySelector('[data-testid="select-sort"]');
+sortOrden.addEventListener("change", (e) => {
+ const sortedData = sortData(cardsData, "name", e.target.value);
+ console.log(sortedData);
+ cardsData = sortedData;
+ renderData(sortedData);
+});
+// ------ boton de reseteo ---
+const resetBtn = document.querySelector('[data-testid="button-clear"]')
+resetBtn.addEventListener('click', () => {
+ //console.log(resetBtn);
+ cardsData = data;
+ renderData(cardsData);
+ selectElement[0].selected = true;
+ selectDangerous[0].selected = true;
+ sortOrden[0].selected = true;
+ text.textContent = "";
+});
+
+//--------------------- botones de las cards --------------
+
+const popup = document.querySelectorAll(".popup-box");
+const btn = document.querySelectorAll(".card-button");
+const btnClose = document.querySelectorAll(".popup-close-btn");
+btn.forEach(function (button, index) {
+ button.addEventListener("click", function () {
+ popup[index].style.display = "block";
+ });
+});
+
+//agregar fuera de la ventana cerrar
+
+window.onclick = function (event) {
+ popup.forEach(function (popup) {
+ if (event.target === popup) {
+ popup.style.display = "none";
+ }
+ });
+};
+//agregar boton cierre
+
+btnClose.forEach(function (closeButton) {
+ closeButton.addEventListener("click", function () {
+ const popups = closeButton.closest(".popup-box");
+ if (popups) {
+ popups.style.display = "none";
+ }
+ });
+});
diff --git a/src/style.css b/src/style.css
index e69de29b..b6893c57 100644
--- a/src/style.css
+++ b/src/style.css
@@ -0,0 +1,452 @@
+:root {
+ --color-fondo: #f1e0d9;
+ /* Fondo principal */
+ --color-titulo: #c23071;
+ /* Texto Titulo */
+ --color-texto1: #bb1662;
+ /* Texto general */
+}
+
+* {
+ /*background-color: var(--color-fondo);*/
+ color: var(--color-texto1);
+ font-family: "roboto", sans-serif;
+ box-sizing: border-box;
+}
+
+html {
+ background: rgb(241, 224, 217);
+ background: linear-gradient(90deg,
+ rgba(241, 224, 217, 1) 15%,
+ rgba(227, 170, 185, 1) 39%,
+ rgba(241, 224, 217, 1) 58%,
+ rgba(227, 170, 185, 1) 79%);
+}
+
+body {
+ margin: 0;
+ padding: 0;
+}
+
+/*NAV BAR*/
+.container {
+ /*utilites*/
+ max-width: 1200px;
+ width: 90%;
+ margin: auto;
+}
+
+header {
+ background-color: #9A5C75;
+ box-shadow: 0px 5px 10px 0px #919191;
+ width: 100%;
+ opacity: 0.85;
+ z-index: 999;
+ position: fixed;
+}
+
+
+.navbar-container {
+ display: flex;
+ justify-content: space-between;
+ height: 64px;
+ align-items: center;
+}
+
+.navbar-logo {
+ display: flex;
+ align-items: center;
+}
+
+h1 {
+ font-size: 24px;
+ margin-right: 10px;
+ color: rgb(255, 255, 255);
+ /*cambiar color*/
+}
+
+.navbar-logo-img {
+ max-height: 50px;
+ width: 70px;
+}
+
+/* opciones de navbar */
+.nav-menu-links {
+ display: inline-block;
+ padding: 0 20px;
+
+}
+
+.nav-menu-links:hover {
+ transform: scale(1.1);
+}
+
+.nav-menu-links a {
+ font-size: 700;
+ color: snow;
+ /*cambiar color*/
+ text-decoration: none;
+}
+
+.nav-menu-links a:hover {
+ color: #490726;
+ /*cambiar color*/
+}
+
+/*seccion INICIO */
+
+.inicio-section {
+ padding-top: 8rem;
+ padding-bottom: 5rem;
+ overflow: hidden;
+ display: flex;
+ justify-content: space-around;
+ /* background-color: snow; */
+}
+
+.content-left {
+ width: 35%;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ text-align: start;
+ align-items: flex-start;
+}
+
+.content-left-tittle {
+ font-size: 2rem;
+ font-weight: 700;
+ text-transform: uppercase;
+ letter-spacing: 8px;
+}
+
+.sakura-img {
+ max-width: 90%;
+ height: auto;
+}
+
+p {
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 32px;
+ margin: 30px 0;
+ text-align: justify;
+}
+
+/* aqui empiezan la Seccion - CARTAS */
+.cards-section {
+ padding-top: 5rem;
+ padding-bottom: 5rem;
+ /* background-color: snow; */
+}
+
+/* subtitulo cartas clow */
+
+h3 {
+ text-align: end;
+ font-size: 3.5rem;
+ font-weight: 700;
+ text-transform: uppercase;
+ letter-spacing: 8px;
+}
+
+/* filtros */
+.container-filtros {
+ max-width: 1200px;
+ width: 90%;
+ margin: auto;
+ align-items: center;
+ height: 100px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+select[data-testid="select-filter"] {
+ height: 40px;
+ width: 160px;
+ padding: 0 10px;
+}
+
+#ordenarFilter {
+ height: 40px;
+ width: 160px;
+ padding: 0 10px;
+}
+
+.container-ordenar {
+ text-align: end;
+}
+
+select[data-testid="select-filter2"] {
+ height: 40px;
+ width: 160px;
+ padding: 0 10px;
+}
+select[data-testid="select-estadistic"] {
+ height: 40px;
+ width: 250px;
+ padding: 0 10px;
+}
+
+#text {
+ width: 95%;
+ text-align: center;
+ margin: auto;
+ padding: 20px 0px;
+ margin-left: 50px;
+}
+
+.reset-btn {
+ width: 95%;
+ text-align: center;
+ margin: auto;
+ padding: 10px 20px;
+ margin-left: 50px;
+ border-radius: 5px;
+ background-color: #7a234c8f;
+ text-transform: uppercase;
+ font-weight: 500;
+ color: snow;
+ border: none;
+ box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
+ cursor: pointer;
+}
+
+.reset-btn:hover {
+ background-color: #5321389f;
+ font-weight: 600;
+ color: snow;
+ border: none;
+ box-shadow: rgb(206, 206, 206) (0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
+}
+
+
+/* cartas */
+.container-cards {
+ width: 100%;
+ max-width: 1200px;
+ height: auto;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-around;
+ margin: auto;
+
+
+}
+
+ul {
+ display: flex;
+ flex-wrap: wrap;
+ list-style: none;
+ justify-content: center;
+}
+
+.card {
+ width: 240px;
+ height: 430px;
+ background-color: #9A5C75;
+ border-radius: 10px;
+ box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
+
+}
+
+/* .card:hover {
+ box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
+ transform: translateY(-5px);
+} */
+
+dl {
+ margin: 0;
+ width: 240px;
+ height: 300px;
+ position: relative;
+}
+
+.img-container {
+ margin-left: 0;
+ width: 100%;
+ height: 300px;
+ overflow: hidden;
+ position: relative;
+ border-radius: 10px 10px 0 0;
+}
+
+.img-card {
+ position: absolute;
+ width: 100%;
+ height: 160%;
+ border-radius: 10px 10px 0 0;
+}
+
+.card-front {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+}
+
+.cardName {
+ margin: 0;
+ color: rgb(255, 255, 255);
+ margin-top: 10px;
+ text-transform: uppercase;
+ font-weight: bold;
+ font-size: 24px;
+}
+
+.cardDescription {
+ margin: 0;
+ font-weight: 400;
+ color: snow;
+ margin-top: 10px;
+ z-index: 5;
+}
+
+.card-button {
+ margin: 10px;
+ /* height: 30px;
+ width: 100px; */
+ padding: 10px 20px;
+ border-radius: 5px;
+ text-transform: lowercase;
+ font-weight: 500;
+ background-color: #7a234c8f;
+ color: snow;
+ border: none;
+ box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
+ cursor: pointer;
+}
+
+.card-button:hover {
+ background-color: #ffffff59;
+ font-weight: 600;
+ color: #ffffff;
+ border: none;
+ box-shadow: snow (0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
+ transform: translateY(-2px);
+
+}
+
+/* Carta POPUP box */
+
+.popup-box {
+ position: fixed;
+ height: 100%;
+ width: 100%;
+ left: 0;
+ top: 0;
+ background-color: rgb(0, 0, 0);
+ background-color: #9a5c7554;
+ z-index: 500;
+ display: none;
+}
+
+.popup-content {
+ position: fixed;
+ background-color: rgb(255, 225, 233);
+ width: 700px;
+ height: 590px;
+ position: relative;
+ align-items: center;
+ left: 50%;
+ top: 50%;
+ transform: translate(-50%, -50%);
+ border-radius: 10px;
+
+}
+
+.pop-header {
+ padding: 15px 40px 15px 15px;
+ display: inline-block;
+}
+
+.cardNameUp {
+ color: #c23071;
+ text-transform: uppercase;
+ font-size: 40px;
+ font-weight: bold;
+ margin-inline-start: 0;
+}
+
+.popupShortDescription {
+ font-size: 20px;
+ margin-inline-start: 0;
+}
+
+.img-ContentBody {
+ width: auto;
+ height: 450px;
+ margin-top: 50px;
+ align-items: center;
+ float: inline-start;
+ overflow: hidden;
+ border-radius: 20px;
+ box-shadow: #7c677185 0px 2px 8px 0px;
+}
+
+.imgBody {
+ width: 100%;
+ height: 100%;
+}
+
+.popup-body {
+ max-height: 450px;
+ position: relative;
+ padding-left: 220px;
+ padding-right: 20px;
+}
+
+dt {
+ font-weight: bold;
+ margin-inline-start: 40px;
+ font-size: 18px;
+ line-height: 30px;
+}
+
+.inactiva {
+ text-align: justify;
+ margin: 0 40px;
+}
+
+.popup-footer {
+ margin-top: 20px;
+ border-top: 1px solid #ffffffd3;
+ text-align: center;
+ margin-inline-start: 50px;
+
+}
+
+.popup-close-btn {
+ display: block;
+ cursor: pointer;
+ margin-top: 10px;
+ padding: 10px 20px;
+ border-radius: 5px;
+ text-transform: uppercase;
+ font-weight: 500;
+ background-color: #c9216fe7;
+ color: snow;
+ border: solid 1px rgba(255, 250, 250, 0.575);
+ box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
+}
+
+.popup-close-btn:hover {
+ background-color: #7a234c8f;
+ font-weight: 600;
+ color: snow;
+ border: none;
+ box-shadow: snow (0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
+ transform: translateY(-2px);
+}
+
+
+/* seccion del footer */
+.footer-section {
+ background-color: #9A5C75;
+ font-size: 1rem;
+ color: snow;
+ height: 64px;
+ text-align: center;
+ padding: 20px;
+}
\ No newline at end of file
diff --git a/src/view.js b/src/view.js
index 686f5ef9..8a1ae835 100644
--- a/src/view.js
+++ b/src/view.js
@@ -1,5 +1,46 @@
export const renderItems = (data) => {
- console.log(data)
// Aquí comienza tu código y puedes retornar lo que tu necesites
- return 'example';
-};
\ No newline at end of file
+
+ let html = ""; //contenedor
+ data.forEach((cartas) => {
+ // iterar datos, recorrer los datos dl = define lista dd = descripcion
+ html += `
+
+
+
+
+
+
+
+
${cartas.name}
+
${cartas.shortDescription}
+
Ver mas
+
+
+
+
+ `;
+ });
+
+ return html;
+};
diff --git a/test/data.js b/test/data.js
index 077a202a..f1fbae4a 100644
--- a/test/data.js
+++ b/test/data.js
@@ -2,51 +2,48 @@
// al menos debe tener uno que se llame "data"
export const data = [{
- "id": "ada-lovelace",
- "name": "Ada Lovelace",
- "shortDescription": "Pionera en la programación, primera programadora de la historia.",
- "description": "Una visionaria matemática británica del siglo XIX, es aclamada como la primera programadora de la historia. Su colaboración con Charles Babbage en la creación de la Máquina Analítica la llevó a desarrollar algoritmos, incluyendo el famoso \"algoritmo de Bernoulli\", destinados a ser procesados por una máquina. Su visión pionera la convirtió en una figura fundamental en la informática y la inteligencia artificial. Lovelace demostró que las computadoras podían ir más allá de simples cálculos matemáticos, anticipando un mundo donde la programación sería esencial en la resolución de problemas complejos, dejando una huella imborrable en la ciencia y la tecnología.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/ada-lovelace.jpg",
+ "name": "Fly",
"facts": {
- "yearOfBirth": "1815",
- "yearOfDeath": "1852",
- "birthPlace": "Londres, Reino Unido",
- "mainField": "Ciencia de la Computación"
+ "elementEsencial": "Versatil"
},
"extraInfo": {
- "imageSource": "https://www.bing.com/images/create/genera-una-imagen-de-ada-lovelace2c-la-primera-prog/650a1eff8ff04b88833d5cdef0309441"
+ "isDangerous": false
}
},
{
- "id": "emmy-noether",
- "name": "Emmy Noether",
- "shortDescription": "Matemática destacada, teorema fundamental en álgebra abstracta.",
- "description": "Una brillante matemática alemana, revolucionó la física teórica con sus contribuciones al teorema de conservación de la energía y el teorema de Noether, fundamentales en la teoría de la relatividad y la mecánica cuántica. A pesar de los obstáculos que enfrentó como mujer en la academia, sus investigaciones en álgebra abstracta y teoría de grupos son fundamentales en la física moderna. Su capacidad para unificar conceptos matemáticos y físicos marcó un hito en la historia de la ciencia, allanando el camino para futuras generaciones de científicas.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/emmy-noether.jpg",
+ "name": "Watery",
"facts": {
- "yearOfBirth": "1882",
- "yearOfDeath": "1935",
- "birthPlace": "Erlangen, Alemania",
- "mainField": "Matemáticas"
+ "elementEsencial": "Naturaleza"
},
"extraInfo": {
- "imageSource": "https://www.bing.com/images/create/create-an-image-of-of-a-german-woman2c-a-pioneering/6510ddb1e8254b928b8f8f1d5e95fea4"
+ "isDangerous": false
}
},
{
- "id": "hypatia-de-alejandria",
- "name": "Hypatia de Alejandría",
- "shortDescription": "Matemática y filósofa en la antigua Alejandría.",
- "description": "Filósofa y matemática en la antigua Alejandría, desafió las normas de género de su época al destacar en una sociedad dominada por hombres. Su legado incluye importantes contribuciones a la geometría y la astronomía, así como su destacado papel como maestra y defensora del conocimiento en una época de agitación política. Hypatia demostró que las mujeres podían sobresalir en campos intelectuales y su valentía al mantener sus creencias filosóficas la convierte en un símbolo de resistencia y sabiduría en la historia de la ciencia.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/hypatia-de-alejandria.jpg",
+ "name": "Firey",
"facts": {
- "yearOfBirth": "circa 360",
- "yearOfDeath": "415",
- "birthPlace": "Alejandría, Egipto",
- "mainField": "Matemáticas, Filosofía"
+ "elementEsencial": "Naturaleza"
},
"extraInfo": {
- "imageSource": "https://www.bing.com/images/create/create-a-vivid-digital-artwork-or-painting-that-de/6510df0ebe1a4807af22175452761e1a"
+ "isDangerous": false
}
-},];
+},
+{
+ "name": "Libra",
+ "facts": {
+ "elementEsencial": "Dualidad"
+ },
+ "extraInfo": {
+ "isDangerous": false
+ }
+},
+{
+ "name": "Storm",
+ "facts": {
+ "elementEsencial": "Climáticos"
+ },
+ "extraInfo": {
+ "isDangerous": true
+ }
+}];
diff --git a/test/dataFunctions.spec.js b/test/dataFunctions.spec.js
index 72c5eb9d..900608da 100644
--- a/test/dataFunctions.spec.js
+++ b/test/dataFunctions.spec.js
@@ -1,18 +1,43 @@
-import { example, anotherExample } from '../src/dataFunctions.js';
-import { data as fakeData } from './data.js';
+import { dangerousDataFilter, elementDataFilter, sortData, computeStats } from "../src/dataFunctions.js";
+import { data as fakeData } from "./data.js";
-console.log(fakeData);
+//console.log(fakeData);
-describe('example', () => {
+describe("funcionalidad de filtrado elementDataFilter", () => {
+ it("esto deberia filtrar por la propiedad 'elementEsencial' los objetos de la Data", () => {
+ expect(elementDataFilter(fakeData, 'elementEsencial', 'Dualidad')).toStrictEqual([{ "name": "Libra", "facts": { "elementEsencial": "Dualidad" }, "extraInfo": { "isDangerous": false } }]);
+ expect(elementDataFilter(fakeData, 'elementEsencial', 'Versatil')).toStrictEqual([{ "name": "Fly", "facts": { "elementEsencial": "Versatil" }, "extraInfo": { "isDangerous": false } }]);
+ expect(elementDataFilter(fakeData, 'elementEsencial', 'Climáticos')).toStrictEqual([{ "name": "Storm", "facts": { "elementEsencial": "Climáticos" }, "extraInfo": { "isDangerous": true } }]);
- it('returns `example`', () => {
- expect(example()).toBe('example');
});
});
-describe('anotherExample', () => {
+describe("funcionalidad de filtrado dangerousDataFilter", () => {
+ it("deberia filtar por la propiedad'isDangerous' los objetos de la Data", () => {
+ expect(dangerousDataFilter(fakeData, 'isDangerous', 'true')).toStrictEqual([{ "name": "Storm", "facts": { "elementEsencial": "Climáticos" }, "extraInfo": { "isDangerous": true } }]);
+ })
+})
- it('returns `anotherExample`', () => {
- expect(anotherExample()).toBe('OMG');
+
+const ascData = [fakeData[2], fakeData[0], fakeData[3], fakeData[4], fakeData[1]]; // como sera el orden
+const descData = [fakeData[1], fakeData[4], fakeData[3], fakeData[0], fakeData[2]]
+
+describe("funcion ascendente de 'sortData' ", () => {
+ it("esto deberia ordenar de forma ascendente los objetos del array", () => {
+ const ascOrden = (sortData(fakeData, 'name', "asc"))
+ expect(ascOrden).toEqual(ascData);
+ });
+});
+
+describe("funcion descendente 'sortData' ", () => {
+ it("esto deberia ordenar de forma descedente los objetos del array", () => {
+ const descOrden = (sortData(fakeData, 'name', "desc"))
+ expect(descOrden).toEqual(descData);
});
});
+
+describe ("estadistica", () => {
+ it ("esto deberia devolverme el porcentaje de cuantas cartas son 'Inofensivas' y 'Peligrosas'", ()=>{
+ expect(computeStats(fakeData)).toStrictEqual({"promInofensivas": 80, "promPeligrosas": 20})
+ })
+})
\ No newline at end of file