Skip to content

🏳️‍🌈 Revel

An open-source, community-focused event management and ticketing platform.

Status License Live Demo Discord

Revel is an event management platform designed with community at its heart. Initially created to serve the specific needs of queer, LGBTQ+, and sex-positive communities, it is built to be event-agnostic, scalable, and a powerful tool for any group that values privacy, control, and transparency.

Unlike monolithic corporate platforms that treat events as transactions, Revel treats them as part of a larger community ecosystem.


✨ Live Demo

Try Revel yourself at demo.letsrevel.io

Note: Emails are dry-run, and demo data resets daily at 00:00 CET.


🤔 Why Revel? The Philosophy

Revel addresses the shortcomings of existing event platforms, especially for communities that prioritize safety, autonomy, and trust.

For Communities, Not Corporations

Mainstream platforms often have restrictive content policies or lack privacy features, creating challenges for adult, queer, or activist-oriented events. Revel is explicitly designed to support these communities.

Open, Transparent & Self-Hostable

Avoid vendor lock-in. Host Revel on your own infrastructure for free, giving you complete control over your data and eliminating platform commissions. Its open-source nature means you can trust the code you run.

Fair & Simple Pricing

For those who choose our future hosted version:

  • No charge for free events or events where you handle payments yourself
  • 1.5% + €0.25 commission on paid tickets sold through Revel (stripe fees not included, and they are the same)

This significantly undercuts the high fees of major platforms while keeping the project sustainable and open source.


🚀 Key Features

Revel combines the ticketing power of platforms like Eventbrite with the community-building tools of Meetup, all under a privacy-minded, open-source framework.

🏘️ Community & Membership

  • Organizations: Create and manage your community's central hub with customizable visibility (Public, Private, Members-Only)
  • Roles & Permissions: Granular permission system with Owner, Staff, and Member roles
  • Membership System: Manage member rosters, enable members-only events, foster belonging

🔒 Trust, Safety & Privacy

  • Advanced Attendee Screening: Gate event eligibility with custom questionnaires for automatic or manual review
  • Full Data Ownership: When self-hosting, you control your data—no third-party trackers, no data selling
  • Tailored Invitations: Send direct invitations that can waive requirements for trusted guests
  • GDPR Compliant: Built-in data export, account deletion, and privacy controls

🎫 Core Event & Ticketing

  • Event & Series Management: Create single events or recurring series under your organization
  • Flexible Ticketing: Support for paid/free tickets (powered by Stripe, including Pay What You Can mode) and simple RSVPs
  • QR Code Check-In: Streamlined event entry with QR code scanning
  • Potluck Coordination: Built-in system for attendees to coordinate bringing items

📱 Modern User Experience

  • Mobile-First Design: Optimized for mobile devices with progressive enhancement
  • Accessibility First: WCAG 2.1 AA compliance as standard, not an afterthought
  • Fast & Responsive: Hybrid SSR/CSR rendering for optimal performance
  • Real-Time Features: Live check-in, potluck updates, and instant notifications

💻 Tech Stack

Backend

Python Django PostgreSQL

  • Python 3.13+ with Django 5.2
  • Django Ninja for fast, auto-documenting REST API
  • PostgreSQL with PostGIS for geo-features
  • Celery + Redis for async tasks (emails, evaluations)
  • Stripe for payment processing
  • Docker for containerized deployment

Frontend

SvelteKit TypeScript Tailwind

  • SvelteKit with Svelte 5 (modern Runes API)
  • TypeScript (strict mode) for type safety
  • TanStack Query for server state management
  • Tailwind CSS + shadcn-svelte for UI
  • Zod for runtime validation
  • Vitest + Playwright for comprehensive testing

🏁 Quick Start

Backend Setup

# Clone the backend repository
git clone https://github.com/letsrevel/revel-backend.git
cd revel-backend

# Download required geo data (see backend README for links)
# Place IP2LOCATION-LITE-DB5.BIN and worldcities.csv in src/geo/data/

# Run automated setup
make setup

# Start the server
make run

API available at: http://localhost:8000 API docs: http://localhost:8000/api/docs

Frontend Setup

# Clone the frontend repository
git clone https://github.com/letsrevel/revel-frontend.git
cd revel-frontend

# Install dependencies
pnpm install

# Generate API client from backend OpenAPI spec
pnpm generate:api

# Start development server
pnpm dev

