feat(platform): add membership management system with profiles and admin dashboard
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- postgresql, react, tailwindcss, typescript
- Domain
- analytics, authentication, backend, databases, frontend, full-stack
Research direction
No files, tests, or entry points are named. Start with sub-issue #1917 and follow #1918 through #1921 in the stated order, reviewing the existing React and TypeScript app first; the work is done when authentication, profiles, the admin dashboard, and site integration meet the listed requirements.
Written by the indexing model from the issue text.
Description
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)
- #1917 — Database schema & infrastructure (NeonDB + Drizzle ORM)
- #1918 — Authentication (WorkOS integration, RBAC)
- #1919 — Member profiles (public pages, edit flow, directory)
- #1920 — Admin dashboard (analytics, member management, audit log)
- #1921 — Site 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
- Dominant language
- HTML
- Stars
- 33
- Forks
- 104
- Avg merge
- 12h 3m
- Merged PRs (30d)
- 10
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.
More from USRSE/usrse.github.io
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
USRSE/usrse.github.io#2001 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
USRSE/usrse.github.io#2000 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
USRSE/usrse.github.io#1991 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
USRSE/usrse.github.io#1948 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
USRSE/usrse.github.io#1947 · 1 comment ·
All issues in USRSE/usrse.github.io
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
AOSSIE-Org/OrgExplorer#245 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
gordonwatts/test-wsl2-llm#151 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
datacarpentry/semester-biology#1255 ·