@@ -423,161 +132,75 @@ npm run test:oas // Esto es para correr todos los tests de OAs
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
+## Primera Historia de Usuario:
-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.
+Nuestras usuarias esperan poder encontrar información precisa y contundente del tema relacionado. En este caso "Mujeres científicas"
+En este caso, se facilita la visualización de la información, foto de referencia y búsqueda efectiva.
-#### Historias de usuario
+#### Criterios de Aceptación:
-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.
+1. Titulo de la página.
+2. Visualizar la imagen de referencia de cada científica.
+3. La página web sea Responsiva.
+4. No tenga interacción.
-Asegúrate de incluir la definición de terminado (_definition of done_) y los
-Criterios de Aceptación para cada una.
+### Definición de terminado:
-Usa tus historias de usuario para planificar tus sprints dividiendo
-cada historia en tareas.
+1. Que se vea la página con información y formato de prototipo.
+2. Subido al repositorio con cambios míos y de mi compañera.
+3. Prueba de Usabilidad (por lo menos 2 personas realicen feedback).
-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).
+### Pasos para cumplir los Criterios de aceptación:
-#### Generar los datos
+1. Trabajar con HTML y CSS Reponsive.
+2. Trabajar con los datos para que se visualice la data en la página web.
+3. Averiguar que es un archivo JSON.
+4. Subir toda la información al repositorio y que se visualice.
-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.
+## Segunda Historia de Usuario:
-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:
+### ¿Qué Requieren Nuestras Usuarias?
+ La página web permita a nuestras usuarias obtener la información con la data generada, visualizarla y filtrarla
+ según su conveniencia.
-* `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
- por letras, números, underscore (`_`) o guión (`-`). Por ejemplo: `"ada-lovelace"`.
-* `name`: El nombre del personaje, país, película, etc.
-* `shortDescription`: Descripción corta del elemento. Esta descripción deberá
- tener como máximo 20 palabras.
-* `description`: Descripción extendida del elemento. Esta descripción deberá
- tener entre 80 y 100 palabras. Al momento de mostrar este dato en pantalla
- puedes truncarlo para que no ocupe tanto espacio.
-* `imageUrl`: URL de la imagen. Esta imagen será generada a través de alguna
- herramienta basada en inteligencia artifical. Una vez generada la imagen,
- y guardada en tu repo, deberás agregar la URL en este campo.
-* `facts`: Un objeto con al menos **3** "hechos" o "info" sobre este elemento, en
- formato `"nombre": "valor"`, por ejemplo:
+### Criterios de Aceptación:
+ 1. Qué nuestras usuarias vean la información en las tarjetas.
+ 2. Que realicen interacciones en la página web y puedan filtrarla desde "Especialidad" para que su búsqueda sea más eficaz.
+ 3. Que las usuarias puedan ordenar los nombres de manera ascendente ("A-Z") y descendente ("Z-A").
- ```json
- "facts": {
- "yearOfBirth": 1843,
- "placeOfBirth": "London, England",
- "mainField": "Computer Science",
- }
- ```
+### Definición de Terminado:
+ 1. Que se vea el formato de los filtros y que los botones funcionen.
+ 2. Subido al repositorio con cambios míos y mi compañera
+ 3. Que los test pasen por lo menos en un 70 % y crear los test con Jest.
- Los _nombres de las propiedades_, deben estar en formato _camelCase_.
- Por ejemplo **ninguno** de los siguientes nombres sería válido:
+### Pasos para Cumplir Criterios de Aceptación:
+ 1. Trabajar con HTML, CSS y JAVASCRIPT.
+ 2. Que se puede filtrar por especialidad y muestre todas las opciones aún cuando cuenten con más de una.
+ 3. Que el ordenado sea de la A-Z Z-A
+ 4. Aplicar los test unitarios y que pase por lo menos un 70% de ellos.
- ```json
- "facts": {
- "year_of_birth": 1843,
- "Place of Birth": "London, England",
- "MainField": "Computer Science",
- }
- ```
-
- 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
-]
-```
+## Tercera Historia de Usuario:
+
+### ¿Qué Requieren Nuestras Usuarias?
+ Que la usuaria pueda ver desplegada la página web y el resumen del proyecto en Github.
+
+### Criterios de Aceptación:
+ 1. Pagina clara de leer con buen diseño y colores de acuerdo al proyecto.
+ 2. Que estén todos los cambios en github.
+
+### Definición de Terminado:
+ 1. Desplegado en Github.
+ 2. Cumplir con los objetivos en el Readme
+ 3. Test.
+
+### Pasos para Cumplir Criterios de Aceptación:
+ 1. Trabajar con Github y Jest para los test.
+ 2. Resumen del proyecto de forma clara.
+
-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
@@ -640,333 +263,3 @@ Features/características extra sugeridas:
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/adalovelece.jpg b/adalovelece.jpg
new file mode 100644
index 00000000..9195bebf
Binary files /dev/null and b/adalovelece.jpg differ
diff --git a/package-lock.json b/package-lock.json
index 1083af13..65e53b40 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,14 +13,15 @@
"@babel/plugin-transform-modules-commonjs": "^7.6.0",
"@playwright/test": "^1.36.1",
"acorn": "^8.8.2",
- "babel-jest": "^27.0.1",
+ "babel-jest": "^27.5.1",
"css": "^3.0.0",
"eslint": "^8.3.0",
"gh-pages": "^3.1.0",
"htmlhint": "^1.0.0",
- "jest": "^27.0.1",
+ "jest": "^27.5.1",
"jsdom": "^22.1.0",
"opener": "^1.5.1",
+ "react-test-renderer": "^18.2.0",
"serve": "^14.2.1"
},
"engines": {
@@ -6224,6 +6225,18 @@
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"dev": true
},
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dev": true,
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
"node_modules/lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -6852,12 +6865,58 @@
"node": ">=0.10.0"
}
},
+ "node_modules/react": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/react-is": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
"dev": true
},
+ "node_modules/react-shallow-renderer": {
+ "version": "16.15.0",
+ "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz",
+ "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==",
+ "dev": true,
+ "dependencies": {
+ "object-assign": "^4.1.1",
+ "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.0.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/react-test-renderer": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.2.0.tgz",
+ "integrity": "sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==",
+ "dev": true,
+ "dependencies": {
+ "react-is": "^18.2.0",
+ "react-shallow-renderer": "^16.15.0",
+ "scheduler": "^0.23.0"
+ },
+ "peerDependencies": {
+ "react": "^18.2.0"
+ }
+ },
+ "node_modules/react-test-renderer/node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "dev": true
+ },
"node_modules/registry-auth-token": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz",
@@ -7029,6 +7088,15 @@
"node": ">=v12.22.7"
}
},
+ "node_modules/scheduler": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
+ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
+ "dev": true,
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ }
+ },
"node_modules/semver": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
@@ -12633,6 +12701,15 @@
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"dev": true
},
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dev": true,
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
"lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -13094,12 +13171,51 @@
}
}
},
+ "react": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "loose-envify": "^1.1.0"
+ }
+ },
"react-is": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
"dev": true
},
+ "react-shallow-renderer": {
+ "version": "16.15.0",
+ "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz",
+ "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.1.1",
+ "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "react-test-renderer": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.2.0.tgz",
+ "integrity": "sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==",
+ "dev": true,
+ "requires": {
+ "react-is": "^18.2.0",
+ "react-shallow-renderer": "^16.15.0",
+ "scheduler": "^0.23.0"
+ },
+ "dependencies": {
+ "react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "dev": true
+ }
+ }
+ },
"registry-auth-token": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz",
@@ -13220,6 +13336,15 @@
"xmlchars": "^2.2.0"
}
},
+ "scheduler": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
+ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.1.0"
+ }
+ },
"semver": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
diff --git a/package.json b/package.json
index bb4defe9..3e91a50f 100644
--- a/package.json
+++ b/package.json
@@ -28,14 +28,15 @@
"@babel/plugin-transform-modules-commonjs": "^7.6.0",
"@playwright/test": "^1.36.1",
"acorn": "^8.8.2",
- "babel-jest": "^27.0.1",
+ "babel-jest": "^27.5.1",
"css": "^3.0.0",
"eslint": "^8.3.0",
"gh-pages": "^3.1.0",
"htmlhint": "^1.0.0",
- "jest": "^27.0.1",
+ "jest": "^27.5.1",
"jsdom": "^22.1.0",
"opener": "^1.5.1",
+ "react-test-renderer": "^18.2.0",
"serve": "^14.2.1"
},
"engines": {
@@ -49,4 +50,4 @@
"jest": {
"testEnvironment": "jsdom"
}
-}
\ No newline at end of file
+}
diff --git a/src/Imagenes/29134.jpg b/src/Imagenes/29134.jpg
new file mode 100644
index 00000000..9db14f6a
Binary files /dev/null and b/src/Imagenes/29134.jpg differ
diff --git a/src/Imagenes/IMAGEN.png b/src/Imagenes/IMAGEN.png
new file mode 100644
index 00000000..a5678e49
Binary files /dev/null and b/src/Imagenes/IMAGEN.png differ
diff --git a/src/Imagenes/ddd.jpg b/src/Imagenes/ddd.jpg
new file mode 100644
index 00000000..11cd90cc
Binary files /dev/null and b/src/Imagenes/ddd.jpg differ
diff --git a/src/Imagenes/final.jpg b/src/Imagenes/final.jpg
new file mode 100644
index 00000000..7d775872
Binary files /dev/null and b/src/Imagenes/final.jpg differ
diff --git a/src/Imagenes/final2.jpg b/src/Imagenes/final2.jpg
new file mode 100644
index 00000000..ad8f1ef3
Binary files /dev/null and b/src/Imagenes/final2.jpg differ
diff --git a/src/data/dataset.js b/src/data/dataset.js
index 0ebafb6f..d8a95c8d 100644
--- a/src/data/dataset.js
+++ b/src/data/dataset.js
@@ -6,8 +6,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1815",
- "yearOfDeath": "1852",
+ "yearOfBirth": "Diciembre - 1815",
+ "yearOfDeath": "Noviembre - 1852",
"birthPlace": "Londres, Reino Unido",
"mainField": "Ciencia de la Computación"
},
@@ -22,8 +22,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1882",
- "yearOfDeath": "1935",
+ "yearOfBirth": "Marzo - 1882",
+ "yearOfDeath": "Abril - 1935",
"birthPlace": "Erlangen, Alemania",
"mainField": "Matemáticas"
},
@@ -38,8 +38,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "circa 360",
- "yearOfDeath": "415",
+ "yearOfBirth": "Entre el 355 y el 370",
+ "yearOfDeath": "Marzo - 415",
"birthPlace": "Alejandría, Egipto",
"mainField": "Matemáticas, Filosofía"
},
@@ -54,8 +54,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1914",
- "yearOfDeath": "1979",
+ "yearOfBirth": "Septiembre - 1914",
+ "yearOfDeath": "Octubre1979",
"birthPlace": "Memphis, Estados Unidos",
"mainField": "Matemáticas"
},
@@ -66,12 +66,12 @@ export default [
{
"id": "shakuntala-devi",
"name": "Shakuntala Devi",
- "shortDescription": "Matemática prodigio, conocida como la 'Calculadora Humana'.",
+ "shortDescription": "Matemática prodígio, 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",
"facts": {
- "yearOfBirth": "1929",
- "yearOfDeath": "2013",
+ "yearOfBirth": "Noviembre - 1929",
+ "yearOfDeath": "Abril - 2013",
"birthPlace": "Bangalore, India",
"mainField": "Matemáticas"
},
@@ -86,8 +86,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1850",
- "yearOfDeath": "1891",
+ "yearOfBirth": "Enero - 1850",
+ "yearOfDeath": "Febrero - 1891",
"birthPlace": "Moscú, Rusia",
"mainField": "Matemáticas"
},
@@ -102,7 +102,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1967",
+ "yearOfBirth": "Octubre - 1967",
+ "yearOfDeath": "Sigue ejerciendo su Especialidad",
"birthPlace": "Hyogo, Japón",
"mainField": "Composición Musical, Video Juegos"
},
@@ -117,8 +118,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1977",
- "yearOfDeath": "2017",
+ "yearOfBirth": "Mayo - 1977",
+ "yearOfDeath": "Julio - 2017",
"birthPlace": "Teherán, Irán",
"mainField": "Matemáticas"
},
@@ -133,9 +134,10 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1945",
+ "yearOfBirth": "Julio - 1945",
+ "yearOfDeath": "Sigue ejerciendo su Especialidad",
"birthPlace": "Chicago, Estados Unidos",
- "mainField": "Ciencias de la Computación"
+ "mainField": "Ciencia de la Computación"
},
"extraInfo": {
"imageSource": "https://pionerasinformaticas.ujaen.es/en/computer-women-pioneers/adele-goldberg-en"
@@ -148,7 +150,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1939",
+ "yearOfBirth": "Noviembre - 1939",
+ "yearOfDeath": "Sigue ejerciendo su Especialidad",
"birthPlace": "Los Angeles, Estados Unidos",
"mainField": "Ciencia de la Computación"
},
@@ -163,8 +166,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1906",
- "yearOfDeath": "1992",
+ "yearOfBirth": "Diciembre - 1906",
+ "yearOfDeath": "Enero - 1992",
"birthPlace": "Nueva York, Estados Unidos",
"mainField": "Ciencia de la Computación"
},
@@ -179,7 +182,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1936",
+ "yearOfBirth": "Agosto - 1936",
+ "yearOfDeath": "Sigue ejerciendo su Especialidad",
"birthPlace": "Paoli, Indiana, Estados Unidos",
"mainField": "Ciencia de la Computación"
},
@@ -194,7 +198,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1951",
+ "yearOfBirth": "Diciembre - 1951",
+ "yearOfDeath": "Sigue ejerciendo su Especialidad",
"birthPlace": "Portsmouth, Estados Unidos",
"mainField": "Ciencia de la Computación"
},
@@ -209,7 +214,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1958",
+ "yearOfBirth": "Año - 1958",
+ "yearOfDeath": "Sigue ejerciendo su Especialidad",
"birthPlace": "Nueva York, Estados Unidos",
"mainField": "Ciencia de la Computación"
},
@@ -224,8 +230,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1912",
- "yearOfDeath": "1997",
+ "yearOfBirth": "Mayo - 1912",
+ "yearOfDeath": "Febrero - 1997",
"birthPlace": "Liuhe, Taicang, China",
"mainField": "Física"
},
@@ -240,8 +246,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1914",
- "yearOfDeath": "2000",
+ "yearOfBirth": "Noviembre - 1914",
+ "yearOfDeath": "Enero - 2000",
"birthPlace": "Viena, Austria",
"mainField": "Actuación, Física"
},
@@ -256,8 +262,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1906",
- "yearOfDeath": "1972",
+ "yearOfBirth": "Junio - 1906",
+ "yearOfDeath": "Febrero - 1972",
"birthPlace": "Kattowitz, Alemania",
"mainField": "Física"
},
@@ -272,8 +278,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1878",
- "yearOfDeath": "1968",
+ "yearOfBirth": "Noviembre - 1878",
+ "yearOfDeath": "Octubre - 1968",
"birthPlace": "Viena, Austria",
"mainField": "Física"
},
@@ -288,7 +294,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1940",
+ "yearOfBirth": "Año - 1940",
+ "yearOfDeath": "Sigue ejerciendo su Especialidad",
"birthPlace": "Hong Kong, China",
"mainField": "Física de Partículas"
},
@@ -303,7 +310,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1943",
+ "yearOfBirth": "Julio - 1943",
+ "yearOfDeath": "Sigue ejerciendo su Especialidad",
"birthPlace": "Belfast, Reino Unido",
"mainField": "Astronomía, Astrofísica"
},
@@ -334,10 +342,10 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1867",
- "yearOfDeath": "1934",
+ "yearOfBirth": "Mayo - 1867",
+ "yearOfDeath": "Julio - 1934",
"birthPlace": "Varsovia, Polonia",
- "mainField": "Física y Química"
+ "mainField": "Física, Química"
},
"extraInfo": {
"imageSource": "https://www.historyextra.com/period/first-world-war/life-of-the-week-marie-curie/"
@@ -350,8 +358,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1885",
- "yearOfDeath": "1948",
+ "yearOfBirth": "Enero - 1885",
+ "yearOfDeath": "Diciembre - 1948",
"birthPlace": "Londres, Reino Unido",
"mainField": "Química, Microbiología, Bioquímica"
},
@@ -366,8 +374,8 @@ export default [
"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",
"facts": {
- "yearOfBirth": "1920",
- "yearOfDeath": "1958",
+ "yearOfBirth": "Julio - 1920",
+ "yearOfDeath": "Abril - 1958",
"birthPlace": "Londres, Reino Unido",
"mainField": "Química, Cristalografía"
},
diff --git a/src/dataFunctions.js b/src/dataFunctions.js
index 5de554af..e8a77475 100644
--- a/src/dataFunctions.js
+++ b/src/dataFunctions.js
@@ -1,9 +1,43 @@
// Estas funciones son ejemplos, aquí puedes desarrollar tus propias funciones.
+// quiero filtrar la data
+// quiero realizar una función para filtrar los datos que necesito
-export const example = () => {
- return 'example';
+export const filterData = (data, filterBy, value) => {
+ // Utiliza el método filter() para filtrar los datos
+ return data.filter((data) => {
+ // Verifica si el campo filterBy existe en el objeto de datos
+ if (data.facts[filterBy]) {
+ // Si existe, compara el valor del campo con el valor deseado, y poner includes para que lo incluya en caso de tener más opciones
+ return data.facts[filterBy].includes(value);
+ }
+ // Si el campo filterBy no existe, devuelve false para excluir este dato del resultado
+ return false;
+ });
};
-export const anotherExample = () => {
- return [];
+// Función para ordenar los datos
+
+export const sortData = (data, sortBy, sortOrder) => {
+ const sortedData = [...data];
+ sortedData.sort((a, b) => {
+ const nombreA = a[sortBy];
+ const nombreB = b[sortBy];
+ if (sortOrder === 'asc') {
+ return nombreA > nombreB ? 1 : -1;
+ } else {
+ return nombreB < nombreA ? -1 : 1;
+ }
+
+ });
+ return sortedData;
+
};
+
+
+
+
+//export const computeStats = (data) => {
+//}
+//esta función debe usar el método reduce.npm run test:oas-js
+//que tiene al menos un parámetro (data) y devuelve un valor computado
+
diff --git a/src/index.html b/src/index.html
index 0151e7de..67b87082 100644
--- a/src/index.html
+++ b/src/index.html
@@ -1,11 +1,78 @@
-
+
- Data Lovers
+ Mujeres en la Ciencia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mujeres que cambiaron el Mundo
+
+
-
+
+ Especialidad:
+
+ --Seleccione--
+ Ciencia de la Computación
+ Matemáticas
+ Composición Musical - Video Juegos
+ Filosofía
+ Física
+ Física de Partículas
+ Astronomía
+ Astrofísica
+ Química
+ Microbiología
+ Bioquímica
+ Actuación
+ Cristalografía
+
+
+ Ordenar:
+
+ --Seleccione--
+ A - Z
+ Z - A
+
+
+ Limpiar
+
+
+
+
+
+
+
+
+
+
+ By: Dana Córdoba & Elisabeth Crisóstomo DEV013 Laboratoria 2024
+
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index c943ecdd..d66cf37a 100644
--- a/src/main.js
+++ b/src/main.js
@@ -1,6 +1,51 @@
-import { example } from './dataFunctions.js';
+import { filterData, sortData } from './dataFunctions.js';
import { renderItems } from './view.js';
import data from './data/dataset.js';
+console.log(filterData(data,"Matemática"));
+const dataCompleta = [...data];
+console.log(dataCompleta);
-console.log(example, renderItems(data), data);
\ No newline at end of file
+const filtros = document.querySelector('#filtros');
+// aqui renderizamos los item sacados del dataset con la funcion que creamos en view y lo pasamos a html
+const contenedor = document.querySelector('#root');
+contenedor.appendChild(renderItems(dataCompleta)); //se pasa la data renderizada a HTML
+const elementos = document.querySelector('#filtro'); //obtener el elemento select filtro
+const ordenarData = document.querySelector('#orden');//obtener el elemento select orden
+
+elementos.addEventListener('change', (event)=>{ //agregar un addEventListener para escuchar el evento change
+ const valorOpciones = event.target.value;
+ const resultadoFiltrado = filterData(dataCompleta, "mainField", valorOpciones);
+ console.log(resultadoFiltrado); //aplicar la función para filtrar y pasar parametros
+ contenedor.innerHTML= " "; //se limpia el HTML para evitar que se acumulen las opciones cuando se filtra varias veces
+ //Se visualiza en pantalla
+ contenedor.appendChild(renderItems(resultadoFiltrado));
+
+});
+
+ordenarData.addEventListener('change', (event)=>{
+ const valorOrdenar = event.target.value;
+ const resultadoOrdenar = sortData(dataCompleta, "name", valorOrdenar);
+ console.log(resultadoOrdenar);
+ contenedor.innerHTML= " ";
+ contenedor.appendChild(renderItems(resultadoOrdenar));
+
+});
+
+const btn = document.querySelector('#boton');
+btn.addEventListener('click', function (){
+ dataCompleta;
+ elementos.value = "";
+ ordenarData.value = "";
+ contenedor.innerHTML = "";
+ contenedor.appendChild(renderItems(dataCompleta));
+
+});
+
+/*
+Traer el boton con un querySelector
+Hacer un evento click para el boton resetear
+Identificar que filtro esta siendo cambiado
+Volver a su valor por defecto
+
+*/
diff --git a/src/style.css b/src/style.css
index e69de29b..a3351579 100644
--- a/src/style.css
+++ b/src/style.css
@@ -0,0 +1,232 @@
+* {
+ margin: 0;
+ box-sizing: border-box;
+}
+
+body{
+ background:#5E7CE2;
+ background-position: center center;
+ background-attachment: fixed;
+ background-size: cover;
+
+}
+
+
+header {
+
+ background-image: url(./Imagenes/29134.jpg);
+ background-attachment: fixed;
+ box-shadow: 0 0 10px black;
+ height: 300px;
+ top: 0%;
+ width: 100%;
+ background-size: cover;
+ transition: 0.7s;
+ padding: 30px 20px;
+ position: absolute;
+
+}
+
+
+header.abajo .texto{
+ color: black;
+}
+
+.texto{
+ text-shadow: 2px 2px 10px black;
+}
+
+h1{
+ text-align: center;
+ font-family: "Poppins", sans-serif;
+ position: sticky;
+ color: rgb(255, 255, 255);
+ font-size: 90px;
+}
+
+ul {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+ margin-top: 10px;
+
+
+}
+
+
+
+.front{
+
+ font-family: "Poppins", sans-serif;
+ text-align: center;
+ color: white ;
+ font-size: 25px;
+ text-shadow: 0 0 1px rgb(0, 0, 0);
+ box-shadow: 2px 3px 3px rgb(0, 0,0, 0.2);
+ padding: 2px;
+ margin-bottom: 12px;
+ font-weight: 500;
+
+}
+
+
+.card{
+ list-style-type: none;
+ padding: 15px;
+ background:#92B4F4;
+ overflow: hidden;
+ box-shadow: 0px 5px 10px rgb(0, 0,0, 0.2);
+ cursor: default;
+ width: 350px;
+ border-radius: 5px;
+ margin: 90px;
+ transition: all 400ms ease;
+
+
+
+}
+
+.card:hover{
+ box-shadow: 15px 15px 20px rgb(0, 0,0, 0.4);
+
+}
+
+
+
+.opción,
+.card{
+
+ padding: 5px;
+ font-family: "Caudex", sans-serif;
+ font-weight: 1000;
+ text-align: left;
+ font-style: italic;
+}
+
+.back{
+ flex-wrap: nowrap;
+ font-weight: normal;
+ font-family: "Harmattan", sans-serif;
+ font-weight: 200;
+ font-style: normal;
+ font-size: 20px;
+ padding: 5px;
+
+
+}
+.card img {
+ width: 80%;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-around;
+ margin: 20px;
+ padding-top: 5px;
+ padding-left: 5px;
+ border-radius: 5%;
+}
+
+.spec,
+.cuadro,
+#filtro,
+#boton{
+ text-shadow: 1px 1px 2px black;
+ font-size: 18px;
+ position: relative;
+ margin-top: 260px;
+ padding-left: 20px;
+
+}
+
+
+.conteiner-cards{
+ padding-right: 85px;
+ align-content: flex-start;
+}
+
+label {
+ color: white;
+ font-family: Georgia, 'Times New Roman', Times, serif;
+ padding-bottom: 10px ;
+ padding-top: 10px;
+ margin: 10px;
+}
+
+
+button {
+ margin:120px;
+
+}
+
+#boton{
+ padding: 2px 5px 2px 2px;
+ margin-left: 10px;
+ font-size: 15px;
+
+
+
+}
+
+footer {
+ color: white;
+ text-decoration-style: solid;
+ padding: 10px;
+ margin: 15px;
+}
+
+@media (max-width: 1978px){
+ body{
+ background:#5E7CE2;
+ }
+ header{
+ text-align: center;
+ font-size: 90px;
+ }
+}
+
+@media (min-width: 375px){
+ body{
+ background:#5E7CE2;
+ }
+ header{
+ text-align: center;
+
+ }
+ h1 {
+ font-size: 50px;
+ }
+}
+/*.opción-back, .opción-front, .opción{
+
+ text-align: auto;
+ color: rgb(52, 41, 15);
+ font-size: 15px;
+ font: 'bold';
+ position: relative;
+ left: 20%;
+ top: 40%;
+ height: 20px;
+}
+
+
+.card {
+
+ list-style-type: none; //para sacar los puntos o viñetas
+ gap: 5px;
+ margin: 2%;
+ text-align: justify;
+ margin:3%;
+ background-color: #85b4aa;
+ font-family: 'Times New Roman', Times, serif;
+ box-shadow: 0px 5px 8px rgba(216, 214, 214, 0.1);
+ width: calc(35% - 5%);
+ border-radius: 2%;
+
+.card img {
+ width: 80%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin: 10px;
+ box-shadow: 0px 5px 8px rgba(0, 0, 0, 0.1);
+ border-radius: 2%;*/
+
diff --git a/src/view.js b/src/view.js
index 686f5ef9..592420a0 100644
--- a/src/view.js
+++ b/src/view.js
@@ -1,5 +1,31 @@
export const renderItems = (data) => {
- console.log(data)
- // Aquí comienza tu código y puedes retornar lo que tu necesites
- return 'example';
+ //console.log(data)
+
+ const list = document.createElement ("ul");
+ // iterar sobre cada objeto de dataset
+ data.forEach(data=> {
+ const itemList = document.createElement('li');
+ const itemContainer = document.createElement('dl');
+ itemList.classList.add("card");
+ itemContainer.innerHTML =
+ `
+
+ ${data.name}
+ Nacionalidad: ${data.facts.birthPlace}
+ Especialidad: ${data.facts.mainField}
+ Fecha de Nacimiento: ${data.facts.yearOfBirth}
+ Fecha de Muerte: ${data.facts.yearOfDeath}
+ Descripción: ${data.description}
+
+ `
+ itemContainer.setAttribute("itemscope", "");
+ itemContainer.setAttribute("itemtype", "Científicas");
+ itemList.appendChild(itemContainer);
+ list.appendChild(itemList);
+
+ });
+ const divContenedorTarjetas = document.querySelector('#root');
+ divContenedorTarjetas.appendChild(list);
+ return list;
+
};
\ No newline at end of file
diff --git a/test/dataFunctions.spec.js b/test/dataFunctions.spec.js
index 72c5eb9d..f00257d9 100644
--- a/test/dataFunctions.spec.js
+++ b/test/dataFunctions.spec.js
@@ -1,18 +1,56 @@
-import { example, anotherExample } from '../src/dataFunctions.js';
+import { filterData } from '../src/dataFunctions.js';
import { data as fakeData } from './data.js';
console.log(fakeData);
-describe('example', () => {
-
- it('returns `example`', () => {
- expect(example()).toBe('example');
+describe('pruebas a la función filtrar', () => {
+ it('Se espera que filterData sea truthy', () => {
+ expect(filterData).toBeTruthy();
});
-});
+ // Con toBeTruthy esperamos que exista nuestro método
-describe('anotherExample', () => {
+});
- it('returns `anotherExample`', () => {
- expect(anotherExample()).toBe('OMG');
+describe('filterData', () => {
+ it('filtrado de data por especialidad', () => {
+ const result = filterData(fakeData, 'mainField', 'Especialidad');
+ expect(result).toHaveLength(13);
+ result.forEach((data) => {
+ expect(data.facts.mainField).toBe('Especialidad');
+ });
});
});
+describe('sortData', () => {
+ it('ordena los datos por nombre en orden ascendente', () => {
+ const result = sortData(fakeData, { sortBy: 'Especialidad', sortOrder: 'asc' });
+ expect(result[0].name).toBe('Actuación');
+ expect(result[1].name).toBe('Astrofísica');
+ expect(result[2].name).toBe('Astronomía');
+ expect(result[3].name).toBe('Bioquímica');
+ expect(result[4].name).toBe('Ciencia de la Computación');
+ expect(result[5].name).toBe('Cristalografía');
+ expect(result[6].name).toBe('Composición Musical, Video Juegos');
+ expect(result[7].name).toBe('Filosofía');
+ expect(result[8].name).toBe('Física');
+ expect(result[9].name).toBe('Física de Partículas');
+ expect(result[10].name).toBe('Matemáticas');
+ expect(result[11].name).toBe('Microbiología');
+ expect(result[12].name).toBe('Química');
+ });
+ it('ordena los datos por nombre en orden Descendente', () => {
+ const result = sortData(fakeData, { sortBy: 'Especialidad ', sortOrder: 'desc' });
+ expect(result[0].name).toBe('Química');
+ expect(result[1].name).toBe('Microbiología');
+ expect(result[2].name).toBe('Matemáticas');
+ expect(result[3].name).toBe('Física de Partículas');
+ expect(result[4].name).toBe('Física');
+ expect(result[5].name).toBe('Filosofía');
+ expect(result[6].name).toBe('Composición Musical, Video Juegos');
+ expect(result[7].name).toBe('Cristalografía');
+ expect(result[8].name).toBe('Ciencia de la Computación');
+ expect(result[9].name).toBe('Bioquímica');
+ expect(result[10].name).toBe('Astronomía');
+ expect(result[11].name).toBe('Astrofísica');
+ expect(result[12].name).toBe('Actuación');
+ });
+});
\ No newline at end of file
diff --git a/thumb.png b/thumb.png
deleted file mode 100644
index 5b40e35d..00000000
Binary files a/thumb.png and /dev/null differ