Skip to content

Actualizando gh-pages #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 45 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
aadbcff
validación numero de tarjeta
carlacentenor Jan 27, 2018
1d4f075
cambios de validacion
carlacentenor Jan 27, 2018
3b00f1f
validación de input
carlacentenor Jan 27, 2018
4ae6e23
añadiendo carpetas
betsyvies Jan 28, 2018
284b887
añadiendo funcionalidad a los inputs
betsyvies Jan 28, 2018
c9459e8
corrigiendo gitignore
betsyvies Jan 28, 2018
3f3294e
Cambios
carlacentenor Jan 28, 2018
a71542d
corrección de las funciones
betsyvies Jan 28, 2018
a7a18ff
validación
carlacentenor Jan 28, 2018
719f3b5
fusion
carlacentenor Jan 28, 2018
0d7f8ca
cambios en validación
carlacentenor Jan 28, 2018
e6ad7b8
eliminación de carpeta duplicada
carlacentenor Jan 28, 2018
8f20523
Merge pull request #7 from carlacentenor/master
carlacentenor Jan 28, 2018
7f6295c
Validación de fecha de vencimiento
Eleyka Jan 28, 2018
d7c0523
añadiendo index.js
betsyvies Jan 29, 2018
a0b67f7
corrección del readme
betsyvies Jan 29, 2018
2a92c07
corrección del readme
betsyvies Jan 29, 2018
0b062db
corrección del readme
betsyvies Jan 29, 2018
8b33346
corrección de funciones
betsyvies Jan 29, 2018
2501060
corrección del readme
betsyvies Jan 29, 2018
7a5d4c1
proyecto terminado
betsyvies Jan 29, 2018
a4d3dbb
proyecto terminado
betsyvies Jan 29, 2018
8ab7880
proyecto final
betsyvies Jan 29, 2018
3bb68a7
cambios de funciones
carlacentenor Feb 1, 2018
9720e62
función que activa y desactiva el boton pay
carlacentenor Feb 1, 2018
c0f6696
titulo de demo
carlacentenor Feb 1, 2018
2dbdab5
Merge pull request #8 from carlacentenor/master
carlacentenor Feb 1, 2018
44d11c4
Modificando README
Eleyka Feb 1, 2018
51a6993
README TERMINADO
Eleyka Feb 1, 2018
a04ca19
trabajo terminado
betsyvies Feb 1, 2018
91622cb
Instalando Mocha
Eleyka Feb 1, 2018
8eb7354
últimos cambios en index.html
carlacentenor Feb 2, 2018
b7ef771
Merge branch 'master' of https://github.com/betsyvies/card-validator …
carlacentenor Feb 2, 2018
7fbd99a
Levantando Observaciones del README
Eleyka Feb 2, 2018
8f481a9
README Terminado
Eleyka Feb 2, 2018
8ba0c18
Código mejorado de fecha
Eleyka Feb 3, 2018
0b02183
Observaciones levantadas
Eleyka Feb 3, 2018
b539334
Proyecto terminado
Eleyka Feb 3, 2018
52bfdbd
Proyecto terminado
Eleyka Feb 3, 2018
fb209a8
Merge branch 'master' of https://github.com/betsyvies/card-validator …
Eleyka Feb 3, 2018
9dfc59c
Actualziando master
Eleyka Feb 3, 2018
076a6ef
corrección de un comentario
betsyvies Feb 4, 2018
1508289
validación para las tarjetas american express y discover
betsyvies Feb 4, 2018
f2a2de9
proyecto terminado
betsyvies Feb 5, 2018
d481cff
proyecto terminado
betsyvies Feb 5, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"parserOptions": {
"ecmaVersion": 6
},
"rules": {
"keyword-spacing": 1,
"space-before-function-paren": [1, "never"],
"eqeqeq": 1,
"space-infix-ops": 1,
"comma-spacing": 1,
"brace-style": 1,
"no-multiple-empty-lines": 1,
"camelcase": 1,
"func-call-spacing": 1,
"key-spacing": 1,
"semi": 1,
"no-floating-decimal": 1,
"no-multi-spaces": 1,
"object-property-newline": 1,
"padded-blocks": [1, "never"],
"space-before-blocks": 1,
"space-in-parens": 1,
"spaced-comment": 1,
"quotes": [1, "single"],
"id-length": [1, { "exceptions": ["i", "j", "x"] }],
"indent": [1, 2],
"no-array-constructor": 1
}
}
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Dependency directories
node_modules/




188 changes: 140 additions & 48 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,56 +1,148 @@
# Valida datos de tarjetas de crédito
# 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_
**Validador de datos de tarjetas de crédito** es una librería que permite `validar una tarjeta de crédito`
(usando algoritmo de Luhn), `fecha de vencimiento`, `código de verificación (cvv)` y `nombre completo` que aparece en la tarjeta.

***
## Plan de trabajo

#### 1. Decisión del reto a desarrollar.

#### 2. Se realiza un `Fork` al repositorio original

El plugin debe recibir una referencia a un elemento del DOM que contenga
`<input>`s con los siguientes nombres (atributo `name`):