Frontend available at: http://localhost:5173

Prerequisites: Node.js 20+, pnpm 9+, Python 3.13+, Docker, PostgreSQL


📂 Architecture

Repositories

  • revel-backend - Django REST API, business logic, database
  • revel-frontend - SvelteKit web application
  • infra - Production infrastructure with Docker Compose, Caddy reverse proxy, and complete observability stack (Grafana, Prometheus, Loki, Tempo, Pyroscope)

Key Design Patterns

Backend:

  • Clean separation: Controllers → Services → Models
  • Type-safe with mypy strict mode
  • Comprehensive test coverage with pytest
  • OpenAPI auto-generation for API documentation

Frontend:

  • Hybrid SSR/CSR rendering strategy
  • Auto-generated TypeScript client from OpenAPI spec
  • Component-driven architecture with Svelte 5 Runes
  • Accessibility-first development (WCAG 2.1 AA)

🎉 Latest Release: v1.0.0

Released: November 19, 2025

Revel v1.0.0 is the first major release of our open-source, community-focused event management platform. This release delivers a complete, production-ready system with 200+ API endpoints across 18 controllers.

Highlights

  • Complete Event Management: Single events, recurring series, flexible ticketing (paid/free/PWYC), RSVPs, waitlists, and QR code check-in
  • Community Building: Organizations with membership tiers, roles & permissions, and token-based invitations
  • Advanced Screening: Dynamic questionnaires with LLM-powered evaluation for attendee screening
  • Multi-Channel Notifications: In-app, email, and Telegram notifications with granular user preferences
  • Privacy-First: GDPR-compliant with full data export/deletion, malware scanning, and 2FA support
  • Developer Experience: Full type safety (mypy strict), comprehensive test suite, automatic OpenAPI docs
  • Observability: Complete LGTM stack (Loki, Grafana, Tempo, Mimir, Pyroscope) with distributed tracing and continuous profiling
  • Internationalization: Support for English, German, and Italian (work in progress)

Tech Stack: Django 5.2+, Django Ninja, PostgreSQL with PostGIS, Celery + Redis, Python 3.13+

Self-Hosting: Completely free and open-source under MIT license. For the future hosted version: 3% + €0.50 per paid ticket, no charge for free events.

Read the full release notes →


🤝 Contributing

We welcome contributions from developers of all skill levels!

How to Contribute

  1. Check open issues or frontend issues
  2. Read the CONTRIBUTING.md guidelines
  3. Fork the repository and create a feature branch
  4. Write tests for your changes
  5. Submit a pull request

Development Notes

Backend:

  • Follow Django best practices
  • Write comprehensive tests (aim for >90% coverage)
  • Use type hints and pass mypy strict checks
  • Document API endpoints with proper schemas

Frontend:

  • Use Svelte 5 Runes (not legacy reactive syntax)
  • Maintain WCAG 2.1 AA accessibility standards
  • Design mobile-first, enhance for desktop
  • Write unit tests with Vitest, E2E tests with Playwright

⚠️ Frontend Caveat

The backend is carefully architected and tested. The frontend, however, was shamelessly vibe-coded using Claude Code. It's a bit of a spaghetti mess, but it works! Any help cleaning it up is greatly appreciated!


♿ Accessibility Commitment

Revel is committed to being accessible to everyone:

  • ✅ Keyboard navigation for all interactive elements
  • ✅ Screen reader support with semantic HTML and ARIA labels
  • ✅ WCAG AA color contrast standards (4.5:1 minimum)
  • ✅ Clear focus indicators
  • ✅ Responsive design that works on all devices
  • ✅ Progressive enhancement (core functionality without JS)

We test with automated tools (axe, Lighthouse) and manual testing with screen readers.


📜 License

This project is licensed under the MIT License. See LICENSE for details.


🔗 Links


🙏 Acknowledgments


💖 Support the Project

If you find Revel useful, consider:

  • ⭐ Starring the repositories
  • 🐛 Reporting bugs and suggesting features
  • 💻 Contributing code or documentation
  • 📢 Spreading the word in your community

Built with love for communities that value privacy, safety, and autonomy.

Pinned Loading

  1. revel-backend revel-backend Public

    The Django backend of the Revel event platform project

    Python 69 12

  2. revel-frontend revel-frontend Public

    The Frontend of the Revel Event Manager

    Svelte 7 4

Repositories

Showing 4 of 4 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…