All checks were successful
CI / Coding Standards (push) Successful in 43s
CI / PHPStan (push) Successful in 52s
CI / Tests (PHP 8.1) (push) Successful in 47s
CI / Tests (PHP 8.2) (push) Successful in 49s
CI / Tests (PHP 8.3) (push) Successful in 37s
CI / No Debug Code (push) Successful in 2s
All classes are now organised by domain (Availability, Booking, Auth). Each domain package contains its value object, repository, admin controller, REST endpoint, and any shortcode pages under a matching sub-namespace. Cross-cutting wiring (Plugin, AdminMenu, RestRegistrar, ShortcodeRegistrar, Schema) lives at src/ root. Tests mirror the domain structure. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.4 KiB
1.4 KiB
name, description, type
| name | description | type |
|---|---|---|
| unsupervised-schedular project context | WordPress lesson scheduling plugin — stack, architecture decisions, conventions | project |
WordPress plugin for instructor/student lesson scheduling. Full scaffold created 2026-03-30.
Stack: PHP 8.1+, WordPress 6.0+, Composer, PHPUnit 10, Brain\Monkey 2.7, Mockery, PHPStan, PHPCS/WPCS, Gitea Actions CI.
Why: New greenfield project for unsupervised.ca.
Key decisions:
- Custom DB tables (
us_availability,us_lessons) over CPTs — relational data, conflict detection, fast queries - REST API (
us-scheduler/v1) for all front-end interactions; templates are minimal shell divs, JS (vanilla) takes over - Instructors use wp-admin login; students use front-end
[us_student_login]shortcode callingwp_signon() - PSR-4 namespace
Unsupervised\Schedular\fromsrc/ - Package-by-domain architecture (restructured 2026-03-30):
src/Availability/,src/Booking/,src/Auth/— each domain contains its value object, repository, controller, REST endpoint, and any shortcode pages. Cross-cutting wiring (Plugin, AdminMenu, RestRegistrar, ShortcodeRegistrar, Schema) lives atsrc/root. Tests mirror the domain structure undertests/Unit/<Domain>/.
How to apply: When adding features, create a domain package under src/<Domain>/ with all related classes, mirror it in tests/Unit/<Domain>/, write a feature doc in docs/features/, then run composer test.