Code Monkey home page Code Monkey logo

librarymanagement's Introduction

Library Management System

This project is a Library Management System developed as part of university class assignment. The application allows users to browse books, register with different roles, and manage the library database with varying levels of access and functionality. The project was built using Spring Boot, Spring Security, MySQL, Thymeleaf, and Bootstrap.

Table of Contents

Features

  • Home page for browsing books
  • User registration for Readers and Publishers
  • Role-based access control with different functionalities for each role
  • Password hashing with random hashing functions
  • CSRF protection
  • Administrator panel for managing user roles
  • Design using Bootstrap
  • Error handling with appropriate user messages

Roles and Functionalities

Unregistered User

  • Can view book details

Reader

  • Can borrow books
  • Can purchase books

Publisher

  • Can add new books
  • Can edit owned books
  • Can remove owned books

Librarian

  • Can see all borrowed books
  • Can handle book returns
  • Can delete any book

Administrator

  • Can view all user accounts
  • Can manage all user accounts
  • Can delete any user account
  • Can delete any book

Default User Logins

  • Administrator

    • Username: admin
    • Password: password
  • Librarian

    • Username: librarian
    • Password: password
  • Publisher

    • Username: publisher
    • Password: password
  • Reader

    • Username: reader
    • Password: password

Usage

  • Visit the home page to browse books.
  • Register as a Reader or Publisher using the respective registration forms.
  • Log in with your credentials to access role-specific functionalities.
  • Administrators can manage user roles through the admin panel.

Security

  • Passwords are hashed using bcrypt, PBKDF2, MD4, or SHA-256.
  • CSRF protection is implemented to secure the application against cross-site request forgery attacks.

Technologies Used

  • Spring Boot
  • Spring Security
  • MySQL
  • Thymeleaf
  • Bootstrap
  • HTML/CSS/JavaScript

Video Demonstration

A short video demonstration of the application can be found here.

librarymanagement's People

Contributors

cavdarfurkan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.