BookVerse is a premium, full-stack web application designed for a group of friends to maintain a shared digital book library. It is built in pure, framework-less PHP using a clean MVC-style architecture and runs on Apache/MySQL (XAMPP). The UI is designed to feel like a high-end SaaS product (inspired by Notion, Stripe, and Linear) with calm typography, clean borders, light/dark themes, and subtle micro-animations.
-
Zero-Config Database Bootstrap: The app automatically detects if the database and tables exist. On the first page load, it creates the database, compiles
schema.sql, and executes the seeder. - Sample Data Generated: Automatically seeds 10 users and 150 books (with realistic titles, prices, conditions, and random active loans) so the dashboard looks rich and populated right away.
-
Borrowing Workflow: Request Borrow
$\rightarrow$ Owner Alert$\rightarrow$ Accept/Reject (with custom notes and expected return dates)$\rightarrow$ Automatic Borrow status updates$\rightarrow$ Returns and permanent history logs. -
Multi-View Catalog: Toggle instantly between a detailed Grid Card View and a compact Table View (saved to
localStorage). - Instant Search & Multi-Filters: Real-time filters for genre, author, owner, availability, and owner reading statuses, along with pagination and customizable items-per-page.
- Analytics Dashboard: Visual charts rendered via Chart.js (Books by Genre, Reading Progress, Monthly Added, and Borrow Activity) that adapt automatically when toggling light/dark themes.
- User Profiles & Timelines: High-res avatar uploads, stats blocks, user biography editors, personal favorite bookshelves, and scrolling activity logs.
- Administration Control Panel: Admins can change roles, delete users, audit logs, and forcefully reset borrow statuses on stuck books.
-
Nice Extras:
- PWA Support: Install BookVerse as an app (manifest & service worker).
- Export Sheets: Download catalog searches to CSV or Excel.
- Client-Side QR Code: Generates mobile scan codes on the fly.
-
Print Optimization:
@media printstyling cleans up book details. -
Keyboard Shortcuts:
/to search,nto add a book,Escto close modals.
- Backend: PHP 8+ (Pure MVC, PDO statements, secure sessions, cookie hashes)
- Database: MySQL (Normalized, indexed schema)
- Frontend: HTML5, CSS3 (Vanilla CSS variables), Javascript (Vanilla ES6, AJAX endpoints)
- Design Framework: Bootstrap 5 (Custom CSS overrides)
- Libraries: Chart.js (CDN), FontAwesome Icons (CDN), QRCode.js (CDN)
bookverse/
├── assets/ # Styles, scripts, and placeholder SVGs
├── uploads/ # Upload directories for book covers and avatars
├── config/ # Database setup and routing engine
├── database/ # Seed file populator
├── controllers/ # App controllers (Auth, Book, Borrow, etc.)
├── models/ # Database query models
├── views/ # HTML views split into layouts and folders
├── includes/ # CSRF tokens, session control, helpers
├── sql/ # SQL schema declarations
├── tests/ # Testing script suite
├── index.php # Entry front controller
└── README.md # Installation guide
BookVerse runs out of the box on XAMPP.
- Move to htdocs: Clone or copy the
bookversedirectory into your XAMPP installation'shtdocsdirectory:C:\xampp\htdocs\bookverse
- Start Services: Open the XAMPP Control Panel and click Start next to Apache and MySQL.
- Run in Browser: Open your browser and navigate to:
Note: The application will automatically create the database
http://localhost/bookverse/bookverse, set up the tables, and seed the sample data. No manual SQL import is necessary!
The seeder creates 10 pre-registered accounts for testing. All passwords are set to the username + 123.
- Username:
admin - Password:
admin123
- Rahul:
rahul/rahul123 - Subhajit:
subhajit/subhajit123 - Priya:
priya/priya123 - Sneha:
sneha/sneha123 - Amit:
amit/amit123 - Vikram:
vikram/vikram123 - Neha:
neha/neha123 - Rohit:
rohit/rohit123 - Kabir:
kabir/kabir123
- Press
/anywhere to focus and select the catalog search input. - Press
norNto jump to the Add Book form screen. - Press
Escapeto instantly close any active modals.