Skip to content

zinedine098/Library_Management_System

Repository files navigation

LibLoan Admin - Sistem Administrasi Peminjaman Buku Perpustakaan

Laravel PHP License

Sistem informasi berbasis web untuk mengelola operasional perpustakaan, termasuk manajemen anggota, katalog buku, transaksi peminjaman, pengembalian, dan perhitungan denda.

Dashboard Preview

Fitur Utama

Manajemen Katalog Buku

  • CRUD buku dengan upload cover image
  • Kategorisasi buku
  • Manajemen stok otomatis
  • Pencarian dan filter (judul, penulis, ISBN, kategori, ketersediaan)

Manajemen Anggota

  • CRUD anggota perpustakaan
  • Status keanggotaan (Active/Blocked)
  • Riwayat peminjaman per anggota
  • Pencarian dan filter anggota

Transaksi Sirkulasi

  • Peminjaman: Pilih anggota & buku, tentukan tanggal kembali
  • Pengembalian: Hitung denda otomatis (Rp 1.000/hari)
  • Validasi stok dan status anggota
  • Export laporan ke CSV

Dashboard & Laporan

  • Statistik real-time (total buku, anggota, pinjaman, terlambat)
  • Daftar buku terlambat
  • Export laporan transaksi bulanan

Authentication & Profile

  • Login admin dengan session
  • Manage profile (nama, email)
  • Change password

Tech Stack

Komponen Teknologi
Backend Laravel 12
Frontend Blade Templates + Tailwind CSS
Interactivity Alpine.js
Database MySQL 8.0+
Icons Lucide Icons (SVG)

Prerequisites

Pastikan server lokal Anda telah menginstall:

  • PHP >= 8.2
  • Composer (latest version)
  • Node.js >= 18.x
  • MySQL >= 8.0 atau MariaDB >= 10.3
  • PHP Extensions: pdo_mysql, mbstring, xml, curl, zip

Installation

1. Clone Repository

git clone https://github.com/zinedine098/Library_Management_System.git
cd Library_Management_System

2. Install Dependencies

# Install PHP dependencies
composer install

# Install Node.js dependencies
npm install

3. Environment Configuration

# Copy environment file
cp .env.example .env

# Generate application key
php artisan key:generate

4. Database Configuration

Edit file .env dan sesuaikan konfigurasi database:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_perpus_akreditasi
DB_USERNAME=root
DB_PASSWORD=your_password

5. Run Migrations & Seeders

# Run migrations and seed initial data
php artisan migrate:fresh --seed

6. Create Storage Link

# Create symbolic link for book cover images
php artisan storage:link

7. Build Frontend Assets

# Development build (with hot reload)
npm run dev

# Or production build
npm run build

8. Start Development Server

# Start Laravel development server
php artisan serve

Aplikasi akan berjalan di: http://localhost:8000

πŸ‘€ Default Login Credentials

Setelah menjalankan seeder, gunakan kredensial berikut untuk login:

Field Value
Email admin@libloan.com
Password password

Project Structure

libloan-admin/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ Http/Controllers/     # Controllers (Auth, Books, Members, Borrowings)
β”‚   β”œβ”€β”€ Models/               # Eloquent Models (Book, Member, Borrowing, Category)
β”‚   └── Providers/            # Service Providers
β”œβ”€β”€ database/
β”‚   β”œβ”€β”€ migrations/           # Database migrations
β”‚   └── seeders/              # Database seeders
β”œβ”€β”€ resources/
β”‚   β”œβ”€β”€ css/                  # Tailwind CSS
β”‚   β”œβ”€β”€ js/                   # Alpine.js
β”‚   └── views/                # Blade templates
β”‚       β”œβ”€β”€ components/       # Reusable Blade components
β”‚       β”œβ”€β”€ layouts/          # Main layout
β”‚       β”œβ”€β”€ books/            # Book views
β”‚       β”œβ”€β”€ members/          # Member views
β”‚       β”œβ”€β”€ borrowings/       # Borrowing views
β”‚       └── profile/          # Profile views
β”œβ”€β”€ routes/
β”‚   └── web.php               # Web routes
└── storage/
    └── app/public/           # Uploaded files (book covers)

UI Components

Sistem menggunakan komponen Blade yang reusable dengan desain Shadcn-inspired:

  • <x-layouts.app> - Main layout dengan sidebar
  • <x-card> - Card container
  • <x-table> - Styled table
  • <x-input> - Input field
  • <x-select> - Dropdown select
  • <x-button> - Button dengan variants
  • <x-badge> - Status badge
  • <x-modal> - Modal dialog

API Endpoints (Optional)

Jika ingin mengembangkan API di masa depan:

# Install API support
php artisan install:api

Testing

# Run tests
php artisan test

# Run tests with coverage
php artisan test --coverage

Deployment

Production Checklist

  1. Set APP_ENV=production dan APP_DEBUG=false di .env
  2. Run composer install --optimize-autoloader --no-dev
  3. Run npm run build untuk production assets
  4. Run php artisan config:cache
  5. Run php artisan route:cache
  6. Run php artisan view:cache
  7. Setup proper file permissions untuk storage/ dan bootstrap/cache/

Recommended Server Requirements

  • PHP 8.2+ dengan OPcache enabled
  • MySQL 8.0+ dengan indexing pada kolom search
  • SSL/HTTPS untuk production
  • Queue worker untuk background jobs (optional)

Security Features

  • CSRF Protection pada semua form
  • Password hashing dengan bcrypt
  • SQL Injection protection via Eloquent ORM
  • XSS protection via Blade templating
  • Session-based authentication

License

Project ini dilisensikan di bawah MIT License.

Contributing

  1. Fork repository ini
  2. Create feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add some AmazingFeature')
  4. Push ke branch (git push origin feature/AmazingFeature)
  5. Open Pull Request

Contact

Untuk pertanyaan atau dukungan, silakan buat issue di repository ini.


Copyright 2026 LibLoan Admin by Zinedine Zidanir Rizki. All rights reserved.

About

LibLoan Admin is a web-based library management system that helps librarians to manage library collection, member data, and circulation transactions efficiently. It is built using Laravel 12, Tailwind CSS, and Alpine.js. The system features a robust search and filter system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages