Proyectos Biblioteca con administradores / lectoresdic/2021

La experiencia del usuario con este proyecto dependerá de si es "administrador" o un "usuario" normal. En la ruta del admin, este podrá hacer un CRUD completo de los libros, es decir, crear, leer, actualizar y borrar un libro. En la ruta de los usuarios, estos podrán ver los libros y dejar una puntuación y un comentario, y ver los comentarios de los demás usuarios.

Este proyecto tiene:

  • Rutas protegidas, es decir, un usuario no puede acceder a las funciones de un administrador, y viceversa.
  • Al iniciar sesión se genera un token que se usa para validar si el usuario tiene los permisos necesarios, por ejemplo, si desea agregar un libro se comprueba que sea administrador, que el token sea válido y que no haya expirado, y si todo está bien, puede acceder al endpoint de la API para escribir en la BD.
  • Debes registrarte con un e-mail verdadero, porque se debe validar el e-mail ingresando una OTP, contraseña de un solo uso, que se envía al mismo e-mail con que se registró.
  • Posibilidad de validar el e-mail en otro momento.
  • Cambiar contraseña en caso de olvido.
  • Redirecciona al login cuando el token ha expirado.

Sitio webActualmente este despliegue no se encuentra disponible, pero podemos revisar el código en una entrevista presencial o virtual, y si gustan puedo hacer el despliegue de nuevo a manera de prueba.

DespliegueEl último despliegue fue en Linode con Nginx

Código

Front-endReact, JavaScript, AntDesign, FontAwesome, axios, bootstrap, formik, moment, sweetalert, yup

Back-endBcryptjs, cors, dotenv, express, jsonwebtoken, SendinBlue, MongoDB

Library demo app pic 1
Página inicial. Muestra el top 10 de los libros mejor puntuados. Los comentarios los muestra de manera aleatoria
Library demo app pic 2
Pantalla de registro. Si te sabes la clave, te puedes registrar como Admin
Library demo app pic 3
Pantalla del inicio de sesión. Acá se puede también cambiar la contraseña y validar el e-mail en caso de que la primera OTP haya vencido
Library demo app pic 4
Pantalla del admin donde se puede hacer el CRUD completo de un libro
Library demo app pic 5
Pantalla del usuario donde se pueden ver todos los libros, sus puntuaciones promediadas, además de poder usar los filtros y botones para ordenar la información de la tabla
Library demo app pic 6
Modal que muestra los comentarios con sus respectivas puntuaciones