* `cn` (Card Number): El número de la tarjeta de crédito
* `exp` (Expiry Date): Fecha de expiración
* `cvv` (Card Verification Value): Código de validación de 3 dígitos
* `name`: Nombre completo como aparece en la tarjeta

## Ejemplo

```html
<form>
<div class="form-group">
<label for="cn">Número de tarjeta</label>
<input id="cn" name="cn" />
</div>
<div class="form-group">
<label for="exp">Fecha de vencimiento</label>
<input id="exp" name="exp" />
</div>
<div class="form-group">
<label for="cvv">CVV</label>
<input id="cvv" name="cvv" />
</div>
<div class="form-group">
<label for="name">Nombre completo</label>
<input id="name" name="name" />
</div>
<input type="submit" value="Pagar" />
</form>
```
https://github.com/Laboratoria-learning/card-validator
```

#### 3.Planificación

Se planifico las actividades a desarrollar mediante issues para identificar los problemas y además asignar tareas a los colaboradores de dicho proyecto con el fin de tener una mejor organización.
![](public/assets/images/issues_open.PNG)
![](public/assets/images/issues_closed.PNG)

#### 4. Recursos

##### 4.1. Babel
Herramienta para poder transformar nuestro código JS de ultima generación.

```js
const form = document.querySelector('form');

form.addEventListener('submit', (e) => {
e.preventDefault();
if (validateCardDetails(form)) {
console.log('datos válido... enviar...');
} else {
console.log('datos inválidos');
}
});
##### 4.2. Visual Studio Code
Editor de código fuente.

##### 4.3. Jquery
Librería de JavaScript de código abierto que permite agregar interactividad y efectos visuales.

##### 4.4. Bootstrap
Framework que permite facilitar el desarrollo.

##### 4.5. Google Fonts
Directorio interactivo que permite añadir tipografias a la web.

#### 5. Desarrollo de la librería
* Inicializando proyecto con `npm init` y `git init`.
* Instalación de las dependencias package.json y Babel.
* Estructuración de carpetas
* Creación `.gitignore`(para ignorar carpetas).

```
# Dependency directories
node_modules/
```

A la hora de hacer las validaciones, la librería debería de añadir la clase
`.error` a los `<input>`s que no pasen la validación, o la clase `.success`
en caso de que sí pase.
* Creación del `index.html`.
* Maquetación para el ejemplo principal

![](public/assets/images/maquetacion.PNG)
***

* Creación de los issues.
* Implementación de la funcionalidad esencial.

* Validación de la tarjeta de crédito (usando algoritmo de Luhn).
* Objetivos:
* Definir una función que solo permita el ingreso de solo números.
```js
const onlyNumberCard = (num) => {...};
```
* Definir una función que permita ingresar solo 16 caracteres.
```js
const maxLengthCard = (num) => {...}
```
* Definir una función que permita ver el tipo de tarjeta de crédito (Visa, Mastercard).
```js
const validateTypeCard = (num, images) => {...};
```
* Definir una función que permita validar el número de tarjeta de crédito según Luhn.
```js
const validateNumberCard = (num, input, images) => {...};
```
* Validación de la fecha de vencimiento.
* Objetivos:
* Definir una función que permita solo números retroceso y enter.
```js
const onlyNumber = (evt) => {...};
```
* Definir una función que permita verificar que la fecha escrita sea corresta según el formato MMYY.
```js
const validateDate = (date, input, sentence) => {...};
```
* Validación del código de verificación (cvv).
* Objetivos:
* Definir una función que acepte solo 3 dígitos para el código de seguridad.
```js
const validateCode = (cvv, input) => {...};
```
* Validación del nombre completo que aparece en la tarjeta.
* Objetivos:
* Definir una función que permita validar el nombre.
```js
const validateName = (name, input) => {...};
```

* Implementación de la funcionalidad opcional.
* Validación de todos los campos y activación del button (Pay)
* Objetivos:
* Definir una función que permita validar todos los campos (inputs) y active el button.
```js
const areAllValidationsPassing = () => {}
```
* Definir una función que permita activar y desactivar el button.
```js
const formStateEvent = () => {...};

const inactiveButtonPay = () => {...};

```
***
## Instalación...!!!

1. Primero deberás **clonar** nuestro repositorio de prueba.
```bash
https://github.com/betsyvies/card-validator
```
2. Para poder hacer uso de la librería tiene que trabajar con JQUERY.
```html
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
```
3. Copia la carpeta js en tu proyecto y enlaza en tu index los archivos `app.js` y `index.js` de la siguiente manera.
```html
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript" src="js/app.js"></script>
```

4. Cambia la referencia de los `<input>`s con los siguientes `id`s.
* `cn` (Card Number): El número de la tarjeta de crédito.
* `exp` (Expiry Date): Fecha de expiración.
* `cvv` (Card Verification Value): Código de validación de 3 dígitos.
* `name`: Nombre completo como aparece en la tarjeta.
***
## Funcionalidad

![GIF](public/assets/images/funcionalidad.gif)

***

## Colaboradores

* Carla centeno
* Betsy Vidal
* Eleyne Ramírez
Loading