USRSE / USRSE/usrse.github.io

feat(admin): organizations — logos, memberships, sponsorships

Open
#1,959 0 comments 0 reactions 0 assignees View on GitHub

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-logos R2 bucket; uncomment the binding in wrangler.jsonc and fill in ORGANIZATION_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, manage org_memberships rows (tier + dates), manage event_sponsorships rows.
  • Logo upload flow: file or URL import to R2, persist logo_storage_key, gate display on logo_usage_consent truthiness.
  • Membership lifecycle: open / renew / close, with renewal_due_at for the dashboard tile.
  • Public surface follow-on: /about/sponsors page becomes data-driven from event_sponsorships once 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: canEditOrganization is staff+. Future: an org-rep role could earn scoped edit on their own org.
  • OrgLogo component already falls back to InitialsHex — once real logos start landing, the public surface picks them up automatically.
  • Sponsor tier enum: platinum / gold / silver / bronze / supporter / in_kind.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.