Internal room booking platform with Nextcloud / CalDAV synchronization.
- PHP 75.7%
- Blade 19.8%
- JavaScript 3.8%
- CSS 0.7%
| app | ||
| bootstrap | ||
| config | ||
| database | ||
| docs | ||
| lang/de | ||
| public | ||
| resources | ||
| routes | ||
| storage | ||
| tests | ||
| tmp | ||
| .editorconfig | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| AGENTS.md | ||
| artisan | ||
| composer.json | ||
| composer.lock | ||
| package-lock.json | ||
| package.json | ||
| phpunit.xml | ||
| postcss.config.js | ||
| README.md | ||
| reasoning.md | ||
| tailwind.config.js | ||
| vite.config.js | ||
Room Booking Platform (V1)
Internal room booking platform with Nextcloud / CalDAV synchronization.
This project follows strict constitutional governance. All system behaviour is defined in the docs directory.
Development Environment (Local)
Requirements:
- PHP 8.2+
- Composer
- SQLite (local development only)
- Mailpit (SMTP testing)
Initial Setup
Create SQLite database:
touch database/database.sqlite
Run migrations:
php artisan migrate
Generate application key (required):
php artisan key:generate
Start development server:
php artisan serve
Mail Testing
Start Mailpit (required for SMTP testing):
mailpit
Default configuration:
MAIL_HOST=127.0.0.1
MAIL_PORT=1025
Web UI:
http://127.0.0.1:8025
Governance Rules (Critical)
Authoritative specifications:
- docs/01_project_constitution.md
- docs/02_database_model.yaml
- docs/03_codex_master_prompt.md
Codex MUST NOT invent behaviour outside constitutions.
If required documents are missing → STOP.
Database Rules
Production database: MariaDB (non-negotiable)
Local development MAY use SQLite.
No engine-specific SQL allowed.
Migrations define canonical schema.
Development Principles
- Deterministic behaviour required
- No silent failures
- No speculative abstractions
- Minimal diff principle
Warning
Do NOT modify architecture or schema without updating constitutions.
This system is constitution-driven.