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
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Tags
Explore More Apps
PictShare
Self‑hosted image, GIF, MP4 and text hosting with URL manipulation
2FAuth
Self‑hosted 2FA manager for desktop and mobile
Suroi
Open‑source 2D battle royale game
CSA Admin
Effortless CSA & ACP management platform
Coral
Open‑source, AI‑powered commenting for safer conversations
Vvveb CMS
Drag‑and‑drop CMS for websites, blogs, and eCommerce