Projects Library with admins / readersDec/2021

The user's experience with this project will depend on whether he/she is an "admin" or a normal "user". In the admin path, the admin will be able to do a full CRUD of the books, i.e. create, read, update and delete a book. In the user path, users will be able to view the books and leave a rating and comment, and view the comments of other users.

This project has:

  • Protected routes, i.e. a user cannot access the functions of an administrator, and vice versa.
  • When logging in, a token is generated which is used to validate if the user has the necessary permissions, for example, if you want to add a book, it is checked that you are an administrator, that the token is valid and that it has not expired, and if everything is OK, you can access the API endpoint to write to the DB.
  • You must register with a real e-mail address, because the e-mail must be validated by entering an OTP, a one-time password, which is sent to the same e-mail address you registered with.
  • The e-mail can be validated at a later time.
  • Change password in case of forgetting it.
  • Redirects to login when the token has expired.

WebsiteCurrently, this deployment is not available, but we can review the code in a face-to-face or virtual interview, and if you like, I can re-deploy it to test it.

DeploymentThe last deployment was on Linode using Nginx

Source code

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

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

Library demo app pic 1
Home page. Displays the top 10 highest rated books. Comments are displayed randomly
Library demo app pic 2
Registration screen. If you know the password, you can register as Admin
Library demo app pic 3
Login screen. Here you can also change the password and validate the e-mail in case the first OTP has expired
Library demo app pic 4
Admin screen where you can make the complete CRUD of a book
Library demo app pic 5
User screen where you can see all the books, their averaged ratings, as well as use the filters and buttons to sort the information in the table
Library demo app pic 6
Modal displaying comments with their respective ratings