A server-rendered intranet application built with procedural PHP, MySQL/PDO, and Bootstrap 5.3.2. Manages products, materials, orders, and Bills of Materials (BOMs).
- PHP 7.4+
- MySQL 5.7+
- Apache (e.g. XAMPP)
- Create a MySQL database and import the schema:
source sql/init.sql
- Configure database credentials in
includes/db.phpor via environment variables:DB_HOST(default:localhost)DB_NAME(default:aegisnet)DB_USER(default:root)DB_PASS(default: empty)
- Place the files in your web server's document root.
- Open
login.phpin your browser.
- Full CRUD interface for finished goods with typed specification columns
- CSV export and import
- Accessible via
products.php
- Manage raw materials with stock levels, supplier info, and warehouse locations
- CSV export and import (minimum 9 fields required)
- Accessible via
materials.php
- Customer order tracking with status columns:
versendet,verpackt,in_produktion,offen - Row color coding: green = fully shipped, brown = fully packed
- CSV export and import
- Accessible via
orders.php
- Versioned BOMs linking products to materials with quantities
- Accessible via the Products module
- Session-based login with role support (
user,admin) - All mutating endpoints are protected by CSRF token validation
- To create the first admin user, insert directly via SQL:
INSERT INTO users (username, password_hash, role) VALUES ('admin', '<bcrypt_hash>', 'admin');
- All database queries use PDO prepared statements
- Passwords hashed with
password_hash/password_verify - Output escaped with
htmlspecialchars()throughout