A full-stack library management system built with PHP and MySQL.
| 🏠 Home Page | 🔐 Sign In |
|---|---|
![]() |
![]() |
| 🛠️ Admin Dashboard | 📚 Books Management |
|---|---|
![]() |
![]() |
Silent Prose is a full-stack library management web application built entirely from scratch — no frameworks, no templates. Every line of PHP, JavaScript, and CSS was written manually. It features two separate interfaces: a reader portal where users can discover, search, and borrow books, and a secured admin dashboard to manage the entire system. Built as my first full-stack project, it covers secure authentication, role-based access control, a borrowing system, and a fully custom dark UI with a light theme toggle.
- User registration and authentication
- Browse and search book catalog (by title, author, theme, publisher)
- Borrow books and track personal borrow history
- View fines for overdue books
- Dark / Light theme with localStorage persistence
- Full CRUD for books, users, and borrows
- Manage and track all borrows across all users
- Fine management system
- Collapsible sidebar with state persistence
- Secure role-based access control
| Layer | Technology |
|---|---|
| Backend | PHP 8, PDO |
| Database | MySQL 8 |
| Frontend | HTML5, CSS3, JavaScript (Vanilla) |
| Auth | PHP Sessions + password_hash() |
| Server | Apache (MAMP / XAMPP) |
- Passwords hashed with
password_hash()/ verified withpassword_verify() - All database queries use PDO prepared statements (no SQL injection)
- Session-based authentication with role separation (Admin / User)
- MAMP or XAMPP (Apache + PHP + MySQL)
- PHP 8+
- MySQL 8+
- Clone the repository
git clone https://github.com/MedBuilds/silent-prose.git-
Move the project folder to your MAMP/XAMPP
htdocsdirectory -
Import the database :
Open phpMyAdmin → click Import → select /DataBase/SilentProse.sql → click Go The database "SilentProse" is created automatically. -
Configure the database connection
// PHP/config.php
$srv = "localhost";
$db = "SilentProse";
$user = "your_db_user";
$pw = "your_db_password";- Start Apache + MySQL and open your browser at:
http://localhost/silent-prose
| Role | Password | |
|---|---|---|
| Admin | admin@admin.com | admin123 |
| User | user@user.com | user123 |
- Messaging system between users and admin
- Light theme for admin dashboard
- Notifications system
- Email alerts for overdue borrows
- Pagination for book catalog
Book covers displayed in this project are used strictly for educational and demonstration purposes. No commercial use is intended. All rights belong to their respective publishers and authors. This project is not affiliated with or endorsed by any publisher.
MedBuilds Full-Stack Developer in training GitHub: @MedBuilds
"The mystery of human existence lies not in just staying alive, but in finding something to live for." — Fyodor Dostoevsky



