En esta segunda versión (18/06/18) se mantuvo el diseño elemental, con el fin de evitar fatiga visual.
- A nivel tecnico:
Consta de 2 inputs (entradas) para la frase a codificar/decodificar, y la llave (numero de espacios a recorrer).
Posteriormente se encuentran dos botones: "codificar", que realiza la codificacion haciendo el recorrido hacia la derecha, y "decodificar" que hace lo inverso, recorre hacia la izquierda para mostrar la frase original. Todo mediante la conversion de la frase a codigo ASCII, la aplicacion de la ecuacion dada por Michelle, y finalmente la conversion de ASCII a alfanumerico. "Codificar" y "Decodificar" trabajan mediante funciones, integradas en el objeto window.cipher, todo en el archivo cipher.js. Este archivo unicamente contiene la funcionalidad, el DOM se mantiene en el archivo index.js, que tambien obtiene los valores de los argumentos, y los envia mediante el llamado de las funciones encode y decode del cipher. Ambos archivos son enlazados al HTML por la etiqueta script.
Finalmente, en el recuadro final sale el mensaje codificado/decodificado (dependiendo del boton elegido), impreso con un document.getElementById en el index.js.
- A nivel interfaz:
Se utilizaron colores basicos (blanco, negro, purpura) para evitar molestias visuales, y hacerlo lo mas sencillo posible. La disposicion de los elementos se baso en querer hacer un producto intuitivo y de empleo facil para los usuarios. Se intentó hacer la versión web, que dispone de los elementos en dos columnas: de un lado está el cifrado César, y del otro hay una breve explicación del mismo; y tambien la versión móvil, que dispone de todos los elementos en una columna centrada.
Se utilizaron dos tipografías de Google Fonts: Pangolin para el titlulo, y Muli para el cuerpo del documento.
El producto está pensado en cualquier usuario que tenga el objetivo de codificar algun mensaje, por seguridad o diversión.
Para poder usar esta herramienta de cifrado únicamente requieres de un dispositivo (computadora, smartphone, tablet) con conexión a internet, y un navegador web (Chrome, Firefox, Internet Explorer, etc.).
Debes acceder a esta liga y sigue las sencillas instrucciones que encontraras en la pagina.
Si quieres contribuir a la mejora de este proyecto, es necesario que cumplas ciertos requerimientos:
- Tener un editor de texto, como Atom, Visual Studio Code, o el de tu preferencia.
- Para ejecutar los comandos a continuación necesitarás una UNIX Shell, que es un programa que interpreta líneas de comando (command-line interpreter) así como tener git instalado. Si usas un sistema operativo "UNIX-like", como GNU/Linux o MacOS, ya tienes una shell (terminal) instalada por defecto (y probablemente git también). Si usas Windows puedes usar Git bash.
- Tener instalado Node.js para poder ejecutar las pruebas unitarias.
Teniendo listo lo anterior, debes seguir estos pasos:
- Primero, debes forkear este repositorio.
- Clona tu repositorio a tu computadora (copia local).
- Instala las dependencias del proyecto con el comando npm install en tu terminal.
- Si todo ha ido bien, deberías poder ejecutar las pruebas unitarias (unit tests) con el comando npm test, también desde la terminal. Esto debe hacerse DENTRO de la carpeta donde está tu clon del proyecto.
- ¡Listo! Ya puedes empezar a codear.
Cuando tengas una propuesta de mejora a nuestro producto, te agradecería mucho que hagas un pull request contándome detalladamente en qué consiste tu propuesta.