Giter Club home page Giter Club logo

card-validator's Introduction

ValidateJS

Un validador de datos de tarjetas de crédito

  • Track: Common Core
  • Curso: JS Deep Dive: Crea tu propia librería usando JavaScript
  • Unidad: Producto final
  • Integrantes: Yosseline Apcho Huaman, Tahirih Jaliri Pancca.

Objetivo:

  • Construir una librería (library) que facilite la validación de datos tarjetas de crédito, mediante el algoritmo de Luhn.

Archivos principales incluídos en el repositorio:

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


Sobre la librería:

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

Algoritmo de Luhn:

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:

  1. Se multiplican los dígitos impares por 2.
  2. Si del producto resultan dos dígitos, sus cifras se suman para obtener un único término.
  3. 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.

Proceso (PLANIFICACIÓN):

Día 1:

MIÉRCOLES: 24/01/2017

  • Se formó el equipo, conformado por: Yosseline Apcho Huaman Tahirih Jaliri Pancca

Día 2:

JUEVES: 25/01/2017

  • Se seleccionó el reto: Por unanimidad, el reto seleccionado fue: 'Validación de tarjetas de crédito'.

Día 3:

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.

Día 4:

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.

Día 5:

DOMINGO: 28/01/2017

  • Se continuaron con las mejoras del README, se crearon y/o modificaron nuevos archivos necesarios.

Día 6:

LUNES: 29/01/2017

  • Se comenzó a dar funcionalidad a la librería.

Día 7:

MARTES: 30/01/2017

  • Se continuó con la aplicación de la librería y el maquetado del archivo example.html

Día 8 y 9:

MIÉRCOLES: 31/01/2017 JUEVES: 01/01/2017

  • Se dieron los últimos detalles al proyecto.

Milestone:

Milestone


Snippets:


// 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);


Herramientas utilizadas:

  • EC6.

  • HTML5.

  • CSS3.

  • Materialize.

  • jQuery.

  • Babel.

  • Node.js

card-validator's People

Contributors

ctahirih avatar yosseline avatar lupomontero avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.