Overview
Bücher Antiquariat is a full-stack web application for running an antiquarian bookshop, presented under the brand “Archivum”. The public side lets visitors browse and search a catalogue of rare and second-hand books and send inquiries about individual titles; the admin side is a complete back office for managing books, customers, catalogues, and requests.
It is built in plain PHP following an MVC structure (models, controllers, and request handlers) backed by MySQL and served by Nginx, with the whole stack packaged in Docker Compose so it runs with a single command. The interface is hand-written HTML and CSS, with no framework on either the front or back end.
Public Storefront
Visitors land on the Archivum home page, browse the full book catalogue with search, sorting, and filters by catalogue, language, and availability, and open a detail page for any title. Each book page shows its metadata, a condition report, a small image gallery, and an inquiry form so interested buyers can contact the shop directly about that book.
Contact and Impressum pages round out the public site, which keeps the warm, paper-and-gold look of a traditional antiquarian bookshop throughout.
Features
Admin Dashboard
A back-office overview with totals for books, catalogues, customers, and new inquiries, a recently-added table, quick actions, and a catalogue breakdown.
Public Book Catalogue
Browse all books with full-text search, sorting, and filters by catalogue, language, and availability.
Book Detail & Inquiry
Each title has metadata, a condition report, an image gallery, and a built-in inquiry form for interested buyers.
Book Management
Full CRUD for the inventory: add, edit, and delete books with catalogue assignment, condition grading, and cover uploads.
Customer Management
Create, edit, and remove customer records and keep the shop's contact list organised.
Inquiries
Customer inquiries sent from book pages land in an admin view where they can be read and tracked.
Authentication
Session-based admin login protects the back office, with account creation and password changes.
User Accounts
Manage the staff/admin users who have access to the management area.
Image Uploads
Upload cover images for books, with sensible default covers as a fallback.
MVC Architecture
Clean separation into models, controllers, and request handlers, written in plain PHP, no framework.
Dockerised Stack
Nginx, PHP-FPM, and MySQL orchestrated with Docker Compose, the database seeds itself from a dump on first start.
Contact & Impressum
Public contact and legal pages complete the storefront, matching the rest of the design.
Tech Stack
| Language | PHP 8.2 (FPM) |
|---|---|
| Web server | Nginx |
| Database | MySQL 8 |
| Architecture | MVC: models, controllers & handlers (no framework) |
| Frontend | Hand-written HTML & CSS |
| Auth | Session-based admin login |
| Containerization | Docker Compose (nginx + php + mysql) |
| Repository | Public on GitHub |
Screenshots
Status
Bücher Antiquariat is a completed project. The full source (PHP app, Docker setup, and database dump) is public on GitHub. Clone it and run “docker compose up -d” to try it locally. Reach out if you'd like a walkthrough.