Prueba Programador Frontend
Prueba Programador Frontend
Prueba Programador Frontend
Objetivo:
Evaluar los conocimientos y habilidades del candidato para el desarrollo de aplicaciones web para
ser ejecutadas en el navegador del cliente.
JavaScript: Conocimiento general del lenguaje, Manejo de Peticiones a servicios web, lógica de la
aplicación en el cliente
Tareas a Realizar
1. Crear una aplicación web cliente, que permita a los usuarios autorizados la gestión de sus
tareas: Consultar, Crear, Modificar, Borrar. (Ver Servicios Web Disponibles e Interface
Gráfica)
2. Incluir el archivo de configuración para la herramienta gulp, que permita realizar las tareas
de construcción y minimización del código de la aplicación.
var config = {
authority: authority_url,
client_id: "js",
post_logout_redirect_uri : this_url+"/index.html",
};
El valor de puerto en el entorno desarrollo puede ser uno de los siguientes: 5000,5001, 5002,5003,
8080, 9000.
Servicio Gestión de Tareas: proporciona los métodos necesarios para la consultar, crear,
actualizar, y borrar las tareas de los usuarios autorizados.
Ejemplo:
{
fechaCreacion: "2017-11-03T15:58:09.1876311Z",
"id": "c507340a-11e4-48dc-b550-e0cc66e133a7",
descripcion: "nueva tarea",
finalizada: false,
fechaVencimiento: "2017-12-31T00:00:00"
}
Consultar de Tareas
Método: GET
URL_API: /tareas/consultar
descripcion: string,
finalizada:bool
Ejemplos:
Respuesta: se devuelve un arreglo con las tareas que satisfagan las condiciones enviadas en la
consulta.
[
{
"fechaCreacion": "2017-11-03T16:11:01.2304059Z",
"id": "5f35ffc8-ad5a-43e5-b237-171f16347a58",
"descripcion": "nueva tarea",
"finalizada": false,
"fechaVencimiento": "2017-12-31T00:00:00"
},
{
"fechaCreacion": "2017-11-03T16:14:28.4209348Z",
"id": "848531ca-0680-4d46-9cb4-d818458dd74f",
"descripcion": "segunda tarea",
"finalizada": false,
"fechaVencimiento": "2017-11-25T00:00:00"
}
]
Crear de Tarea
Método: POST
URL_API: /tareas/crear
Actualizar de Tarea
Método: POST
URL_API: /tareas/actualizar
Parámetros: se debe enviar un objeto información que el usuario desea actualizar de acuerdo con
la siguiente estructura:
{
id: string, // obligatorio
descripcion: string, // opcional
fechaVencimiento: string, // opcional
finalizada: bool //opcional
}
Ejemplo:
{
"id": "34f45b80-8b52-4a4d-a2ba-3fc9130720b1",
descripcion:"Tarea para después de diciembre"
}
Borrar de Tarea
Método: POST
URL_API: /tareas/borrar
Ejemplo:
{
"id": "34f45b80-8b52-4a4d-a2ba-3fc9130720b1"
}
Observación: Debido a que el usuario debe estar previamente autenticado en todas las peticiones
es necesario incluir el “access_token” del usuario. Por ejemplo, para consultar las tareas se
requiere:
mgr.getUser().then(function (user) {
xhr.onload = function () {
//
xhr.send(null);
});
Interface Gráfica.
Pantalla de Inicio
Al dar clic sobre el botón de “Iniciar Sesión” el usuario debe ser redireccionado a la página de
autenticación de IdentityServer4, de acuerdo con lo descrito en “Servicio de Autenticación “
( https://drspgs.co/clientjs/index.html o localhost:5003/index.html)
Pantalla de Gestión de Tareas
En esta pantalla de despliegan todas las actividades relacionadas con la gestión de tareas:
Ver las tareas: Consultar las tareas del usuario usando el servicio de gestión de tareas y mostrar las
fichas de cada tarea. Está acción se realiza de manera automática después de la autenticación del
usuario.
Crear Tareas (Nueva Tarea)
Actualizar Tareas
Borrar Tareas
Finalizadas: Enviar solicitud al servicio para consultar tareas con estado Finalizada {finalizada: true}
Pendientes: Enviar solicitud al servicio para consultar tareas con estado Pendiente {finalizada:
false}
Descripcion: Enviar solicitud al servicio para consultar las tareas que contienen el texto escrito en
cajón “descripcion” . {descripcion:”Tarea fin de año”}
{descripcion:” Tarea fin de año”, finalizada: true} = Consultar tarea que contiene el texto “tarea fin
de año” en la descripción y que están finalizadas.