MCPSERV.CLUB
Admidio

Admidio

Self-Hosted

Open‑source membership and access control for groups

Active(95)
407stars
0views
Updated 1 day ago

Overview

Discover what makes Admidio powerful

Admidio is a PHP‑based, open‑source Human Resources Management system that focuses on membership and role management for associations and organizations. From a developer’s point of view, it acts as a modular user‑management engine that can be embedded into existing web applications or deployed as a standalone portal. The core of the system is a **role‑based access control (RBAC)** framework that maps organizational hierarchies to database tables, allowing fine‑grained permissions on every entity (profiles, events, documents). Admidio’s architecture is intentionally lightweight: it relies on the LAMP/LEMP stack (PHP ≥7.2, MySQL 5+ or PostgreSQL 9+) and follows the Model‑View‑Controller pattern with a custom templating layer. This makes it easy to audit, extend, or replace individual components without touching the core.

Language & Framework

Database

Templating

Internationalization

Overview

Admidio is a PHP‑based, open‑source Human Resources Management system that focuses on membership and role management for associations and organizations. From a developer’s point of view, it acts as a modular user‑management engine that can be embedded into existing web applications or deployed as a standalone portal. The core of the system is a role‑based access control (RBAC) framework that maps organizational hierarchies to database tables, allowing fine‑grained permissions on every entity (profiles, events, documents). Admidio’s architecture is intentionally lightweight: it relies on the LAMP/LEMP stack (PHP ≥7.2, MySQL 5+ or PostgreSQL 9+) and follows the Model‑View‑Controller pattern with a custom templating layer. This makes it easy to audit, extend, or replace individual components without touching the core.

Technical Stack

  • Language & Framework: Pure PHP (no external framework) with object‑oriented design. The codebase is split into adm_program (core logic) and adm_plugins (extension points).
  • Database: Supports both MySQL/MariaDB and PostgreSQL; the schema is versioned in SQL migration files, enabling automated upgrades.
  • Templating: Uses a simple PHP‑based template system (adm_theme) that can be swapped for Twig or Blade if desired.
  • Internationalization: All strings are externalized in language files; the project ships with 30+ locales, making it trivial to add new translations.
  • Security: Built‑in CSRF protection, input sanitization, and password hashing (bcrypt). The RBAC engine enforces permissions at the controller level.

Core Capabilities

FeatureTechnical Detail
Dynamic Roles & GroupsRole definitions are stored in roles and groups tables; developers can create custom role hierarchies via the admin UI or directly in SQL.
Customizable ProfilesProfile fields are defined in the profile_fields table; API endpoints (/api/profile) expose CRUD operations for programmatic updates.
Relationship ManagementBidirectional relationships (spouse, parent‑child) are represented in a relationships table; helper functions generate traversal queries.
Event & CalendarEvents are stored in events; the system exposes a REST‑style API (/api/events) for integration with external calendars (Google, Outlook).
Media Gallery & E‑cardsPhoto albums and e‑card templates are managed via photos and ecard_templates; images are stored in the filesystem with a configurable path.
Messaging & EmailUses PHP’s mail() or SMTP libraries; templates are stored in the DB and can be overridden by plugins.
Import/ExportCSV/Excel import scripts (import.php) use PHP‑Spreadsheet under the hood; export routes return JSON, CSV, PDF via FPDF.
Plugin SystemPlugins reside in adm_plugins; each plugin implements a defined interface (AdmidioPluginInterface) and can hook into lifecycle events.

Deployment & Infrastructure

Admidio is designed for self‑hosting on any LAMP/LEMP server. It requires minimal resources (≈30 MB of RAM, 1 CPU core) and can run behind Apache or Nginx with PHP‑FPM. The repository includes a Dockerfile and a minimal docker-compose.yml that spins up PHP, MySQL, and Nginx in one command. For scalability, developers can:

  • Deploy multiple PHP workers behind a load balancer.
  • Use a read‑replica MySQL/PostgreSQL setup for heavy query loads.
  • Store media on an external object store (S3, MinIO) by configuring the media_path in config.php.
  • Cache rendered templates with Redis or APCu for faster response times.

Integration & Extensibility

Admidio exposes a RESTful API (JSON endpoints) for all major entities, making it straightforward to integrate with front‑end frameworks (React, Vue) or other back‑ends. Webhooks can be configured to trigger on user creation, role changes, or event registrations. The plugin architecture allows developers to:

  • Add new modules (e.g., payroll, time tracking) without touching core code.
  • Override templates or CSS to match brand guidelines.
  • Hook into the authentication flow (OAuth, LDAP) by implementing the AdmidioAuthInterface.
  • Extend database schema with migration files that are automatically applied during updates.

Developer Experience

The codebase follows PSR‑4 autoloading and includes inline PHPDoc comments, which aid IDE autocomplete. The official documentation (online wiki) covers installation, API usage, and plugin development guides. Community support is active on GitHub issues and a dedicated forum; contributors frequently submit pull requests for new features or bug fixes. Licensing is GPL‑v3, which allows commercial use while ensuring the core remains open.

Use Cases

  1. Association Management – A non‑profit can deploy Admidio to manage members, events, and document repositories with minimal custom code.
  2. Intranet User Directory – A company can embed Admidio’s profile and role system into its intranet, exposing employee data via API to HR tools.
  3. Event Registration Platform – The event module can be used as a lightweight registration system for conferences, with email notifications and CSV exports.

Open SourceReady to get started?

Join the community and start self-hosting Admidio today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
GPL-2.0
Stars
407
Technical Specs
Pricing
Open Source
Database
Multiple
Docker
Official
Supported OS
LinuxDocker
Author
Admidio
Admidio
Last Updated
1 day ago