shakyasaijal / bookManagementSystem

This is a simple application where users can create accounts then can CRUD their books. This application uses Django as backend and React as frontend.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Book Management System

Table of Contents

Pre-requisites

Architecture

This project is based on jwt token authentication. We have two tokens: access token and refresh token

Access Token

Access Token expires in 1 hour which is stored in cookie.

Refresh Token

Refresh Token expires in 30 days which is stored in cookie.

If access token and refresh token, both are expired, then user is logout of the application. If access token is expired but refresh token is not, then by using refresh token, we will refresh our access token which will make users authenticate for next 1 hour.

Project Setup

$ bash bash.sh

Note: bash bash.sh is to be runned before running the following steps.

Features Completed

  • Sign In with redux and validation.
  • Sign Up with redux and validation.
  • Logout with redux.
  • Responsive Design for all pages.
  • Books CRUD Completed.
  • Register, Login, Logout backend completed.
  • Fetch Popular Books (Top viewed books)
  • Fetch Latest Books (10 random books)
  • Redirect to sign in page if unauthenticated user points to /add-book
  • Books Detail api call
  • Add books api
  • Mobile Navigation
  • Error display
  • State managed
  • Edit and Delete books
  • Force logout user after refresh token expires
  • Search
  • Secretly logging in user when access token expired.

About

This is a simple application where users can create accounts then can CRUD their books. This application uses Django as backend and React as frontend.


Languages

Language:JavaScript 62.8%Language:Python 28.0%Language:SCSS 7.2%Language:HTML 1.6%Language:Shell 0.4%