Buscamos Devs con ganas de sumarse a los desafios que hoy tenemos en Nubi.
El objetivo de este desafío es desarrollar una API REST usando NodeJS. Dentro del directorio data
encontrarás el archivo users.json
. Utiliza ese archivo como fuente de datos para desarrollar una API que realizce las operaciones abajo descritas.
Si necesitas generar nuevos usuarios puedes usar el comando npm run data
.
Este challenge esta pensado para que pueda resolverse sin alguna libreria/dependencia particular, dejamos que puedas usar la tecnologia que creas conveniente para la resolucion del mismo.
- un repositorio con codigo del challenge (publico)
- un readme detallado con las instrucciones para ejecutarlo
- Un endpoint para ver todos los usuarios
- Un endpoint para crear un nuevo usuario
- Un endpoint para eliminar un usuario
- Un endpoint para modificar un usuario
- Utilizar en cada endpoint una forma diferente de manejo de asincronismo (callbacks, promises, async/await)
- Usar typescript
- Que soporte QueryParams como:
- pagination:
?page=2&limit=5
- sorting:
?sortBy=email&sortDirection=ascending
- matching:
?match[email]=jdoe@example.com
- pagination:
- Seguridad (proteger los endpoints contra uso no autorizado, implementando algun mecanismo de validacion de acceso a los mismos)
- Test Unitarios
- Dockerfile y docker-compose que permita levantar la API ejecutando "docker-compose up" con todo lo necesario.
- Collection de postman o equivalente para probar todos los endpoints
Durante la revisión estamos considerando varios factores, entre ellos:
- Enfoque general para el desarrollo de API, como esten divividas las responsabilidades en el diseño.
- Estilo de código, claridad y consistencia. Corrección lógica.
- Simplicidad de la implementación.
- Buenas prácticas en el uso de docker.
- Correcto uso de dependencias npm.
- Flexibilidad de la solucion propuesta.