Editor de memes

⚙️ Consigna

En este proyecto vas a estar realizando un editor para generar memes. Crearás una aplicación con la que podrás manipular el texto y la imagen de tu meme y usarás JavaScript para modificar dinámicamente su contenido y sus propiedades. Cuando quedes conforme, podrás descargar tu meme para usarlo o compartilo donde quieras.


👀 Ejemplo

Puedes ver un ejemplo funcional del proyecto siguiendo este link.


💬 Comentarios

Este proyecto cuenta con muchos más requisitos y funcionalidades que el proyecto anterior, por lo que implica más tiempo de desarrollo. Por lo tanto, es mejor que vayas haciéndolo de a poco a medida que vayas viendo los temas correspondientes, siguiendo las instrucciones de tu docente. De este modo, al finalizar el módulo, vas a tener tiempo de sobra para terminar de integrar todo y pulir los detalles que te hayan quedado faltantes. Es especialmente recomendable empezar a armar el diseño desde las primeras clases (ya sabés todo lo necesario para hacerlo), así podés enfocarte en agregar las funcionalidades en clase.

👍 Criterios de aceptación

Los requisitos mínimos para que el proyecto sea considerado para la entrega son:

  • Debe respetar el diseño general dado
  • Debe ser responsive
  • Debe respetar las funcionalidades especificadas
  • Debe respectar los criterios de accesibilidad básicos

🎛 Funcionalidades

  • Meme
  • Alternar entre paneles
  • Abrir y cerrar panel
  • Descargar imagen
  • Modo claro y modo oscuro

Imagen

  • Agregar imagen con url
  • Cambiar color de fondo
  • Cambiar modo de mezcla de fondo
    • Aclarar
    • Oscurecer
    • Diferencia
    • Luminosidad
    • Multiplicar
  • Cambiar filtros
ETIQUETAPROPIEDADMÍNIMOMÁXIMOINTERVALOINICIAL
Brillobrightness010.11
Opacidadopacity010.11
Contrastecontrast100%1000%1%100%
Desenfoqueblur0px10px0.1px0px
Escala de grisesgrayscale0%100%1%0%
Sepiasepia0%100%1%0%
Huehue-rotation0deg359deg1deg0deg
Saturaciónsaturation100%1000%10%100%
Huehue-rotation0deg359deg1deg0deg
Negativoinvert010.11
  • Restablecer filtros

Texto

  • Editar texto superior
  • Remover texto superior
  • Editar texto inferior
  • Remover texto inferior
  • Cambiar familia de fuente
  • Cambiar tamaño de fuente
  • Cambiar alineación
  • Cambiar color de texto
  • Cambiar color de fondo de texto
  • Fondo transparente
  • Cambiar padding de texto
  • Cambiar alto de línea de texto

♿️ Accesibilidad

Básica

  • Los colores tienen un contraste adecuado
  • Las imágenes tiene el atributo alt que corresponde
  • La página tiene la información meta correspondiente
  • La página tiene una semántica correcta
  • Los íconos y elementos que no presentan texto agregan la información correspondiente por otros medios (etiquetas aria, texto oculto)
  • Los íconos y elementos que no necesitan ser anunciados por un lector de pantalla tienen la etiqueta aria correspondiente

Avanzada

  • La página puede ser navegada con el teclado correctamente
  • Siempre hay un foco visible
    • Cuando un elemento está oculto (modales, carrito, productos), no debe poder moverse el foco a elementos del mismo
    • Cuando se abre el panel, el foco salta al botón de cierre del mismo
    • Cuando se cierra el panel, el foco salta al botón de apertura del mismo

📝 Criterios de evaluación

  • Menos de 6 (No aprobado)
  • 6 (Aprobado)
    • Respeta la consigna
    • Estructura correcta de documento HTML
    • Respeta el diseño dado
    • Respeta el funcionamiento
    • Responsive funciona correctamente
  • 7 (Bueno)
    • Buena estructura de proyecto
    • Código bien indentado
    • Comentarios que permiten mejorar la legibilidad del código
  • 8 (Muy bueno)
    • Uso correcto de etiquetas semánticas
    • Buenos nombres de clases
    • Buenos nombres de funciones y variables
  • 9 (Muy bueno)
    • Reutilización de estilos
    • Funciones pequeñas
  • 10 (Excelente)
    • Cumple con las condiciones de accesibilidad avanzada
    • Reutilización de lógica / funciones
    • Commits con mensajes adecuados

🧰 Recursos