Skip to content

Implement Admin User Management Page #5

Description

@LRxDarkDevil

Implement Admin User Management Page

Overview

Build a comprehensive admin user management interface with search, filtering, bulk actions, and single-user detail editing.

Scope

  • User data table with columns: name, email, role, status, signup date, last active
  • Search users by name or email
  • Filter by role: founder, investor, mentor, volunteer
  • Filter by status: active, suspended, pending-verification
  • Chainable filters (e.g., role=volunteer AND status=pending)
  • Pagination or infinite scroll for large user lists
  • Bulk actions: change role, suspend users, export list as CSV
  • Single user detail view with inline editing capability
  • User profile preview on hover or modal

Acceptance Criteria

  • User table loads from Firestore users collection
  • Search works efficiently (client-side OK for <1000 users, Firestore query for scale)
  • Filters are independent and chainable
  • Pagination: show 20-50 users per page with next/prev controls
  • Role changes are logged in Firestore audit collection with admin ID and timestamp
  • Suspended users cannot log in (enforced via security rules + auth)
  • Admin-only access verified (403 for non-admins)
  • Sort options: signup date, name (A-Z), last active
  • Bulk select checkboxes for multi-user actions
  • Confirmation dialog before destructive actions (suspension, role change)

Related Files

  • app/admin/users/page.tsx — create if missing
  • lib/services/users.ts — add bulk update functions
  • firestore.rules — ensure suspension is enforced

Future Enhancements

  • Two-factor authentication enforcement per user
  • Custom user tags/labels
  • User activity timeline

Why This Matters

  • Essential admin function for user lifecycle management
  • Enables rapid response to abuse or bad actors
  • Supports role-based access control workflow

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions