Internal room booking platform with Nextcloud / CalDAV synchronization.
  • PHP 75.7%
  • Blade 19.8%
  • JavaScript 3.8%
  • CSS 0.7%
Find a file
2026-03-31 12:10:35 +02:00
app weekly-calendar: Data fetch scope Fix 2026-03-30 18:18:51 +02:00
bootstrap Phase-3F Implement Admin Request Queue 2026-03-04 18:58:19 +01:00
config Phase-3F: User Administration - Refactor user roles - mitarbeiter is extern and superadmin is defined with config file 2026-03-20 03:10:25 +01:00
database add new DemoSeeder 2026-03-31 12:10:35 +02:00
docs Refactor handling of guest_* according to ADR 013 - Update DB Modal Spec 2026-03-30 02:02:20 +02:00
lang/de remove hardcoded language strings. We use now php files for translations strings and remove the json translation implementation 2026-02-28 17:02:14 +01:00
public Initial Laravel project 2026-02-16 00:46:32 +01:00
resources Refactor handling of guest_* according to ADR 013 - Blade and JS Cleanup 2026-03-30 01:45:55 +02:00
routes Calendar Fix - Status filter should be only visable to Mitarbeiter or Admins 2026-03-29 01:39:39 +01:00
storage enable laravel debugbar 2026-02-26 23:36:35 +01:00
tests add new DemoSeeder 2026-03-31 12:10:35 +02:00
tmp Phase-3F: Update request queue ui specification 2026-03-03 19:11:55 +01:00
.editorconfig Initial Laravel project 2026-02-16 00:46:32 +01:00
.env.example Phase-3F: User Administration - Refactor user roles - mitarbeiter is extern and superadmin is defined with config file 2026-03-20 03:10:25 +01:00
.gitattributes Initial Laravel project 2026-02-16 00:46:32 +01:00
.gitignore Initial Laravel project 2026-02-16 00:46:32 +01:00
AGENTS.md Phase-0 validated and constitutionally accepted 2026-02-16 13:27:50 +01:00
artisan Initial Laravel project 2026-02-16 00:46:32 +01:00
composer.json Phase-3D.1: Implement RecurrenceExpansionService and add php-rrule 2026-02-28 22:12:02 +01:00
composer.lock Phase-3D.1: Implement RecurrenceExpansionService and add php-rrule 2026-02-28 22:12:02 +01:00
package-lock.json Phase-3 executed 2026-02-17 01:32:05 +01:00
package.json Phase-3 executed 2026-02-17 01:32:05 +01:00
phpunit.xml Phase-0 validated and constitutionally accepted 2026-02-16 13:27:50 +01:00
postcss.config.js Initial Laravel project 2026-02-16 00:46:32 +01:00
README.md Add development README 2026-02-16 01:16:11 +01:00
reasoning.md fixing some of the weekly view GUI Elemts. Legend should be at bottom and sticky. And Filters should be at one row. 2026-02-19 18:14:44 +01:00
tailwind.config.js Bring back booking status as visual border. Add tailwind safelist for booking status css classes 2026-02-19 23:25:17 +01:00
vite.config.js Initial Laravel project 2026-02-16 00:46:32 +01:00

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.