MCPSERV.CLUB
GRR

GRR

Self-Hosted

Resource management and booking platform

Active(93)
98stars
0views
Updated 10 days ago

Overview

Discover what makes GRR powerful

GRR is a self‑hosted resource management and reservation platform, originally derived from the MRBS project. It is written in PHP 7‑8 and relies on a MySQL/MariaDB backend, making it straightforward to integrate into existing LAMP stacks. The application exposes a rich set of web‑based interfaces for creating, editing and querying reservations, while also providing a programmatic API layer that developers can hook into for custom workflows or integrations.

Reservation Engine

Role‑based Access Control

Multi‑tenant Architecture

Extensible UI

Overview

GRR is a self‑hosted resource management and reservation platform, originally derived from the MRBS project. It is written in PHP 7‑8 and relies on a MySQL/MariaDB backend, making it straightforward to integrate into existing LAMP stacks. The application exposes a rich set of web‑based interfaces for creating, editing and querying reservations, while also providing a programmatic API layer that developers can hook into for custom workflows or integrations.

Key Features

  • Reservation Engine – Handles time‑slot allocation, conflict detection, and recurring bookings.
  • Role‑based Access Control – Fine‑grained permissions for users, groups and administrators.
  • Multi‑tenant Architecture – Supports several independent “sites” (resource pools) within a single installation.
  • Extensible UI – Customization files are stored in the personnalisation directory, allowing CSS/JS overrides and template edits without touching core code.
  • API & Webhooks – REST‑like endpoints (JSON) for CRUD operations on resources, bookings and users; optional webhooks can be configured to trigger external services on events such as booking creation or cancellation.

Technical Stack

LayerTechnology
ApplicationPHP ≥ 7.2 (≤ 8.3) with extensions: fileinfo, gd, mbstring, mysqli, mysqlnd, xml, intl
DatabaseMySQL ≥ 5.4 (≤ 8.4) or MariaDB; schema is flat and version‑controlled via migration scripts in sql/
Web ServerApache/Nginx with PHP‑FPM; supports .htaccess rewrites for clean URLs
LocalizationMultilingual support via PHP gettext; language packs are modular
LicensingGNU GPL v3 – fully open source with community contributions encouraged

Core Capabilities

  • Data Model – Resources, bookings, users, groups, sites, and permissions are stored in normalized tables; relationships are managed via foreign keys.
  • API Endpoints/api/v1/resources, /api/v1/bookings, /api/v1/users expose CRUD operations; authentication is handled via session cookies or API tokens.
  • Event Hooks – PHP callbacks (hooks.php) can be registered to run custom code on booking events.
  • Export/Import – CSV and iCalendar (ICS) support for interoperability with external calendars.

Deployment & Infrastructure

GRR is designed for simple self‑hosting: a single PHP directory plus a MySQL database. It runs natively on any LAMP/LEMP stack and is compatible with Docker; a ready‑made docker-compose.yml is available in the repository for rapid prototyping. For scalability, multiple web nodes can share a common database and file system (or use NFS/Gluster for the personnalisation folder). Horizontal scaling is limited by MySQL read/write contention; for high‑traffic deployments, a master‑slave replication setup is recommended.

Integration & Extensibility

  • Plugin System – Developers can drop PHP classes into plugins/ to extend functionality; the core loads them at runtime.
  • Webhooks – Configure URLs in the admin panel to receive JSON payloads on booking events.
  • Custom Scripts – The personnalisation directory allows overriding templates, adding JavaScript, or injecting custom PHP logic without modifying core files.
  • External Auth – Supports LDAP/Active Directory integration via PHP modules, enabling single‑sign‑on across enterprise environments.

Developer Experience

  • Documentation – Comprehensive online docs (https://devome.com/GRR/DOC/) cover installation, API usage, and customization.
  • Community – Active forum and Discord channel provide quick support; the codebase follows PSR‑4 autoloading conventions for easy IDE integration.
  • Configuration – A single config.php file holds database credentials, site settings, and feature flags; environment variables can override defaults for CI/CD pipelines.

Use Cases

ScenarioHow GRR Helps
Corporate Resource BookingEmployees reserve conference rooms, equipment, or shared vehicles with real‑time conflict detection.
Educational InstitutionsClassrooms and labs are managed via a multi‑tenant interface; teachers can schedule recurring sessions.
Co‑working SpacesMembers book desks or meeting rooms; automated billing can be tied to the API.
Event ManagementExternal partners submit reservations through webhooks, integrating with ticketing platforms.

Advantages

  • Open Source & GPL – No licensing costs, full source visibility for audit and modification.
  • Lightweight PHP Footprint – Low system requirements; runs on shared hosting or VPS.
  • Modular Architecture – Easy to replace the database layer or add new plugins without touching core logic.
  • Robust API – Enables seamless integration with modern front‑ends (React, Vue) or other back‑end services.
  • Community & Support – Active contributors and a dedicated forum mean bugs are addressed quickly.

In summary, GRR offers developers a proven, PHP‑based reservation engine that is both highly configurable and extensible. Its straightforward deployment model, coupled with a clear API surface, makes it an attractive choice for organizations looking to embed resource scheduling into existing web ecosystems.

Open SourceReady to get started?

Join the community and start self-hosting GRR today