Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,143 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ISLAMU Event

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.

GitHub Workflow Status GitHub License GitHub Repo Stars GitHub Last Commit Contributors Discussions Discord

ISLAMU Islamic Events Instance · Quick Start · Docs · Roadmap

About ISLAMU Event

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.

Event List Screenshot

✨ Who It Serves

Event Seekers

  • 🔍 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

Event Organizers

  • 📅 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.

Platform Owners & Self-Hosters

  • 🆓 100% Free & Open Source: Licensed under AGPL-3.0-or-later. Fully Open Source, not open core !
  • 🐳 Minimal Standalone Deployment: One Event.Standalone container 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 /mcp so 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)

Deployment & Hosting Options

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.

🎨 Branding & Customization

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.

🛡️ Enterprise Security & Compliance

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

Used in production

ISLAMU Event is used by:

ISLAMU


Using ISLAMU Event and want to add your project/organization to this list? Open a pull request!

Roadmap

The roadmap is tracked publicly in the Roadmap Kanban View. Use it to follow planned work, vote, comment,

Roadmap Kanban View

🤝 Contributing

There are many ways you can contribute to ISLAMU Event:

Non-Technical:

Technical:

  • 💻 Fix bugs
  • ✨ Implement features
  • 🧪 Write tests
  • 📊 Improve performance
  • 🎨 Enhance UI/UX

Quick Start

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 run

This 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-ui

Start 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.

✍️ Contributor License Agreement

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.

📚 Documentation

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.

🏗️ Technology Stack (v0.1.0)

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

Community

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 ⭐️

🛡️ Security Disclosure

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.

Security fixes from forks

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.

Contributors

Core Maintainer

Amir Akrari
Amir Akrari

I am deeply grateful to all our amazing contributors.

Contributors Image

📊📈 Repo Stats

Repo Stats

🙏 Acknowledgement

  • 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.

Inspiration (UI/...)

  • 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 Solutions

  • ISLAMU Event: Event Platform & Management System.
  • I-VSD: Islamic Value Sensitive Design: A Framework for Provider-Mediated Software Solutions

🌱 Sustainability

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.

How ISLAMU sustains itself

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.

📞 Contact

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.

Privacy Policy

You can find details here.

📄 License

This project is licensed under the terms of GNU AGPL-3.0-or-later.

Standalone Core And Optional Services

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.

Contributor License Agreement

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.