📄️ Introducción
Enlace del proyecto en Github
📄️ Dependencias
En esta ocasión no vamos a construir muchas más funcionalidades, pero hay ciertas dependencias relacionadas con el testing y la seguridad que son recomendables mencionar.
📄️ Conceptos de seguridad
Vamos a hacer una pequeña introducción a ciertos conceptos de seguridad que deberían sonarnos para esta sesión. Estos son conceptos muy comunes dentro de la seguridad en el desarrollo web.
📄️ Fortificar la autenticación
Hasta el momento, hemos usado para securizar la comunicaciíon entre el frontend y el backend JWT. Como vimos, al autenticar nuestro usuario mediante email y contraseña, el backend generaba un token de sesión que el frontend almacenaba mediante local storage.
📄️ Fortificar el backend
Rate Limit
📄️ Fortificar el proyecto
NPM Audit
📄️ Testing FrontEnd
Ahora vamos a hablar de Vitest y React Testing library. Vitest es una librería open source escrita en JavaScript, muy optimizada para apliaciones basadas en Vite que permite implementar tests unitarios y junto a react-testing-library, escribir test de integración en nuestro proyecto.
📄️ Testing Backend
Para realizar tests de integración en el BackEnd y poder probar todos nuestros endpoinst vamos a hacer uso de tres librerías diferentes: Mocha, para crear el entorno de los tests, Chai, para los asserts y Supertest, para realizar las peticiones http.
📄️ Linter
Desde la primera sección, hemos tenido pre-configurado el linter, simplemente para coordinar el código y dejar de forma uniforme nuestra codebase a lo largo de los diferentes repositorios, pero en esta sección vamos a ver como se configura.
📄️ Storybook
Por último vamos a hablar de Storybook. Storybook es una herramienta open source que nos permite desarrollar componentes y páginas de forma aislada, permitiendo probar atributos como props, estado, ciclos de vida...
📄️ Estructura de la Clase
En esta sesión vamos a detallar los pasos que hemos seguido en clase para continuar con el desarrollo de la clase anterior. Puedes descargarte la sesión final de la clase anterior o simplemente usar el proyecto base de esta sesión.