This is a project to build an app platform for charities and voluntary organisations. There is an API available.
SpotTheSplat Apps
Modular apps for clubs, charities, and community organisations. Each app installs as a WordPress plugin with a simple shortcode.
Core
Sign In
PublicA centralised sign-in page with three provider buttons: Google (server-side OAuth), Apple (via Sign in with Apple web flow), and Facebook (greyed out, coming soon). All three buttons are equal size. Apple Hide-My-Email users are guided through a link-your-account email verification flow. Protected plugins redirect here when no session exists.
- Google Sign-In
- Apple Sign-In with Hide-My-Email support
- Facebook (coming soon)
- Centralised sign-in for all plugins
Members Directory
Members onlyA searchable member directory with name, email, mobile, and member type. Protected by Google SSO — only registered members can view the directory. Provides the shared SSO authentication session used by all other member-only plugins.
- Google SSO authentication
- Searchable table
- Mobile number support
- Shared SSO session for all apps
API Documentation
PublicDisplays the full API documentation fetched live from the platform. Automatically updates when endpoints are added or changed. Interactive expandable endpoint details with parameter tables.
- Auto-updating from API
- Interactive endpoint details
- Parameter documentation
- No manual updates needed
App Store
PublicDisplays a catalogue of all available apps with descriptions, features, access levels, and shortcodes. Managed from Django admin — add, edit, or reorder apps without code changes.
- Managed from Django admin
- Grouped by category
- Feature lists
- Responsive grid layout
Audit Logs
Members onlyTwo-tabbed audit log viewer: Action Logs shows sign-ins, page views, and connections with colour-coded badges. Change Logs shows model-level create/update/delete with field-level old-to-new diffs. Member Access shortcode shows a table of all members with Web, iOS, Android, and Accessed columns with tick/cross marks and footer totals. Restricted to admin and global_admin roles.
- Action log with colour badges
- Model change log with field diffs
- Member platform access table
- Pagination
- Admin-only access
- Per-org data isolation
Governance
Leadership Team
Members onlyShows the members of a named group (e.g. Council) along with their positions for a selected year. Members are sorted by position display order. Includes a year picker to view past and future year assignments. Requires the SpotTheSplat Members plugin for sign-in.
- Position-based member listing
- Year picker dropdown
- Automatic from position assignments
- Sorted by display order
Club Committees
Members onlyLists every active group for the organisation (Council, Club Service, Community Service, etc.), each with a heading and a table showing Position, Name, Email, and Mobile. Groups are ordered by display_order. Members within each group are sorted by their position's display_order, then alphabetically by last name. Includes a year picker.
- All groups in one view
- Configurable group order
- Position-based member sorting
- Year picker dropdown
Communications
Notices Board
ConfigurableA notice board for announcements and events. Each notice has a title, description, date, price, contact details, and website link. Notices have configurable visibility windows (start/end dates). QR codes are auto-generated for notice website links.
- Date-ranged visibility
- Contact details
- Website links
- Public or members-only access
Events
Club Calendar
ConfigurableDisplays events from your existing ICS calendar feed as a monthly grid with an upcoming events list. Supports any iCal-compatible calendar (Google Calendar, Apple Calendar, Outlook, etc.).
- Monthly grid view
- Upcoming events list
- Month navigation
- ICS feed integration
- Public or members-only access
Events
ConfigurableCreate and display events with date, time, location, description, and website links. Includes interactive maps and QR codes. Each event can be set as public or members-only.
- Interactive OpenStreetMap
- QR codes for event websites
- Per-event access control
- Google Maps link
Attendance
Breakfast RSVP
Members onlyBreakfast meeting RSVP system. Members select their breakfast choice, optionally add a guest, and can change their selection until the booking deadline. Generates attendance reports with summary statistics.
- 5 breakfast choices
- Guest bookings
- Change until deadline
- Attendance reports
Directory
Charities & Funders
PublicA searchable directory of charities and grant funders. Includes Charity Commission registration data, income figures, contact details, and tags. Tabbed view with category filtering. Data shared across organisations by UK county.
- Charities and Funders tabs
- Search and category filter
- Charity Commission data
- Income figures
- County-based data sharing
Finance
Alpaca Portfolio
Members onlyDisplays an Alpaca trading portfolio for a club activity: account summary (equity, cash, buying power), intraday portfolio value chart (Chart.js), open positions table, and recent orders. Data is server-cached for 5 minutes. Supports per-member access control via ActivityMemberAccess and ActivityGroupAccess.
- Account summary cards
- Intraday portfolio chart
- Open positions table
- Recent orders
- 5-minute server cache
- Per-member access control
- Paper and live account support
Club Finance (QuickBooks)
Members onlyConnects to a QuickBooks Online company via OAuth2 and displays bank account balances with totals and a simplified balance sheet (one level deep). Data is server-cached for 5 minutes. Each organisation connects their own QBO company — credentials are managed in Django admin.
- Bank account balances
- Simplified balance sheet
- QuickBooks OAuth2 connection
- 5-minute server cache
- UK chart of accounts support
- Auto token refresh
