feat(admin): organizations — logos, memberships, sponsorships
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 33
- Forks
- 104
- Avg merge
- 12h 3m
- Merged PRs (30d)
- 10
Description
Summary
Admin surface for managing organizations: logo uploads, recurring org memberships, and per-event sponsorships. Schema already in place (organizations.logo_* columns, org_memberships, event_sponsorships); this issue is the UI + storage wiring.
Requirements
- Brainstorming → spec under
docs/superpowers/specs/. - Provision the
usrse-organization-logosR2 bucket; uncomment the binding inwrangler.jsoncand fill inORGANIZATION_LOGOS_PUBLIC_URL(the binding was deferred in commit d1140c8). -
/admin/orgs— searchable list with active-membership and active-sponsorship facets. -
/admin/orgs/:id— detail view: edit name / slug / shortName / url, upload primary + dark + mark logos with consent capture, manageorg_membershipsrows (tier + dates), manageevent_sponsorshipsrows. - Logo upload flow: file or URL import to R2, persist
logo_storage_key, gate display onlogo_usage_consenttruthiness. - Membership lifecycle: open / renew / close, with
renewal_due_atfor the dashboard tile. - Public surface follow-on:
/about/sponsorspage becomes data-driven fromevent_sponsorshipsonce this lands.
Context
Foundation must ship first (#1956). Phase 2 schema (4a89a55) added all the relevant columns and tables; nothing is wired to UI yet.
Implementation Notes
- Policy:
canEditOrganizationisstaff+. Future: an org-rep role could earn scoped edit on their own org. OrgLogocomponent already falls back toInitialsHex— once real logos start landing, the public surface picks them up automatically.- Sponsor tier enum:
platinum / gold / silver / bronze / supporter / in_kind.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the specification under docs/superpowers/specs/ and verify the existing schema from commit 4a89a55, then inspect wrangler.jsonc and the deferred binding from d1140c8. Done means the admin organization list and detail workflows, consent-gated logo storage, membership and sponsorship management, and the required R2 configuration are implemented after foundation #1956 ships.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- html
- Domain
- cloud, full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100