PerpustakaanKu
Library management information system
Drag to rotate
PerpustakaanKu is a web-based library information system that I built solo from the ground up. It handles everything a library needs — books, categories, publishers, borrowing, returns, and fines — through a clean, role-based interface secured behind authentication. Built with Laravel and Tailwind CSS, the project was a practical deep-dive into building a full CRUD system from a real-world domain, covering both the data model and the user-facing experience.

Secure login to guard the system
Every session starts at the login screen — a clean, minimal gate that keeps the library data accessible only to authorized staff. The authentication layer underpins all modules, so no data can be viewed or changed without signing in first.


A full catalog of books, categories, and publishers
The books module is the catalog's core — listing every title with its category and publisher, with full add, edit, and delete support. Categories and publishers are managed separately, and every form validates input before it touches the database, keeping the catalog clean and consistent.


Borrowing and returns, tracked end to end
Staff record each borrowing through a structured form that links a member to a book and sets the due date. When a book comes back, the return module closes the transaction and automatically calculates any overdue fine — turning a manual, error-prone process into a reliable, data-driven workflow.

Fines tracked automatically so nothing slips through
The fines module surfaces every outstanding charge in one view — member, book, days overdue, and the total amount — so staff can follow up without digging through borrowing records manually. Fines are calculated at the moment of return, removing the need for any manual computation.
My role
- 01Modeled the database — books, categories, publishers, members, borrowings, returns, and fines
- 02Built full CRUD for every entity with form validation and relational data handling
- 03Implemented the borrowing and return lifecycle, including automatic fine calculation for overdue books
- 04Secured the application behind authentication so only authorized users can access library data
- 05Built the front end with Tailwind CSS and Vite for a fast, responsive, and consistent UI
One system, every library operation
PerpustakaanKu covers the full lifecycle of a library — cataloging books by category and publisher, recording borrowings with due dates, closing returns, and automatically tallying fines for overdue items. Every entity is fully editable and linked, so updating a category or publisher propagates cleanly across all related records without manual cleanup.
Laravel on the back, Tailwind on the front
The stack is straightforward by design: Laravel handles routing, authentication, and all database operations through its ORM, while Tailwind CSS and Vite deliver a consistent, responsive UI without unnecessary complexity. Building it solo from an empty repo to a working system was the goal — shipping a real domain end to end before reaching for abstractions.