Skip to content

Modern Full-Stack Digital Library System built with Java Spring Boot and TypeScript Next.js . Features AI-powered book summarization (Gemini), smart borrowing cart, and Dockerized deployment.

Notifications You must be signed in to change notification settings

Arfazrll/Digilibzx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Digilibzx

Digital Library Management System with AI-Powered Features

Next.js Spring Boot TypeScript MySQL Docker License

Typing SVG

FeaturesQuick StartDocumentationContributing


Overview

Digilibzx is a modern digital library management system that integrates Artificial Intelligence to provide enhanced user experience. The system is designed to streamline borrowing, returning, and managing book collections with an intuitive and responsive interface.

Key Advantages

  • AI-Powered Book Summaries - Automatic book summaries using Google Gemini & OpenAI
  • Real-time Analytics - Dashboard with interactive data visualization
  • Secure Authentication - Multi-layered security system with Spring Security
  • Modern UI/UX - Responsive interface with Tailwind CSS & Shadcn UI
  • Mobile Friendly - Optimized for all screen sizes
  • Docker Ready - Easy deployment with containerization

Features

User Role

Collection Management

  • Advanced search & filter books
  • Browse by category & genre
  • Rating & review system
  • Bookmark favorite books

Borrowing System

  • Shopping cart for borrowing
  • Unique invoice code per transaction
  • Return deadline notifications
  • Complete borrowing history

AI Features

  • Auto-generate book summary
  • Smart book recommendations
  • AI-powered search

Account Management

  • Edit user profile
  • Real-time notifications
  • Personal statistics
  • Achievement badges

Admin Role

Dashboard & Analytics

  • Real-time borrowing charts
  • User activity monitoring
  • Popular books statistics
  • Trend analysis with Recharts

Data Management

  • User Management - CRUD users & role assignment
  • Book Management - Manage book collections
  • Category Management - Organize categories
  • Inventory Control - Stock management

Transaction Validation

  • Review borrowing requests
  • Approve/reject borrowing
  • Process book returns
  • Handle overdue management

Reporting System

  • Export reports to PDF
  • Generate analytics reports
  • Email automated reports
  • Custom date range reports

Technology Stack

Frontend

Next.js TypeScript React TailwindCSS Shadcn UI

Backend

Spring Boot Java Spring Security Hibernate

Database & Tools

MySQL Docker Swagger

AI Integration

Google Gemini OpenAI


Prerequisites

Before getting started, ensure you have the following installed:

  • Docker Desktop (v20.10+) & Docker Compose
  • Java JDK 17 (for local development)
  • Node.js (v18+) & npm/pnpm
  • MySQL (v8.0+)
  • Google Gemini API Key or OpenAI API Key (for AI features)

Quick Start

Method 1: Docker (Recommended)

# Clone repository
git clone https://github.com/username/digilibzx.git
cd digilibzx

# Setup environment variables
cp frontend/.env.example frontend/.env
cp backend/src/main/resources/application.properties.example backend/src/main/resources/application.properties

# Update API Keys in .env
# NEXT_PUBLIC_GEMINI_API_KEY=your_gemini_api_key
# OPENAI_API_KEY=your_openai_api_key

# Build & Run containers
docker-compose up --build

# Access application
# Frontend: http://localhost:3000
# Backend: http://localhost:8081
# Swagger: http://localhost:8081/swagger-ui/index.html

Method 2: Manual Installation

Backend Setup

# Navigate to backend folder
cd backend

# Install dependencies & build
mvn clean install

# Setup database
mysql -u root -p
CREATE DATABASE digilibz;
exit;

# Update application.properties
# spring.datasource.url=jdbc:mysql://localhost:3306/digilibz
# spring.datasource.username=root
# spring.datasource.password=your_password

# Run application
mvn spring-boot:run

# Backend running at http://localhost:8081

Frontend Setup

# Navigate to frontend folder
cd frontend

# Install dependencies
npm install
# or
pnpm install

# Setup environment variables
cp .env.example .env

# Update .env
# NEXT_PUBLIC_API_URL=http://localhost:8081
# NEXT_PUBLIC_GEMINI_API_KEY=your_key

# Run development server
npm run dev

# Frontend running at http://localhost:3000

Project Structure

digilibzx/
│
├── backend/                         # Spring Boot Application
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/com/digilibz/
│   │   │   │   ├── controller/      # REST API Endpoints
│   │   │   │   ├── service/         # Business Logic
│   │   │   │   ├── repository/      # Database Access Layer
│   │   │   │   ├── model/           # Entity Models
│   │   │   │   ├── dto/             # Data Transfer Objects
│   │   │   │   ├── config/          # Configuration Classes
│   │   │   │   └── security/        # Security & Authentication
│   │   │   └── resources/
│   │   │       ├── application.properties
│   │   │       └── static/
│   │   └── test/                    # Unit & Integration Tests
│   ├── Dockerfile
│   └── pom.xml
│
├── frontend/                        # Next.js Application
│   ├── app/                         # App Router
│   │   ├── (auth)/                  # Authentication routes
│   │   ├── (dashboard)/             # Dashboard routes
│   │   ├── admin/                   # Admin pages
│   │   ├── user/                    # User pages
│   │   ├── layout.tsx
│   │   └── page.tsx
│   ├── components/                  # React Components
│   │   ├── ui/                      # Shadcn UI Components
│   │   ├── layout/                  # Layout Components
│   │   └── shared/                  # Shared Components
│   ├── lib/                         # Utilities & Helpers
│   │   ├── api.ts                   # API Client
│   │   ├── utils.ts                 # Helper Functions
│   │   └── validations.ts           # Zod Schemas
│   ├── hooks/                       # Custom React Hooks
│   ├── types/                       # TypeScript Types
│   ├── public/                      # Static Assets
│   ├── .env.example
│   ├── Dockerfile
│   ├── package.json
│   └── tailwind.config.ts
│
├── docker-compose.yml               # Docker Orchestration
├── .gitignore
├── README.md
└── LICENSE

Acknowledgments

Special thanks to the following open-source projects:


Back to Top

About

Modern Full-Stack Digital Library System built with Java Spring Boot and TypeScript Next.js . Features AI-powered book summarization (Gemini), smart borrowing cart, and Dockerized deployment.

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages