Web applications / University project

Matrix Hosting

A game server hosting panel, built on custom PHP MVC.

Matrix Hosting — project preview
PHP 8MySQLCustom MVCPDOPHPMailerBootstrap 5

The challenge

Build a complete hosting management system without a framework: customers order game servers and get support, while admins run users, games, plans, orders and servers from one panel.

My contribution

Wrote the MVC layer from scratch: a front controller, a regex router with route parameters, base Controller and Model classes and a PDO singleton. On top of it I built the customer area (ordering, server controls, support tickets, profile) and a separate admin panel with full CRUD. Approving an order automatically provisions a simulated server with an IP and port and emails the customer through PHPMailer.

How it works

A front controller passes each request to the custom router and the matching controller. Models access MySQL through PDO, while the customer and admin areas enforce role and ownership checks. An administrator approves an order, which creates a simulated server record with an IP and port and triggers a PHPMailer notification. Support tickets and replies connect the customer area to the admin workflow.

PROJECT FLOW / Application flow

An order through the hosting panel

  1. Place a customer order

    The PHP MVC app handles requests with role and ownership checks.

  2. Review as administrator

    The administrator approves the pending order.

  3. Create a server record

    PDO stores the simulated IP and port in MySQL.

  4. Notify and support

    PHPMailer sends a notice; tickets handle follow-up support.

Provisioning is simulated: this flow creates a database record, not a running game server.

What it covers

Outcome

A working hosting panel across 8 related MySQL tables, with role-based access, secure uploads and email notifications at every key step.

Project scope

This university project models a hosting management workflow. Server provisioning is simulated; approval creates a server record rather than deploying a live game server.