Self-hostable, open-source event discovery and management software for communities, organizations, and platform operators.
ISLAMU Event powers ISLAMU’s Islamic events instance, but the software itself is purpose-agnostic, white-label, and designed to be rebranded for any event ecosystem.
Pre-1.0 notice: ISLAMU Event is still before v1. Breaking changes may happen between releases. We avoid data-loss-class breaks where possible, but configuration changes may be required.
ISLAMU Islamic Events Instance · Quick Start · Docs · Roadmap
ISLAMU Event is a self-hostable event discovery and management platform for publishing, discovering, and operating events across one organization or many isolated tenants.
The public ISLAMU instance is Islamic-focused, but the software itself is purpose-agnostic, white-label, and designed to be rebranded for any event ecosystem.
- 🔍 Advanced Discovery: Event search with title, dates, location, categories, tags, and paging filters
- 👨👩👧👦 Culturally-Aware Filters (opt-in modules): Age ranges, gender segregation modes, madhab targeting, prayer-relative timing — only enabled by instances that choose them; never imposed on the software
- 🌐 Multi-Language Sessions: Event sessions with multiple language variants and localized content
- 📱 PWA & Responsive Design: Mobile-friendly Blazor UI with MudBlazor components; installable as a Progressive Web App
- ✅ RSVP & Registration: Waitlists, approval workflows, per-session registration limits, and capacity management
- 🎟️ Ticketing: Discover events with free or paid tickets; view published ticket types, price summaries, and availability directly in event discovery and detail pages
- 🤖 AI Assistant (when enabled): Chat with the assistant to discover events, ask questions in natural language, and let it draft registrations or RSVPs as confirmable proposed actions
- 📅 Single & Multi-Session Events: Conferences, seminars, and recurring programs with speakers, agendas, and language variants
- 📊 Flexible Publishing: Manage registrations, waitlists, approval workflows, capacity limits, and event visibility
- 👥 Member Management: Invite members, assign roles (Owner, Admin, Editor, Viewer), and track permissions
- 🎯 Modular Event Types: Custom fields, event aspects, and event templates for any kind of program
- 🧩 Custom Properties: Per-event-type custom fields, single- and multi-select options, relations, and typed validation — see Custom Properties
- 🔔 Notifications, Email & Webhooks: In-app notifications, built-in/Svix-compatible outgoing webhooks, and templated email pipelines — see Notifications, Webhooks, and Email Notifications
- 📇 Contact Sharing: Share contact information with explicit, revocable consent — see Contact Sharing
- 🎟️ Ticketing & Pricing: Create versioned ticket catalogs with multiple ticket types, capacity pools, and minor-unit pricing. Publish a catalog to attach structured pricing to an event; ticket price summaries appear in public discovery automatically. Draft, clone, and iterate before publishing
- 📬 Mailing List Integration (Listmonk): Optionally connect a self-hosted Listmonk instance to automatically sync attendee registrations as newsletter subscribers, with pre-confirmation support and per-tenant configuration
- 🤖 AI Assistant (when enabled): Ask the assistant to draft event listings, suggest categories/tags, and propose schedule improvements; every AI-proposed change is reviewed and explicitly confirmed before any side effect
- 🌍 Decentralization / Federation: Depending on if event federation support is enabled, publish once and have your event appear on all the event platforms that support federation. Depenging on if atproto authentication is enabled, Records are on your pds -> full ownership, no vendor lock-in.
- 🆓 100% Free & Open Source: Licensed under AGPL-3.0-or-later. Fully Open Source, not open core !
- 🐳 Minimal Standalone Deployment: One
Event.Standalonecontainer combines the ISLAMU Event API and Blazor BFF/UI with SQLite persistence. No external service is required for this minimum operational topology - 🐳 Deployment: Standalone Docker image, split Docker Compose topology, and .NET Aspire for local development
- 💼 Multi-Tenancy: Switch between single-tenant and SaaS modes at runtime without code changes — the most important adoption decision for self-hosters
- 🛠️ White-Label Control: Custom branding, domains, logos, navigation links, and policies per tenant
- 🔧 Admin Hierarchy: Instance admins, tenant admins, and organization admins with cascading settings
- 🛡️ Built-in Moderation & Verification: Moderation queues, organizer verification workflows, and structured appeal paths — see Governance and Authorization
- 🔌 Model Context Protocol (MCP) Server: The API hosts a stateless MCP adapter at
/mcpso AI agents, IDEs (VS Code, Copilot, Inspector), and external integrations can discover public events and propose actions through the normal confirmation flow — mutations never bypass authorization. See MCP Debugging - 🧠 AI-Ready Foundation: Provider-neutral AI Assistant, RAG ingestion contracts, and proposal-first tooling are wired through the same Cerbos-authorized, HAL-affordance-driven surface as the rest of the platform
- 🌍 Decentralization / Federation: Optional AT-Protocol Authentication and event federation support !
- 🗄️ Privacy Erasure Authority: GDPR-compliant user data erasure with two topology options: Co-located (default — erasure authority shares the main database, simplest to operate) or External Database (a dedicated isolated PostgreSQL instance for stricter compliance separation). Operators choose topology at deployment time; the runtime erasure receipt flow and provider-work reconciliation behave identically in both modes.
- 📬 Mailing List Integration (Listmonk): Integrate with a self-hosted Listmonk instance to sync attendee registrations as mailing-list subscribers. Connection, behavior, and privacy-erasure authority settings are independently configurable per tenant via grouped settings patches.
- 📚 Comprehensive Docs: Architecture, deployment, configuration, troubleshooting, and API reference
- 🔐 Enterprise Security: BFF pattern, built-in local authorization, environment-first secrets, and HATEOAS REST API; Cerbos, Keycloak, and Infisical integrations remain optional
- 🛡️ Absolute Data Sovereignty: Self-host on your own infrastructure (Docker, Coolify, Aspire, On-Prem) with total control over user and attendee data.
- 🎛️ ISLAMU Event Control Plane (optional, commercial): A separate commercial product for managed multi-instance operators. The Control Plane provides centralized fleet orchestration, automated instance provisioning, cross-instance telemetry, tenant quota management, and billing integration. ISLAMU Event itself remains fully self-hostable and open-source without it; the Control Plane is an add-on for operators running many instances at scale. (Still in development ! Not yet available)
This platform is designed to be flexible and self-hostable for any organization.
- Single-Tenant Mode: One organization or community per deployment
- Multi-Tenant SaaS Mode: Multiple isolated tenants with custom domains and branding
See Operations Guide for full deployment details and examples.
ISLAMU Event is built for white-label use:
- Change instance name and domain
- Customize logos, colors, and UI
- Define your own categories, tags, and policies
- Decide who can publish events and how verification works
See Configuration Guide for full customization options.
We treat security as a first-class citizen, not an afterthought.
- 🔐 Authentication: OAuth 2.0/OIDC via Keycloak
- 🛡️ Authorization: Runtime provider switching via system setting (Cerbos PDP or local DB-backed provider), with optional tenant BYO Cerbos
- Tenant Isolation: API-authoritative tenant resolution with EF Core global query filters for tenant-scoped data
- 🔍 Input Validation: FluentValidation + ASP.NET Core model binding
- 🚫 Data Integrity: Parameterized EF Core queries to eliminate SQL injection
- 🗝️ Secret Management: Environment-first secret loading with optional Infisical compatibility
- Observability: OpenTelemetry + structured logging with Serilog
- 🔒 HTTPS Hardening: HTTPS redirection and production HSTS support
- 🌐 CORS: Configurable origin whitelist
- ⏱️ Rate Limiting: ASP.NET Core middleware
ISLAMU Event is used by:
Using ISLAMU Event and want to add your project/organization to this list? Open a pull request!
The roadmap is tracked publicly in the Roadmap Kanban View. Use it to follow planned work, vote, comment,
There are many ways you can contribute to ISLAMU Event:
Non-Technical:
- 🐛 Report bugs
- 💡 Suggest features
- 📖 Improve documentation
- 🌐 Translate UI/docs
- 📣 Spread the word
Technical:
- 💻 Fix bugs
- ✨ Implement features
- 🧪 Write tests
- 📊 Improve performance
- 🎨 Enhance UI/UX
For local contribution, use the local-default Aspire loop:
git clone https://github.com/islamu-ngo/Event.git
cd Event
cp .env.example .env
curl -sSL https://aspire.dev/install.sh | bash # only needed when aspire is not installed
aspire runThis starts local infrastructure, migrations, API, Blazor, and the Aspire dashboard. For Docker-only development:
cp .env.example .env
docker compose config
docker compose up -d postgres redis keycloak-db keycloak keycloak-init islamu-event-api islamu-event-uiStart with Contributing. Code contributors should also read Getting Started for profile modes, optional Compose profiles, validation commands, and troubleshooting links, Governance, Quick Reference, and Architecture.
AI-assisted contributors should follow AGENTS.md.
Please read Contribution Guidelines for details on the process for submitting pull requests to us.
Before your pull request can be reviewed or merged, every non-bot contributor must sign the ISLAMU Contributor License Agreement. Signing is done in-PR: a bot posts instructions when the PR opens, and you reply with the exact sign phrase for the current CLA version. The v1.0 signature is recorded in signatures/v1.0/cla.json together with your GitHub username, user ID, pull request number, signing comment ID, comment body, and timestamp. See the CLA document for the current version and the full legal text.
The README is the entrypoint for new readers. docs/index.md is the full documentation map once you know the area you need.
| Reader | Best first page | Use when |
|---|---|---|
| Evaluator | Project, Architecture, Security Model | You want product scope, status, and architecture context. |
| Local developer | Getting Started, Testing, Troubleshooting | You want to build, run, and validate the app locally. |
| Self-hoster/operator | Self-Hosting, Configuration, Operations, Backup/Restore/Upgrade, ERP Integration | You want Docker Compose, infrastructure, secrets, health checks, upgrades, or ERP white-label embedding. |
| Contributor | First Contribution, Contributing, Quick Reference | You want the shortest safe path to a docs-only or small-bug PR. |
| API integrator | API Cookbook, API Reference, API Changelog | You want task-first API examples before the full API reference. |
| Frontend contributor | Blazor | You want client architecture, render policies, and UI conventions. |
| AI-assisted contributor | AGENTS.md, Contract Intents, Quick Reference | You need the repository contribution contract and required context-loading rules. |
For the complete documentation inventory, use docs/index.md. If a page gives task steps and another page gives exact keys/contracts, treat the task page as the workflow and the reference page as the source of truth.
| Layer | Technology |
|---|---|
| Runtime | .NET 10 |
| Architecture | Clean Architecture, CQRS, MediatR |
| UI | Blazor, MudBlazor |
| API | ASP.NET Core, REST/HAL, OpenAPI, Swagger, Scalar |
| Data | PostgreSQL, EF Core |
| Auth | Keycloak OIDC/OAuth2 |
| Authorization | Cerbos or local provider |
| Secrets | Environment variables and Infisical-compatible provider abstraction |
| Observability | Serilog, OpenTelemetry |
| Deployment | Docker Compose, .NET Aspire for development |
| Tests | TUnit, bUnit, integration and architecture tests |
Join the ISLAMU community on Discord and our GitHub Discussions. We follow a Code of Conduct in all our community channels.
Feel free to ask questions, report bugs, participate in discussions, share ideas, request features, or showcase. We would love to hear from you.
Give us a Star ⭐️
If you discover a security vulnerability in ISLAMU Event, please report it responsibly instead of opening a public issue. We take all legitimate reports seriously and will investigate them promptly. See the Security Policy for more info.
To disclose any security issues, please email us at contact@openislamu.org.
If you maintain a fork of ISLAMU Event and discover or fix a security vulnerability, please report it privately first using the process in our Security Policy instead of opening a public issue or public pull request before coordination.
We are grateful for security fixes from forks. To merge an exact patch into the official ISLAMU Event repository, every non-bot contributor must sign the ISLAMU Contributor License Agreement. This keeps the official codebase compatible with both the public AGPL-3.0-or-later release and ISLAMU’s alternative licensing path.
If you cannot or do not want to sign the CLA, you can still help by privately sharing the vulnerability details, affected versions, reproduction steps, and the general remediation approach. The ISLAMU maintainers may then implement an independent fix.
| Amir Akrari |
|---|
![]() |
I am deeply grateful to all our amazing contributors.
- Keycloak: An Open Source Identity and Access Management Provider.
- Cerbos: An Open Source Policy Decision Point.
- Infisical: An Open Source Secret Management Platform.
- MudBlazor: An Open Source Blazor UI library that simplifies the creation of beautiful websites and webapps.
- ROOST Coop: An Open Source Review and Moderation Platform.
- ROOST Osprey: An Open Source Investigation and Rules Engine.
- Svix: An Open Source Webhooks Service.
- Penpot: An Open Source Design Tool.
- Plane: An Open Source Project Management Platform that unifies projects, knowledge and agents with all-in-one workspace: projects, wiki, and AI.
- Coolify: An Open Source Platform as a Service, alternative to Vercel, Heroku, Netlify, and Railway for easy deploying to your own servers.
- Weblate: An Open Source Translation Management Platform.
- Kener: An Open Source Status Page.
- Luma: A Modern Event Management & Discovery Platform
- Smoke Signals: An Event & RSVP Management and Discovery Web Application built on top of ATProtocol.
- Mangadex: A Manga Discovery Platform with advanced filtering and multi-language support.
- Plane: An Open Source Project Management Platform that unifies projects, knowledge and agents with all-in-one workspace: projects, wiki, and AI.
- ISLAMU Event: Event Platform & Management System.
- I-VSD: Islamic Value Sensitive Design: A Framework for Provider-Mediated Software Solutions
ISLAMU is built by one person — Amir Akrari — entirely on personal free time and personal funds.
ISLAMU ASBL (Association Sans But Lucratif — a non-profit association) is being established in Belgium. Once registered, ISLAMU ASBL will become the legal steward of all ISLAMU open-source projects and charitable activities.
ISLAMU will not offer its open-source software as a hosted SaaS. Instead, sustainability is built on:
- Fundraising & Grants: Crowdfunding campaigns, foundation grants, and public-interest funding for open-source digital infrastructure
- Sponsorships: Ranked sponsorship tiers — sponsors receive recognition and visibility; every euro goes back into the non-profit
- Official Partnerships: Organizations that want to offer ISLAMU software as a hosted service can become Official ISLAMU Partners. Partners are vetted, listed on the ISLAMU website, and actively recommended and marketed by ISLAMU. ISLAMU does not compete with its partners; we redirect and endorse them
- ISLAMU Event Control Plane — a commercial fleet-management product for multi-instance operators still in development (see above)
- Consultation & Support — professional consulting around ISLAMU software deployment, customization, and integration
If you are a company or institution that wants to support this work, reach out at contact@openislamu.org or start a conversation in our Discord.
For any question or problem reporting, please consider opening a new issue or send an email to contact@openislamu.org or create a new post in our Discord Server.
You can find details here.
This project is licensed under the terms of GNU AGPL-3.0-or-later.
The minimum operational deployment is the single Event.Standalone image: the ISLAMU Event API and Blazor BFF/UI run in one process with SQLite persistence. Application, Data Protection, and embedded privacy-erasure migrations run in that process before it accepts traffic. PostgreSQL, SQL Server, MariaDB, MySQL, Redis, Keycloak, Cerbos, MinIO/S3, SMTP/Mailpit, Svix, Weblate, Formbricks, Coop, Osprey, AI providers, federation services, and external observability backends are optional capabilities, not requirements of the standalone core.
The AGPL-3.0-or-later license and any alternative license offered by ISLAMU apply only to material that ISLAMU owns or is authorized to license. Third-party libraries, container images, services, datasets, fonts, and other assets retain their respective licenses, public-domain status, and other applicable terms. Including an optional integration or deployment manifest in this repository does not relicense that third-party material. See the Self-Hosting Guide and release dependency policy.
ISLAMU Event inbound contributions are governed by the ISLAMU Contributor License Agreement (CLA). Every non-bot contributor must sign the CLA before a pull request can be merged.
Why a CLA alongside AGPL-3.0-or-later? ISLAMU Event remains publicly available under AGPL-3.0-or-later. The CLA gives the ISLAMU project steward an additional inbound license from contributors so the future nonprofit can also offer ISLAMU-owned material under alternative terms for sustainability, enterprise adoption, public-sector procurement, hosted-service, nonprofit, humanitarian, or special social-impact deployments. It does not override any third-party license.
The CLA is versioned. The current version and full legal text live in legal/CLA.md. Signed contributor records (who, when, CLA version, pull request, comment) are stored in signatures/v1.0/cla.json on the develop branch and are committed automatically by the CLA workflow.



