Add readme and specification

This commit is contained in:
Alex Piqueras 2024-10-11 16:16:36 +02:00
parent 1e9bdb6910
commit c555f5de28
2 changed files with 65 additions and 0 deletions

20
README.md Normal file
View File

@ -0,0 +1,20 @@
# Prueba técnica de CGI
## Detalles de implementación
Se ha usado 100% VanillaJS, con una estructura similar a React mediante Web Components
## Start
Se puede usar cualquier web server para servir el contenido, no hay que compilar ni transpilar.
El script `start.sh` inicia mediante `npx` un servidor web simple en el directorio actual.
El contenido será servido en [http://localhost:8080](http://localhost:8080) por defecto.
## Tests
Se ha creado una test suite básica en VanillaJS
Para ejecutar los tests, entrar en [http://localhost:8080/test](http://localhost:8080/test) con el servidor en marcha.

45
SPEC.md Normal file
View File

@ -0,0 +1,45 @@
# Front-end
Se requiere maquetar (html y estilos) y desarrollar (javascript) una
aplicación para gestionar una lista de cadenas de texto.
Puedes encontrar el diseño en el siguiente enlace:
[https://xd.adobe.com/view/ea696dd0-8781-4460-8720-36deb2d19b2a-bf3a/](https://xd.adobe.com/view/ea696dd0-8781-4460-8720-36deb2d19b2a-bf3a/)
## Especificación Funcional
La aplicación debe tener una interfaz de usuario que cuente, al menos,
con los siguientes elementos:
* Un contenedor donde se irán añadiendo o borrando cadenas de
texto.
* Una caja de entrada de texto, donde el usuario pueda escribir los
textos que desee añadir a la lista.
* Un botón para agregar nuevas entradas.
* Un botón para eliminar de la lista.
La aplicación debe:
* Añadir entradas de texto, permitir al usuario escribir y añadir la
entrada de texto, a un listado. No se pueden añadir entradas
vacías.
* Eliminar un elemento de la lista (los ítems de la lista deben ser
seleccionables por el usuario). No se pueden eliminar elementos
de la lista sin haber seleccionado uno o varios de los elementos de
la lista. No se requiere poder seleccionar múltiples items para
poder borrarlos a la vez, pero se tendrá en cuenta. Es deseable,
pero no requerido, que el usuario pueda eliminar elementos de la
lista haciendo doble click sobre el ítem que se desea eliminar.
* Es deseable, pero no requerido, permitir al usuario deshacer, como
mínimo, el último cambio realizado. Para ello se deberá incluir un
botón de deshacer.
## Especificación Técnica.
Es deseable realizar una prueba en Vanilla JS y otra utilizando React. Si
se encuentran dificultades para realizar el desarrollo en Vanilla JS, se
puede entregar solo la prueba con React.