Skip to content

🔥 League of Legends 🔥 : It is a video game of the multiplayer online battle arena genre (MOBA) and electronic sport which was developed by Riot Games for Microsoft Windows, OS X and for digital consoles,

Notifications You must be signed in to change notification settings

marianagdeveloper/LIM016-data-lovers

 
 

Repository files navigation

LEAGUE OF LEGENDS M&M

image

Índice


1. Resumen del proyecto

En este proyecto se construyó una página web para visualizar un conjunto (set) de datos adecuado a lo que el usuario necesita.

Como entregable final se tiene una página web que permite visualizar la data, filtrarla, ordenarla y compararla.

Los datos seleccionados fueron:

2. 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

CSS

  • Uso de selectores de CSS
  • Modelo de caja (box model): borde, margen, padding
  • Uso de flexbox en CSS

Web APIs

  • Uso de selectores del DOM
  • Manejo de eventos del DOM (listeners, propagación, delegación)
  • Manipulación dinámica del DOM

JavaScript

  • Diferenciar entre tipos de datos primitivos y no primitivos
  • Arrays (arreglos)
  • Objetos (key, value)
  • Variables (declaración, asignación, ámbito)
  • Uso de condicionales (if-else, switch, operador ternario, lógica booleana)
  • Uso de bucles/ciclos (while, for, for..of)
  • Funciones (params, args, return)
  • Pruebas unitarias (unit tests)
  • Módulos de ECMAScript (ES Modules)
  • 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
  • GitHub: Colaboración en Github (branches | forks | pull requests | code review | tags)

UX (User eXperience)

  • Diseñar la aplicación pensando en y entendiendo al usuario
  • Crear prototipos para obtener feedback e iterar
  • Aplicar los principios de diseño visual (contraste, alineación, jerarquía)
  • Planear y ejecutar tests de usabilidad

3. Consideraciones generales

  • Proyecto resuelto en duplas.
  • El proyecto se encuentra en GitHub (commit/push) y la interfaz está desplegada usando GitHub Pages.
  • Tiempo para completarlo: 4 semanas.

4. Historias de usuario

Para el desarrollo del proyecto se definieron 04 historias de usuarios:

image

Diseño de la Interfaz de Usuario

Prototipo de alta fidelidad

La Interfaz de Usuario (UI por sus siglas en inglés - User Interface) se desarrolló con la herramienta de diseño visual Figma.

Vista Inicial (Home)

figma_home

Vista Lista (Campeones)

figma_champions

Vista Detalle (Campeón)

figma_modal

Vista Ranking

figma_ranking

Vista VS.

figma_vs

Testeos de usabilidad / Feedback

Durante el reto realizamos actividades de Feedback con nuestras compañeras y coachs, lo que nos llevó a iterar nuestros diseños. Por ejemplo, a través del feedback, encontramos que los gráficos de mayor tamaño tienen una mejor presentación en formato vertical, por lo que se adecuó el gráfico de ranking a éste formato.

image

Implementación de la Interfaz de Usuario (HTML/CSS/JS)

  1. Mostrar la data en una interfaz: puede ser un card, una tabla, una lista, etc. image

  2. Permitir al usuario interactuar para obtener la infomación que necesita. image

  3. Ser responsive, es decir, debe visualizarse sin problemas desde distintos tamaños de pantallas: móviles, tablets y desktops. Responsive (Tablet): image

Responsive (Smartphone): image

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.

Tus pruebas unitarias deben dar una cobertura del 70% de statements (sentencias), functions (funciones), lines (líneas), y branches (ramas) del archivo src/data.js que contenga tus funciones y está detallado en la sección de Consideraciones técnicas.

5. Hacker edition

Features/características extras:

  • Consumo dinámico de la data de forma dinámica, cargando un archivo JSON por medio de fetch.
  • Se agregaron visualizaciones gráficas con la librería de Google Charts.
  • 100% Coverage

6. Consideraciones técnicas

La lógica del proyecto está implementada completamente en JavaScript (ES6), HTML y CSS.

Contenido de referencia

Página principal de League of Legends

image

Organización del Trabajo

7. Checklist

  • 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 Diseño de la Interfaz de Usuario (prototipo de alta fidelidad) en 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.

About

🔥 League of Legends 🔥 : It is a video game of the multiplayer online battle arena genre (MOBA) and electronic sport which was developed by Riot Games for Microsoft Windows, OS X and for digital consoles,

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 95.7%
  • CSS 2.9%
  • HTML 1.4%