A Java-based library management system with a web frontend, mock API, and backend for business logic.
The Book Library project is designed to manage a library's resources and user interactions. It supports:
- Book Management (CRUD)
- Borrow & Return Transactions
- User (Reader) Management
This was developed as a university/school project to apply Java + Spring Boot for backend, with a TypeScript-based frontend, and a mock API for testing.
book-library/
βββ client/ # Frontend (TypeScript, CSS)
βββ mockApi/ # Mock API endpoints for testing frontend
βββ server/ # Backend (Java, Spring Boot)
βββ database/ # SQL schema and sample data
- Frontend: TypeScript (possibly React/Angular) + CSS
- Mock API: Node.js or JSON Server
- Backend: Java Spring Boot (Spring MVC, Spring Data JPA)
- Database: MySQL or H2
- Build Tools: Maven or Gradle
- Import
database/schema.sqlif sample data is provided. - Configure
application.propertiesorapplication.ymlinserver/src/main/resources.
cd mockApi
npm install
npm run startcd client
npm install
npm run startThe frontend runs on http://localhost:3000 and calls either mock or backend APIs.
cd server
mvn spring-boot:run # or `./mvnw spring-boot:run`The backend runs on http://localhost:8080.
| Method | URL | Description |
|---|---|---|
| GET | /api/books |
Get all books |
| GET | /api/books/{id} |
Get a specific book |
| POST | /api/books |
Add a new book |
| PUT | /api/books/{id} |
Update book details |
| DELETE | /api/books/{id} |
Delete a book |
Similar endpoints exist for users and borrowings.
- Start all services (mock API, frontend, backend).
- Access the frontend via browser.
- Manage books, users, and borrow/return transactions.
We welcome issues and pull requests! If you'd like to enhance endpoints, database configuration, or add authentication/authorization, feel free to open an issue.
Developed for educational purposes. Contact the author for permissions if you want to use it in other projects.
open-source, just project in university