Digilibz is a comprehensive and modern full-stack digital library management solution, developed by integrating robust Java Spring Boot technology on the backend and responsive Next.js on the frontend to deliver a seamless and fast user experience. Specifically designed to transform library operations in academic or public environments into an efficient digital ecosystem, this system not only simplifies core circulation processes such as automated book borrowing and returning but also enriches user interaction through review features, real-time notifications, and AI-based summaries. It also equips administrators with an analytical statistics dashboard for inventory management and library activity monitoring that is transparent, structured, and measurable within a single unified platform.
- Smart Search: Search for books by title, category, or author.
- Self-Service Circulation: Perform borrowing requests and view estimated return dates.
- Transaction History: Monitor borrowing status (Pending, Borrowed, Returned, Overdue).
- Review System: Provide reviews and ratings for read books.
- Real-time Notifications: Receive updates on borrowing status.
- AI Features: Automatic book summaries (AI Summarize).
- Statistics Dashboard: Visualize borrowing data, popular books, and user activity.
- Book Management: Add, edit, and delete book data (including cover uploads).
- User Management: Manage user accounts (Admins, Lecturers, Students).
- Borrowing Approval: Approve or reject book borrowing requests.
- Return Management: Process book returns and handle late fines.
- Framework: Java Spring Boot 3.x
- Language: Java 17+
- Database: MySQL
- Security: Spring Security & JWT Authentication
- Build Tool: Maven
- Framework: Next.js 14/15 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS & Shadcn UI
- State Management: React Hooks
- Package Manager: pnpm / npm
root/
βββ backend/ # Backend Source Code (Spring Boot)
β βββ src/main/java # Controllers, Services, Repositories, Models
β βββ src/main/resources
β βββ db/ # SQL Backup (backup.sql)
βββ frontend/ # Frontend Source Code (Next.js)
β βββ app/ # Pages & Routing
β βββ components/ # Reusable UI Components
β βββ lib/ # API Helper Functions
βββ document/ # Project Documentation (API Docs, ERD, SRS)
Follow these steps to run the project locally on your machine.
- Ensure MySQL is running.
- Create a new database named
digilibz_db(or adjust according to your configuration). - Import the initial database file located at:
backend/src/main/resources/db/backup.sql
- Open the
backendfolder in your IDE (IntelliJ IDEA / VS Code). - Open the
src/main/resources/application.properties(or.yml) file. - Adjust your database configuration:
spring.datasource.url=jdbc:mysql://localhost:3306/digilibz_db
spring.datasource.username=root
spring.datasource.password=your_mysql_password
# JWT Configuration
jwt.secret=insert_your_long_secure_secret_key_here
jwt.expiration=86400000
- Run the application with the command:
mvn spring-boot:run
The Backend will run on port 8080.
- Open a new terminal and navigate to the
frontendfolder.
cd frontend
- Install dependencies:
pnpm install
# or if using npm:
npm install
- Create a
.env.localfile inside thefrontendfolder and add:
NEXT_PUBLIC_API_URL=http://localhost:8080/api
- Run the frontend server:
pnpm dev
# or
npm run dev
The Frontend will run at http://localhost:3000.
Complete documentation regarding API endpoints can be found in the document/ folder:
Distributed under the MIT License. See LICENSE for more information.