Prueba №20
Crear una pequeña aplicación en React + Typescript
La aplicación debe estar escrita solo con funciones y hooks, está prohibido usar clases.
La aplicación debe contener:
- Una tabla que puede contener un número arbitrario de campos (de 5 a 15).
- Los datos de la tabla deben cargarse desde el servidor y utilizar Infinite Loader para cargar nuevos datos.
- Un gestor de estado (o su ausencia, justificar la elección o la ausencia de esta herramienta).
- Un formulario para crear un nuevo registro en la tabla, que debe tener al menos 5 campos.
Explicaciones:
- Tener en cuenta que los campos pueden ser de un número arbitrario.
- Los campos tienen validación (desde simples validaciones de obligatoriedad hasta validaciones complejas como un IBAN correcto) (puede no hacerse, pero describir cómo se implementaría).
- Al enviar el formulario, debe haber un estado correspondiente (deshabilitar el botón u otras acciones).
- El servidor puede no aceptar el formulario y devolver errores (de nuevo, puede no hacerse, pero describir cómo se implementaría).
- El formulario debe enviarse a través de una API. El registro debe añadirse a la tabla.
- Cualquier animación (por ejemplo, un popup con el formulario) (usar algo más complejo que simples animaciones CSS).
- Describir cómo implementar i18n y l10n en el proyecto actual (no es necesario implementarlo).
- El código debe colocarse en GitHub. En GitHub Actions debe estar configurada la compilación. (Si no se sabe cómo hacerlo, indicar que no se está familiarizado, que se ha oído hablar, que se han usado otros CI/CD, etc.)
- Adjuntar un Dockerfile (si no se sabe cómo hacerlo, indicar que no se está familiarizado, que se ha oído hablar, etc.)
- Deben escribirse varias pruebas. Al menos una de las pruebas debe cubrir solicitudes de red y operaciones asincrónicas.
Se permite el uso de cualquier biblioteca externa (pero se debe justificar su uso).
Para la interfaz de usuario se puede usar cualquier biblioteca de componentes o framework (bootstrap, chakra, material, etc.).
Para la API se puede usar https://github.com/typicode/json-server. El archivo con la base de datos (db) debe adjuntarse al proyecto.
Sin Comentarios