Library Catalogue App

This app is designed to keep track of (music) books in libraries.

Installation

After cloning the repository, run the following commands:

yarn
cd frontend
yarn
cd ..
yarn dev

The script will run both the frontend and backend in development mode.

Frontend

The frontend is built with React.

Backend

The backend is built with Node.js.

Authentication

The app uses native authentication and validation, and is secured with JWT tokens.

Backend Dependencies

  • bcryptjs: To hash the password
  • colors: To print colored text in the terminal
  • concurrently: To run both the frontend and backend in parallel
  • dotenv: To load environment variables from a .env file
  • express: To create the backend server
  • jsonwebtoken: To create and verify JWT tokens
  • mongoose: To connect to the MongoDB database
  • validator: To validate user input

Frontend Dependencies

  • axios: To make HTTP requests
  • daisyui: To complement the Tailwind CSS framework
  • react: To create the frontend
  • react-dom: To render the frontend
  • react-icons: To render the icons
  • react-modal: To create modal dialogs
  • react-redux: To connect the frontend to the backend
  • react-router-dom: To create the routing
  • react-toastify: To create toast notifications

Deployment

The app is ready to be deployed to Heroku and includes a heroku:postbuild hook that builds the frontend in production mode.