Skip to content

Proyecto 3 - En este proyecto el usuario puede encontrar información de la serie, sobre los personajes y familias mediante secciones, buscador o filtros de búsqueda.

Notifications You must be signed in to change notification settings

KarlaMacedo/data-lovers

 
 

Repository files navigation

Data Lovers - GOT

Índice


1. Preámbulo

Según Forbes, el 90% de la data que existe hoy ha sido creada durante los últimos dos años. Cada día generamos 2.5 millones de terabytes de datos, una cifra sin precedentes.

No obstante, los datos por sí mismos son de poca utilidad. Para que esas grandes cantidades de datos se conviertan en información fácil de leer para los usuarios, necesitamos entender y procesar estos datos. Una manera simple de hacerlo es creando interfaces y visualizaciones.

Este proyecto es parte del proceso de aprendizaje en el bootcamp de Laboratoria, este proyetco es el segundo realizado.

2. Resumen del proyecto

El objetivo principal de este proyecto fue aprender a diseñar y construir una interfaz web donde se pueda visualizar y manipular data, entendiendo lo que el usuario necesita.

Como entregable final se requirió una página web que permitiera visualizar la data, filtrarla, ordenarla y proporcionara un cálculo con ella.

3. Consideraciones generales

  • Este proyecto se resolvió en duplas.
  • El rango de tiempo estimado para completar el proyecto fue de 3 a 4 Sprints y se completó en 4.
  • El proyecto se entregó en GitHub con la interfaz desplegada en GitHub Pages.

4. Definición del producto

Nuestro proyecto es una página dirigida a usuarios que son seguidores, fans o conocedores sobre la serie de Game of Thrones, de habla inglés.

GOT

Los principales objetivos de nuestros usuarios al utilizar nuestra página es recordar y obtener información sobre cada personaje de la serie, las casas principales de la serie, obtener información general de la serie y tener un sitio en el cual pueden vincularse a sitios oficiales sobre ésta.

Por ello, nuestra página presenta:

  • Imágenes alusivas a la serie que facilitan obtener información de los personajes.
  • Buscador de personajes por nombre, título o familia.
  • Sección con todas las tarjetas de los personajes que contienen información detallada de cada uno.
  • Opción a ordenar alfabéticamente y al reverso a los personajes, para facilitar la búsqueda.
  • Opción de filtrar las tarjetas por las principales casas, para facilitar la búsqueda.
  • Sección de tarjetas de las casas principales de la serie con sus árboles genealógicos.
  • Sección de información general de la serie y detalles sobre las temporadas.
  • Links oficiales a redes sociales, páginas oficiales y podcast.

5. Organización del equipo

Como herramienta de organización utilizamos Trello, en donde hicimos toda la planeación de trabajo de cada sprint que duró este proyecto (4):

Trello

6. Historias de usuario

Para las historias de usuario nos basamos principalmente en las necesidades compartidas por Laboratoria para los usuarios y las complementamos con los usuarios a los que consultamos o de los que recibimos feedback.

Historias de usuarios

7. Diseño de la interfaz de usuario

Prototipo de baja fidelidad

El prototipo de baja fidelidad fue elaborado en Canva.

Prototipo baja fidelidad

Prototipo de alta fidelidad

El prototipo de alta fidelidad fue elaborado en Figma.

Prototipo baja fidelidad

Testeos de usabilidad

Durante el desarrollo de estre proyecto se hicieron tests de usabilidad con distintos usuarios los cuales nos brindaron feedback sobre el diseño de nuestra página, en donde se pudo corregir:

  • Colocar un scroll en el slider de imágenes para facilitar su manipulación
  • Hacer interactivas las tarjetas de personajes
  • Hacer interactivas los botones de la página
  • Poner audio a la página
  • Agregar un fondo a la página
  • Recibir un alert si no se busca nada o si se busca algo que no se encuentra en la datalist
  • Agregar más información a la página sobre la serie y no sólo usar la data

Por todo lo anterior, su buscó hacer las mejoras en nuestra página, quedándonos como prototipo final lo siguiente:

prototipo-actualizado

Y ya implementado todo en nuestra página, lo siguiente:

página-final

8. Checklist para la aceptación del proyecto

  • [✓] Usa VanillaJS.
  • [✓] Pasa linter (npm run pretest)
  • [✓] Pasa tests (npm test)
  • [✓] Pruebas unitarias cubren un mínimo del 70% de statements, functions y lines y branches.
  • [✓] Incluye Definición del producto clara e informativa en README.md.
  • [✓] Incluye historias de usuario en README.md.
  • [✓] Incluye sketch de la solución (prototipo de baja fidelidad) en README.md.
  • [✓] Incluye Diseño de la Interfaz de Usuario (prototipo de alta fidelidad) en README.md.
  • [✓] Incluye link a Trello en README.md.
  • [✓] Incluye el listado de problemas que detectaste a través de tests de usabilidad en el README.md.
  • [✓] UI: Muestra lista y/o tabla con datos y/o indicadores.
  • [✓] UI: Permite ordenar data por uno o más campos (asc y desc).
  • [✓] UI: Permite filtrar data en base a una condición.
  • [✓] UI: Es responsive.

9. Objetivos de aprendizaje

HTML

CSS

Web APIs

JavaScript

  • [✓] 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

  • [✓] 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

10. Consideraciones técnicas

La lógica del proyecto se implementó completamente en JavaScript (ES6), HTML y CSS. NO estuvo permitido usar librerías o frameworks, solo vanilla JavaScript.

El boilerplate proporcionado contenía una estructura de archivos como punto de partida así como toda la configuración de dependencias:

.
├── EXTRA.md
├── README.md
├── package.json
├── src
|  ├── data (según con qué data trabajes)
|  |  ├── lol
|  |  |  ├── lol.js
|  |  |  ├── lol.json
|  |  |  └── README.md
|  |  ├── pokemon
|  |  |  ├── pokemon.js
|  |  |  ├── pokemon.json
|  |  |  └── README.md
|  |  └── rickandmorty
|  |  |  ├── rickandmorty.js
|  |  |  ├── rickandmorty.json
|  |  |  └── README.md
|  |  └── athletes
|  |  |  ├── athletes.js
|  |  |  ├── athletes.json
|  |  |  └── README.md
|  |  └── ghibli
|  |  |  ├── ghibli.js
|  |  |  ├── ghibli.json
|  |  |  └── README.md
|  ├── data.js
|  ├── index.html
|  ├── main.js
|  └── style.css
└── test
   └── data.spec.js

directory: 7 file: 20

src/index.html

Página que se muestra al usuario. También indica qué scripts se usaron y se unió todo lo que se hizo.

src/main.js

Código para mostrar los datos en la pantalla (interacción con el DOM, creación de nodos, registro de manejadores de eventos).

src/data.js

Toda la funcionalidad que corresponde a obtener, procesar y manipular datos. Funciones puras e independientes del DOM. Estas funciones son usadas desde el archivo src/main.js, al cargar la página, y cada vez que el usuario interactúa (click, filtrado, ordenado, ...).

src/data

En esta carpeta están los datos de las diferentes fuentes. Hay una carpeta por cada fuente, y dentro de cada carpeta dos archivos: uno con la extensión .js y otro .json. Ambos archivos contienen la misma data.

test/data.spec.js

Pruebas unitarias de las funciones implementadas en el archivo data.js.

About

Proyecto 3 - En este proyecto el usuario puede encontrar información de la serie, sobre los personajes y familias mediante secciones, buscador o filtros de búsqueda.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.6%
  • CSS 1.5%
  • HTML 0.9%