# Project Requirements From Developer

## Source

Captured on 2026-04-27 during the Trellis bootstrap-guidelines task from
developer-provided project facts.

## Architecture And Stack

- The system uses B/S architecture with a typical layered design.
- The application stack is JSP + Servlet, MySQL, Tomcat, developed in IDEA.
- The layers are presentation, controller, business/service, DAO, and data.

## Data Layer

MySQL is the data layer and stores:

- Book information.
- Book category information.
- Reader information.
- Borrowing records.
- Administrator information.
- Role and permission information.
- System logs.

Core entity tables should include book information, book categories, reader
information, borrowing records, administrators, role permissions, and system
logs. Use primary keys and foreign keys to preserve data integrity.

## DAO Layer

The data access layer uses DAO classes to perform database CRUD. DAOs should own
SQL/database access concerns and should not contain presentation or business
workflow logic.

## Business And Service Layer

The service layer handles:

- Book warehousing/intake.
- Borrowing and returning.
- Inventory status updates.
- Overdue statistics.
- Permission checks.

## Controller Layer

Servlet controllers handle request dispatch, parameter validation, and result
return. Controllers should coordinate request/response flow and call services
for business behavior.

## Presentation Layer

JSP/CSS pages handle page display and user interaction.

The frontend approach is image-first: UI should be designed or generated as
images first, then JSP/CSS pages should restore and implement the image
faithfully.

## Core Modules

- Login and permission management for administrator, librarian, and reader
  roles.
- Book information management for create, update, delete, category
  maintenance, and inventory status.
- Reader information management for profiles, borrowing eligibility, and
  contact information.
- Borrowing and return management for borrow, return, renew, overdue handling,
  and automatic collection status updates.
- Book search and statistics for combined search by title, author, category,
  and ID, plus borrowing rankings, inventory reports, and overdue reports.
- System maintenance and logs for key operation logs, data backup support, and
  exception tracing.
