MCPSERV.CLUB
Galette

Galette

Self-Hosted

Efficient online membership and dues management for non‑profits

Active(93)
66stars
0views
Updated 4 days ago

Overview

Discover what makes Galette powerful

Galette is a PHP‑based, web‑centric membership management system designed for non‑profit organizations. From a developer standpoint it is a modular, MVC‑style application that exposes both an internal API and a set of extensible hooks. The core of Galette handles member records, subscription plans, event registrations, invoicing and reporting, all backed by a relational database (MySQL/MariaDB or PostgreSQL). The codebase follows PSR‑4 autoloading, uses Composer for dependency management, and relies on the Symfony Console component for CLI tasks. The UI is rendered with Twig templates, while JavaScript interactions are built around vanilla JS and a small amount of jQuery.

Language & Frameworks

Template Engine

Database

Routing & MVC

Overview

Galette is a PHP‑based, web‑centric membership management system designed for non‑profit organizations. From a developer standpoint it is a modular, MVC‑style application that exposes both an internal API and a set of extensible hooks. The core of Galette handles member records, subscription plans, event registrations, invoicing and reporting, all backed by a relational database (MySQL/MariaDB or PostgreSQL). The codebase follows PSR‑4 autoloading, uses Composer for dependency management, and relies on the Symfony Console component for CLI tasks. The UI is rendered with Twig templates, while JavaScript interactions are built around vanilla JS and a small amount of jQuery.

Architecture

  • Language & Frameworks: Pure PHP 8+, Composer‑managed, PSR‑4 autoloading. Uses Symfony Console for command line utilities and Doctrine DBAL for database abstraction.
  • Template Engine: Twig, enabling clean separation of logic and presentation. Styles are provided by Bootstrap 4+.
  • Database: Supports MySQL/MariaDB and PostgreSQL. The schema is versioned via Doctrine migrations, allowing developers to track changes across releases.
  • Routing & MVC: Custom lightweight router that maps URLs to controller classes. Controllers are thin, delegating business logic to service classes.
  • Dependency Injection: A simple container injects services such as the database connection, mailer, and configuration objects.

Core Capabilities

  • Member CRUD & Groups: Full REST‑like endpoints for creating, reading, updating and deleting members. Grouping and tagging features enable complex filtering.
  • Subscription & Payment: Configurable payment plans, automatic invoicing, and integration hooks for external payment gateways (e.g., PayPal, Stripe).
  • Event & Attendance: Register members for events, track attendance, and generate QR codes.
  • Reporting & Export: Built‑in CSV/Excel export, PDF invoice generation (via TCPDF), and dashboard widgets.
  • API & Webhooks: Exposes a JSON API for external applications; supports webhooks to notify third‑party services on member events.
  • Internationalization: Full i18n support via Gettext; translation files are hosted on Weblate for continuous collaboration.

Deployment & Infrastructure

Galette is a classic LAMP/LEMP stack application: Apache/Nginx + PHP-FPM + database. It can be deployed in a Docker container; official images are available on Docker Hub, simplifying CI/CD pipelines. For scalability, Galette supports horizontal scaling by separating the web tier from a shared database instance; session data is stored in PHP’s native file system, but can be swapped to Redis for clustered environments. The application is lightweight (< 50 MB codebase) and can run on low‑resource VPS or cloud instances.

Integration & Extensibility

  • Plugin System: Developers can create plugins that hook into lifecycle events (e.g., member_created, invoice_sent). Plugins are discovered via Composer autoloading and a simple manifest file.
  • Custom Fields & Forms: The admin UI allows adding arbitrary fields to members and events, which are then available in API responses.
  • Webhook & Callback Endpoints: External services can subscribe to member events; Galette will POST payloads in JSON format.
  • CLI Hooks: Custom console commands can be added by extending Symfony’s Command class, enabling scheduled tasks or batch processing.

Developer Experience

  • Documentation: Comprehensive developer docs (https://doc.galette.eu/en/develop) cover architecture, API usage, and plugin development. The code is well‑commented, and the repository follows semantic versioning.
  • Community & Support: Active mailing lists (users & developers), a bug tracker, and a translation platform provide multiple channels for assistance. The GPLv3 license ensures freedom to modify and redistribute.
  • Testing: Continuous integration runs tests on multiple PHP versions, database backends, and browser configurations via BrowserStack.

Use Cases

  • Association Management: Deploy Galette to manage member registrations, dues, and event participation for clubs or NGOs.
  • Volunteer Coordination: Track volunteer hours, certifications, and availability using custom fields and event registrations.
  • SaaS Integration: Expose Galette’s API to a front‑end SPA, or embed its member portal into an existing intranet.
  • Data Migration: Use Galette’s import/export utilities to migrate legacy membership data into a unified system.

Advantages

  • Open Source & GPLv3: No licensing costs, full source control for customization.
  • Lightweight Architecture: Minimal dependencies mean fast deployment and low overhead.
  • Extensible Plugin Framework: Developers can add domain‑specific logic without touching core code.
  • Robust API & Webhooks: Enables integration with modern payment processors, CRMs, or custom dashboards.
  • Community‑Driven: Regular updates, security patches, and active contributor base reduce maintenance burden.

In summary, Galette offers a well‑structured, PHP‑centric platform that balances ease of deployment with powerful extensibility. Its clear separation of concerns, comprehensive API surface, and active developer ecosystem make it a solid choice for teams looking to build or extend membership management solutions on their own infrastructure.

Open SourceReady to get started?

Join the community and start self-hosting Galette today