- 🔒 Restrict event creation, editing, and deletion to Meetup leaders (`is_leader`) and creators for consistency across APIs, frontend, and MCP. - ➕ Add new APIs for leader delegation: assign/remove Meetup leaders via `meetup_user.is_leader`. - 🛠️ Replace loose member checks with specific leadership checks in policies, controllers, and views. - 🧪 Add exhaustive tests to ensure only eligible leaders execute critical actions (e.g., event creation/edit, Meetup updates). - 🔄 Refactor pivot relationships and models (`leadByMe`, `isLeader`) for explicit leadership handling. - ✨ Introduce artisan command `meetups:promote-existing-leaders` to transition legacy data.
BookCase and OrangePill models, factories, migrations, and related references. Added tests for new service and meetup creation flows. Updated PHPUnit settings and browser-specific configurations.
Hosted:
- de-DE: https://portal.einundzwanzig.space/de/meetups
- de-AT: https://portal.einundzwanzig.space/at/meetups
- de-CH: https://portal.einundzwanzig.space/ch/meetups
- pl-PL: https://portal.dwadziesciajeden.pl/pl/meetups
- hu-HU: https://portal.huszonegy.world/hu/meetups
Host your national domain?
To add your national domain, you need to create a CNAME record pointing to portal.einundzwanzig.space.
Here's how:
- Add a subdomain like
portal.yourdomain.tld - Create a CNAME record pointing to
portal.einundzwanzig.space
DNS provider CNAME settings:
Type: CNAME
Name/Host/Alias: portal
Target/Value/Destination: portal.einundzwanzig.space
After setting up your CNAME, please notify the repository owner to refresh SSL certificates to include your domain.
Contributing and Proposals
Development
Prerequisites
- PHP 8.3+
- PostgreSQL (running locally or as a container)
- Redis (running locally or as a container)
- Node.js + Yarn
Installation
cp .env.example .env
composer install
(you need a valid Flux Pro license or send a message to Nostr - The Ben)
Migrate and seed the database
php artisan migrate:fresh --seed
Laravel storage link
php artisan storage:link
Install node dependencies
yarn
Start development environment
composer run dev
This starts the PHP dev server, queue worker, Pail log viewer, and Vite concurrently.
Update dependencies
yarn
Security Vulnerabilities
If you discover a security vulnerability within this project, please go to https://gitworkshop.dev. All security vulnerabilities will be promptly addressed.
License
Open-sourced software licensed under the MIT license.