Skip to content

feat(platform): add membership management system with profiles and admin dashboard #1916

@cdcore09

Description

@cdcore09

Summary

Build a membership management system where community members can create accounts, sign in, and manage rich profiles, and where leadership has an admin dashboard for analytics, member management, and trend visualization.

Sub-Issues (Implementation Order)

  1. feat(db): set up NeonDB + Drizzle ORM with membership schema #1917Database schema & infrastructure (NeonDB + Drizzle ORM)
  2. feat(auth): integrate WorkOS for authentication and RBAC #1918Authentication (WorkOS integration, RBAC)
  3. feat(profiles): build member profile pages and edit flow #1919Member profiles (public pages, edit flow, directory)
  4. feat(admin): build leadership admin dashboard #1920Admin dashboard (analytics, member management, audit log)
  5. feat(ui): integrate membership system into existing site #1921Site integration (nav updates, auth UI, profile linking)

Tech Stack

  • Auth: WorkOS (User Management API, SSO/SAML for institutions)
  • Database: NeonDB serverless Postgres
  • ORM: Drizzle ORM with Drizzle Kit migrations
  • Frontend: React 19 + TypeScript 6 + Tailwind CSS 4 (existing app)
  • Charts: Recharts or @visx for admin analytics
  • Storage: S3-compatible (profile photo uploads)

Requirements

Authentication & Accounts

  • WorkOS integration (SSO, email/password, social login)
  • Member registration with email verification
  • Role-based access: member, admin (board/staff)
  • Session management and secure sign-out

Member Profiles (GH + LinkedIn style)

  • Profile photo, name, pronouns, bio
  • Institution and role/title
  • Links: GitHub, LinkedIn, ORCID, personal website
  • Research interests / tags
  • Working group and affinity group memberships
  • Public profile page + edit interface

Admin Dashboard

  • Member directory with search, filter, sort
  • Growth analytics with data visualizations
  • Add/remove members, edit roles
  • Export member data (CSV)
  • Audit log of admin actions

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions