The repo is split into a publishable static layer and a runnable PHP layer.

This keeps GitHub Pages clean while preserving a real backend implementation for local use and review.

`site/`

Static HTML pages, a shared stylesheet, and the published narrative for the project.

`backend/`

Local PHP demo pages, the database helper, configuration, SQL schema, and workflow notes.

`legacy/`

Imported exercises from earlier work, removed from the main surface but still retained in the repository.

Root redirect

The root index.html forwards visitors into the static showcase for a clean Pages deploy.

Create customer

Accepts a customer payload and stores it after validation through a prepared statement.

List customers

Reads the stored rows from the customers table and renders them in a table view.

Database setup

The schema lives in backend/sql/schema.sql and defines a single table with a timestamp.

Connection setup

The connection is centralized in backend/database.php and reads settings from backend/config.php.

Setup steps
  1. Import backend/sql/schema.sql into MySQL.
  2. Set local credentials in backend/config.php.
  3. Serve the backend/ directory through PHP.
  4. Open backend/index.php in the browser.
Concern Current choice
Public hosting GitHub Pages with static files from the repository.
Server runtime Local PHP execution using the cleaned backend files.
Persistence MySQL customer table with one simple entity model.