https://github.com/austinginder/localmeet
Self-starting local meetups
https://github.com/austinginder/localmeet
meetups opensource wordpress
Last synced: 3 months ago
JSON representation
Self-starting local meetups
- Host: GitHub
- URL: https://github.com/austinginder/localmeet
- Owner: austinginder
- License: mit
- Created: 2021-03-04T18:23:34.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-04-06T13:26:55.000Z (about 4 years ago)
- Last Synced: 2026-01-23T10:46:54.006Z (5 months ago)
- Topics: meetups, opensource, wordpress
- Language: PHP
- Homepage: https://localmeet.io
- Size: 1.52 MB
- Stars: 6
- Watchers: 3
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
- License: license.txt
Awesome Lists containing this project
README
# 
## Self-starting local meetup groups
LocalMeet is an open source meetup platform built as a WordPress plugin. It turns a WordPress site into a full-featured, self-hosted alternative to Meetup.com — with groups, events, RSVPs, email notifications, and a single-page app frontend.
> **Note:** LocalMeet takes over the entire frontend of your WordPress site. Only install on a dedicated WordPress instance.
### Features
**Groups**
- Create and manage meetup groups with Markdown descriptions and custom slugs
- Invite-based group creation — admins send invites with a group allowance, recipients can start their own groups
- Member directory with join/leave tracking and CSV export
- Per-group email notification preferences (members can mute notifications or one-click unsubscribe)
- Configurable reply-to address for group emails
- Search across all groups
**Events**
- Create events with name, date/time, end time, location, description, and cover image
- Recurring events — weekly, biweekly, or monthly with automatic instance generation
- Event capacity limits with RSVP enforcement
- Cancel events with member notifications
- Event search within a group
- Markdown support for descriptions and summaries
- iCal calendar attachments via spatie/icalendar-generator
**RSVPs**
- Logged-in users toggle going/not going instantly
- Anonymous users RSVP via email verification — no account required upfront
- Capacity checks enforced at RSVP time for both flows
**Comments**
- Members can post, edit, and delete comments on events (Markdown supported)
- Comment moderation — organizers can approve or reject comments
- Organizer notifications on new comments
**Email notifications**
- Event announcements to group members
- Freeform group notices
- Organizer alerts when members join, leave, or comment
- Member notifications when a group is deleted
- All verification flows (RSVP, join group, create group) use secure email tokens
**Saved locations**
- Groups can maintain a library of reusable locations (name, address, notes)
- Select from saved locations when creating events
**Media**
- Organizers can upload cover images for events
- Per-user media library
**Accounts**
- Email-based signup with automatic account creation
- Password set/reset flows
- Profile management (name, email, avatar via Gravatar)
- First-time password prompt for users created through email verification
**Security**
- Parameterized SQL queries throughout (no raw string interpolation)
- Rate limiting on login, password reset, RSVP, group creation, announcements, and join requests
- Explicit permission callbacks on every REST endpoint
- Proper HTTP methods (POST for mutations, DELETE for deletions)
- Secure token generation with `random_bytes()`
**Frontend**
- Single-page app built with Alpine.js
- Server-side prerendering for SEO
- Responsive design with mobile support
- Paginated groups, events, and comments
### Requirements
- PHP 7.4+
- WordPress 5.0+
- A dedicated WordPress installation (LocalMeet overrides the site frontend)
### Installation
1. Upload the `localmeet` folder to `/wp-content/plugins/`
2. Activate the plugin through the WordPress admin
3. Run the database migration: `LocalMeet\DB::upgrade()`
### License
[MIT](license.txt)