tteguayco / Comma-Separated-Values

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Práctica: Comma Separated Values

Tecnologías utilizadas

Se hace uso de varias tecnologías en el desarrollo de esta actividad:

  • localStorage.
  • jQuery.
  • Underscore y EJS.
  • Express.
  • SASS.
  • Heroku.

Descripción

Se trata de añadir los requisitos que a continuación se detallan al proyecto de partida que se encuentra en este repositorio. En él, se resuelve el problema de analizar una entrada de valores separados por comas generando como salida una tabla con el resultado del análisis.

Enlaces

Requisitos (1)

  • Modificar la solución actual para obtener una aplicación cliente-servidor (más detalles aquí).
  • Utilizar SASS para generar el estilo CSS.
  • Usar GULP para la automatización de tareas.
  • Se debe hacer uso de localStorage para almacenar las últimas entradas (ya hecho en la versión inicial).
  • Se usa también Underscore para las plantillas en el cliente y EJS para las del servidor.

Requisitos (2)

  • Realizar un request AJAX de manera que el navegador lea los datos de entrada y los envíe al servidor, quien calcula la tabla y devuelve en formato JSON la tabla (el array de arrays) que finalmente es insertado en la página por el cliente/navegador.
  • Aislar el cálculo de la tabla en un módulo Node.js (notación module.exports);
  • Añadir botones de selección que permitan cargar un fichero específico en una lista de ficheros en el textarea de entrada.
  • Añadir una zona de Drag-and-Drop a la que se pueda arrastrar un fichero para analizar.
  • Añadir un botón de lectura de fichero para cargar una entrada desde fichero.

Requisitos (3)

  • Se añade un botón de guardado que hace que la entrada actual se guarde en una base de datos MongoDB. El contenido de la entrada actual se guarda con un nombre que se solicita previamente al usuario y se utilizará Mongoose de Node.js para el acceso a la base de datos MongoDB.
  • Sólo se guardan hasta un límite de cuatro entradas en la base de datos. Cuando el número excede el límite, se borra uno de los anteriores para insertar la nueva entrada (en este caso, se ha optado por borrar la entrada más antigua).
  • Se pondrán tantos botones de selección de entradas como registros almacenados haya en la base de datos.

About


Languages

Language:JavaScript 62.0%Language:CSS 20.5%Language:HTML 17.5%