Skip to content

Prash-Mayank/BookFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BookFlow — Online Library Management System

"Manage Knowledge, Not Chaos" — A scalable, role-based library management platform with secure authentication, book tracking, and administrative control.

HTML5 CSS3 JavaScript Spring Boot MySQL License

BookFlow Banner


Overview

BookFlow is a full-stack library management system designed for educational institutions. It enables efficient book tracking, user management, and transaction handling through a secure and scalable architecture.

The system supports three distinct role-based panels: Admin, Librarian, and Student. Each role operates within controlled access boundaries enforced at both frontend and backend levels.


Features

Admin Panel

  • User management and role assignment
  • System monitoring and analytics
  • Report generation
  • Full administrative control

Librarian Panel

  • Add, update, and delete books
  • Manage inventory and transactions
  • Approve or reject book requests
  • Track issued and returned books

Student Panel

  • Browse and search books
  • Issue and return books
  • View borrowing history
  • Track fines and due dates

Platform Capabilities

  • Role-Based Access Control (RBAC)
  • Secure authentication and authorization
  • RESTful API architecture
  • Layered backend structure (Controller → Service → Repository)
  • Responsive user interface
  • Modular and scalable design

Project Structure

bookflow/
│
├── frontend/
│   ├── public/
│   │   └── index.html
│   │
│   ├── src/
│   │   ├── assets/
│   │   │   ├── images/
│   │   │   └── icons/
│   │   │
│   │   ├── css/
│   │   │   ├── global.css
│   │   │   ├── student.css
│   │   │   ├── librarian.css
│   │   │   └── admin.css
│   │   │
│   │   ├── js/
│   │   │   ├── app.js
│   │   │   ├── api.js
│   │   │   ├── auth.js
│   │   │   ├── role.js
│   │   │   └── utils.js
│   │   │
│   │   ├── pages/
│   │   │   ├── auth/
│   │   │   │   ├── login.html
│   │   │   │   └── register.html
│   │   │   │
│   │   │   ├── student/
│   │   │   │   ├── dashboard.html
│   │   │   │   ├── books.html
│   │   │   │   └── my-books.html
│   │   │   │
│   │   │   ├── librarian/
│   │   │   │   ├── dashboard.html
│   │   │   │   ├── manage-books.html
│   │   │   │   └── requests.html
│   │   │   │
│   │   │   ├── admin/
│   │   │   │   ├── dashboard.html
│   │   │   │   ├── users.html
│   │   │   │   └── reports.html
│   │   │
│   │   └── components/
│   │       ├── navbar.html
│   │       ├── sidebar.html
│   │       └── loader.html
│   │
│   ├── .env.example
│   └── README.md
│
├── backend/
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/com/bookflow/
│   │   │   │
│   │   │   │   ├── controller/
│   │   │   │   │   ├── AuthController.java
│   │   │   │   │   ├── StudentController.java
│   │   │   │   │   ├── LibrarianController.java
│   │   │   │   │   └── AdminController.java
│   │   │   │   │
│   │   │   │   ├── service/
│   │   │   │   │   ├── AuthService.java
│   │   │   │   │   ├── BookService.java
│   │   │   │   │   ├── UserService.java
│   │   │   │   │   └── TransactionService.java
│   │   │   │   │
│   │   │   │   ├── repository/
│   │   │   │   │   ├── UserRepository.java
│   │   │   │   │   ├── BookRepository.java
│   │   │   │   │   └── TransactionRepository.java
│   │   │   │   │
│   │   │   │   ├── model/
│   │   │   │   │   ├── User.java
│   │   │   │   │   ├── Role.java
│   │   │   │   │   ├── Book.java
│   │   │   │   │   └── Transaction.java
│   │   │   │   │
│   │   │   │   ├── config/
│   │   │   │   │   ├── SecurityConfig.java
│   │   │   │   │   └── JwtConfig.java
│   │   │   │   │
│   │   │   │   ├── security/
│   │   │   │   │   ├── JwtFilter.java
│   │   │   │   │   └── CustomUserDetailsService.java
│   │   │   │   │
│   │   │   │   ├── dto/
│   │   │   │   │   ├── LoginRequest.java
│   │   │   │   │   └── AuthResponse.java
│   │   │   │   │
│   │   │   │   └── BookflowApplication.java
│   │   │   │
│   │   │   └── resources/
│   │   │       ├── application.properties
│   │   │       ├── data.sql
│   │   │       └── static/
│   │   │
│   │   └── test/
│   │
│   ├── pom.xml
│   └── README.md
│
├── database/
│   ├── schema.sql
│   └── seed.sql
│
├── docs/
│   ├── api.md
│   ├── architecture.md
│   └── roles.md
│
├── .github/
│   └── workflows/
│       └── ci.yml
│
├── docker/
│   ├── Dockerfile
│   └── docker-compose.yml
│
├── assets/
│   └── banner.png
│
├── .gitignore
├── LICENSE
└── README.md

Tech Stack

Layer Technology
Frontend HTML5, CSS3, JavaScript
Backend Java, Spring Boot
Database MySQL
Security Spring Security, JWT
Tools Git, GitHub, Postman, IntelliJ IDEA

Getting Started

Clone the repository

git clone https://github.com/your-username/bookflow.git
cd bookflow

Backend

cd backend
mvn spring-boot:run

Frontend

Open index.html in browser.


License

This project is licensed under the MIT License — see the LICENSE file for details.


Author

Mayank Prashar

GitHub LinkedIn Email


Built with precision for scalable systems and modern library management

© 2024 BookFlow. All rights reserved.

About

A role-based library management system built with Spring Boot and HTML, CSS, JavaScript for efficient book tracking, user management, and secure REST APIs.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors