The Laboratory
A multi-app experimental territory housing three Laravel 12 + Vue 3 applications, four VS Code extensions, and one npm package. Personal project used by friends, deployed on Railway.
Tech Stack
- Backend: Laravel 12, PHP 8.4 (per experiment)
- Frontend: Vue 3, TypeScript (per experiment)
- Database: PostgreSQL
- Hosting: Railway
- Default branch:
main
Architecture
The Laboratory is an orchestrator repository containing multiple independent experiments as submodules. Each experiment is a full-stack Laravel + Vue application with its own CI pipeline, database, and deployment.
All experiments follow the same Action pattern as the other projects — final readonly action classes, Form Request → DTO → Action pipeline, and architecture tests enforcing conventions.
Experiments
| Experiment | Domain | Description |
|---|---|---|
| The Gatekeeper | Authentication | Centralized OAuth provider serving the other experiments. Manages users, sessions, and cross-experiment authentication. |
| The War Table | Gaming | Helldivers 2 companion app. Consumes game API data and presents strategic overviews. |
| The Crucible | Fitness | Strava integration for activity tracking and analysis. |
Gadgets
Four VS Code extensions and one npm package at early versions (v0.1.0). Secondary artifacts — the experiments are the primary focus.
Cross-App Integration
The experiments communicate through The Gatekeeper's OAuth system. Users authenticate once via Gatekeeper and access other experiments via token-based authorization. This creates a shared session model across subdomains.
Key Decisions
| Decision | Status | Impact |
|---|---|---|
| Config Attribute Injection | Accepted | #[Config] attribute for all config access |
| Cascade Deletion | Accepted | Explicit deletion, no database cascading |
| Action Class Architecture | Accepted | Shared pattern across all experiments |
| FormRequest → DTO Flow | Accepted | Type-safe pipeline in all experiments |
| Domain-Driven Frontend | Accepted | Vertical slices by business domain |
Active Campaigns
| Campaign | Type | Status |
|---|---|---|
| Quality baseline | Quality Enforcement | Planned — Quartermaster M1 pending |
| Security hardening | Fortification | In Progress — Tier 1 quick wins deployed (session fixation, token encryption) |