Skip to content

MariCornelio/DEV003-card-validation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Validar Gift Card 🎁

Este proyecto es una interfaz para validar la Gift Card de un usuario para la empresa llamada DREAM HIGH la cual tiene como objetivo relizar ventas por internet.

Esta sección solamente está enfocada para los usuarios que quieren hacer la compra a través de su Gift Card y necesitan colocar sus datos y validar la tarjeta.

Esta interfaz permitirá que al ingresar los datos se muestre en tiempo real el llenado de datos en una tarjeta visual, además permitirá ocultar todos los dígitos del número de la tarjeta a excepción de los últimos cuatro dígitos y para la validación de la tarjeta se uso el algoritmo de Luhn.

Puedes ver la interfaz del sitio web en el siguiente enlace:

👉 DREAM HIGH > Validar Gift card


Contenido


Prototipo y Diagrama de flujo

Prototipo


Objetivos Principales

1. Validación de la tarjeta

En esta interfaz se ha usado el algoritmo de Luhn, también llamado algoritmo de módulo 10, es un método de suma de verificación, se utiliza para validar números de identificación; tales como el IMEI de los celulares, tarjetas de crédito, etc.

Este algoritmo es simple. Obtenemos la reversa del número a verificar (que solamente contiene dígitos [0-9]); a todos los números que ocupan una posición par se les debe multiplicar por dos, si este número es mayor o igual a 10, debemos sumar los dígitos del resultado; el número a verificar será válido si la suma de sus dígitos finales es un múltiplo de 10.

Por lo tanto con este algoritmo veremos si el número de la Gift Card es válida o no.

2. Enmascaramiento de Gift Card

En esta interfaz se muestra en tiempo real una tarjeta visual en la cual por razones de privacidad se ha pensado en el enmascaramiento de dígitos del número de la tarjeta, dejando los últimos cuatro dígitos intactos, por ejemplo:

Código de Gift card Enmascaramiento
9876 5456 7123 5678 #### #### #### 5678
2934 5678 8976 1234 #### #### #### 1234

Diseño y Funcionalidad

El diseño de está interfaz fue pensada para que el usuario navegue de manera intuitiva y la experiencia con la interfaz sea agradable, ya que, se incorporó animaciones sutiles y personalizadas de acuerdo a la empresa en cuestíon.

Este proyecto está pensado para que el usuario interactúe de manera fácil y segura con el llenado de datos y validación de tarjeta, ya que se pensó en los distintos problemas que puede generar el llenado de datos es por eso que se centró en mejorar la funcionalidad de la interfaz de la siguiente manera:

La solución a estos problemas se dará de manera visual ya que aparecerán mensajes de error y borde rojo, si llena de una manera errónea, por otra parte, si lo ingresado es válido tendra un borde verde.

Además el botón para validar si la tarjeta es válida o no, no se activará hasta que todos los campos sean válidos .

Si el botón se habilita, una vez presionado hará una simulación de espera de validación y luego mostrará una ventana modal la cual nos dirá si mi tarjeta es válida o no, si es válida mostrará tambien una simulacion de saldo en la tarjeta y si no dirá que vuelva a ingresar o que realice la compra con otro método de pago.

Finalmente para cualquiera que sea el caso de validez el usuario cerrará la ventana modal la cual tiene solo un botón de aceptar y con esto queda concluida la interacción que pueda tener el usuario con nuestra interfaz.


Objetivos de aprendizaje

En este proyecto se ha usado los fundamentos de JavaScript, incluyendo conceptos como variables, condicionales, y funciones, así como eventos y manipulación del DOM, fundamentos de HTML y CSS.

HTML

  • Uso de HTML semántico

CSS

  • Uso de selectores de CSS

  • Modelo de caja (box model): borde, margen, padding

Web APIs

  • Uso de selectores del DOM

  • Manejo de eventos del DOM (listeners, propagación, delegación)

  • Manipulación dinámica del DOM

JavaScript

  • Tipos de datos primitivos

  • Strings (cadenas de caracteres)

  • 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)

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)

  • GitHub: Creación de cuenta y repos, configuración de llaves SSH

  • GitHub: Despliegue con GitHub Pages

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


Resultado Final

Puedes ver la interfaz del sitio web en el siguiente enlace:

👉 DREAM HIGH > Validar Gift card

validar tarjeta

About

Este proyecto es una interfaz para validar la Gift Card de un usuario, el cual realizará compras en la empresa DREAM HIGH

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 42.7%
  • JavaScript 38.3%
  • HTML 19.0%