- Track: Common Core
- Curso: JS Deep Dive: Crea tu propia librería usando JavaScript
- Unidad: Producto final
- Integrantes: Yosseline Apcho Huaman, Tahirih Jaliri Pancca.
- Construir una librería (library) que facilite la validación de datos tarjetas de crédito, mediante el algoritmo de Luhn.
-
README.md
-
index.js: Aquí se ubica la funcionalidad de la librería.
-
index.html: Archivo html que explica el uso de la librería.
-
example.html: Página web demo.
-
package.json.
-
.eslintrc.
-
.gitignore: para ignorar node_modules u otras carpetas que no deban incluirse en control de versiones (git).
- Recibe referencias a los inputs que contengan:
- La librería al solo recibir valores, y retornar true o false según sea la validación, hacen que la libería sea adaptable y pueda trabajar con otras librerías como Jquery por ejemplo.
cn
(Card Number): El número de la tarjeta de crédito.cvv
(Card Verification Value): El código de validación de 3 o 4 dígitos, según sea el caso.exp
(Expiry Date): La fecha de expiración.name
: Nombre completo como aparece en la tarjeta.
La corazón de la librería se basa en el algoritmo de Luhn, este algoritmo es una fórmula de suma de verificación, utilizada para validar una diversidad de números de identificación; como números de tarjetas de crédito, números IMEI, etc. El Algoritmo Luhn se basa en el concepto de módulo 10, pero lo modifica para darle robustez. La idea se basa en hacer una suma ponderada multiplicando dígitos adyacentes por constantes distintas (en este caso 1 o 2) para detectar el intercambio de éstos. Los pasos son los siguientes:
- Se multiplican los dígitos impares por 2.
- Si del producto resultan dos dígitos, sus cifras se suman para obtener un único término.
- Se suman todos los términos pares e impares. La secuencia será correcta si la suma es un múltiplo de 10, es decir, su resto es cero.
MIÉRCOLES: 24/01/2017
- Se formó el equipo, conformado por: Yosseline Apcho Huaman Tahirih Jaliri Pancca
JUEVES: 25/01/2017
- Se seleccionó el reto: Por unanimidad, el reto seleccionado fue: 'Validación de tarjetas de crédito'.
VIERNES: 26/01/2017
- Se realizó la repartición equitativa del proyecto. Acordando que ambas integrantes indagarián más sobre las herramientas nuevas que iban a usar.
SÁBADO: 27/01/2017
-
Se realizó el fork del repositorio modelo.
-
Se realizó una 'lluvia de ideas' para el proyecto.
-
Se procedió a iniciar el proyecto, creando una estructura básica de carpetas, junto con la primera versión de README.
DOMINGO: 28/01/2017
- Se continuaron con las mejoras del README, se crearon y/o modificaron nuevos archivos necesarios.
LUNES: 29/01/2017
- Se comenzó a dar funcionalidad a la librería.
MARTES: 30/01/2017
- Se continuó con la aplicación de la librería y el maquetado del archivo example.html
MIÉRCOLES: 31/01/2017 JUEVES: 01/01/2017
- Se dieron los últimos detalles al proyecto.
// Para validar campos
libraryValidateCard.isValidCreditCard(numCard); // Número de tarjeta
libraryValidateCard.validateCodeVerification(numCvv); // Número cvv
libraryValidateCard.validateName(nameUser); // Nombre del usuario
libraryValidateCard.expireDate(dateCard); // fecha
// Para enviar data y Validar:
libraryValidateCard.getValue(numCard, numcvv, nameUser, dateCard);
-
EC6.
-
HTML5.
-
CSS3.
-
Materialize.
-
jQuery.
-
Babel.
-
Node.js