About Projects
Modules
Contact
← Back to projects
Completed · School project Full-stack · PHP

Bücher Antiquariat

A full-stack PHP web app, branded “Archivum”, for managing the books, customers, and inquiries of an antiquarian bookshop.

Archivum (Bücher Antiquariat) logo

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

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

LanguagePHP 8.2 (FPM)
Web serverNginx
DatabaseMySQL 8
ArchitectureMVC: models, controllers & handlers (no framework)
FrontendHand-written HTML & CSS
AuthSession-based admin login
ContainerizationDocker Compose (nginx + php + mysql)
RepositoryPublic on GitHub

Screenshots

Archivum public home page
Public storefront (Archivum)
Book catalogue with search and filters
Catalogue with search & filters
Book detail page with metadata and inquiry form
Book detail & inquiry form
Admin dashboard with stats and recent activity
Admin dashboard
Inquiries management view
Inquiries management
Customer management view
Customer management

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.