Demo Application Overview
Phexium ships with a demo application (app/demo/) that demonstrates framework capabilities through a library management system. This application serves as a reference implementation, not as boilerplate to extend.
Purpose
The demo application showcases:
- Clean Architecture layer separation
- Both architectural modes (Bus Mode and Direct Mode)
- Domain-Driven Design patterns
- Event-driven communication
- RBAC-based authorization
Modules
| Module | Purpose | Architecture Mode |
|---|---|---|
| Homepage | Welcome page | Direct Mode (UseCase) |
| Library | Book catalog management | Bus Mode (CQRS) |
| Loan | Borrowing and returns | Bus Mode (CQRS) |
| User | Authentication | Bus Mode (CQRS) |
Plus a Shared module containing cross-cutting concerns.
Configuration
Demo-specific configuration resides in config/demo/:
routes.php- HTTP routingevents.php- Event subscriptionspermissions.php- RBAC permissionscontainer.php- Dependency injectionbootstrap.php- Application bootstrap
Access
The demo runs at http://localhost:8080 with two user roles:
- Admin (
admin@phexium.com) - Full access - User - Can view own loans and borrow books
API Endpoints
GET /api/books- List all booksPOST /api/books- Create a bookGET /api/books/{id}- Get book details
See Also
- Clean Architecture - Layer separation demonstrated
- Bus Mode - Library/Loan/User modules
- Direct Mode - Homepage module
- Domain-Driven Design - DDD patterns showcased
- Event-Driven Architecture - Event-driven communication
- RBAC Permissions - Authorization example