Admin Dashboard & Onboarding
Relevant source files
The following files were used as context for generating this wiki page:
Introduction
The Admin Dashboard & Onboarding system in SoulSeer serves as the central command center for platform administrators to oversee users, manage spiritual readers, monitor financial transactions, and maintain community standards. It provides a high-level overview of platform health through real-time statistics and granular control over individual accounts and reading sessions.
The system encompasses two primary flows: the internal administrative management of existing data and the onboarding process for new spiritual readers. Onboarding transition from a public application form to an administrative provisioning process that integrates with Auth0 for identity management and Stripe Connect for financial payouts.
Sources: client/src/pages/dashboard/AdminDashboard.tsx, server/src/routes/admin.ts:1-50, README.md
Reader Application & Onboarding
The onboarding journey begins with a public-facing application process where prospective readers submit their credentials. Once reviewed, administrators use the dashboard to formally provision the account.
Public Application Process
Prospective readers submit a comprehensive application via the Help Center. This form collects personal details, professional experience, specialties, and desired rates.
Sources: client/src/pages/HelpPage.tsx:142-300
Administrative Provisioning
When an admin creates a reader account, the system performs a multi-step orchestration:
- Identity Creation: Generates an Auth0 user with a secure initial password.
- Financial Setup: Creates a Stripe Connect Express account for the reader.
- Database Record: Inserts a new user record with the
readerrole and associated metadata (bio, specialties, rates). - Onboarding Link: Generates a Stripe onboarding URL for the reader to complete their financial setup.
Dashboard Architecture & Management
The Admin Dashboard is organized into functional tabs, each targeting specific platform operations.
Key Management Modules
| Module | Description | Key Actions |
|---|---|---|
| Users | Overview of all registered accounts. | Search, Edit Reader profiles, Manual account provisioning. |
| Readings | Log of all platform consultations. | View status, Duration tracking, Refund processing. |
| Transactions | Financial ledger for the entire platform. | View top-ups, Charges, and Adjustments. |
| Moderation | Community safety and content control. | Resolve flags, Delete posts/comments, Lock forum threads. |
| Payouts | Reader earnings management. | Initiate transfers to Stripe Connect accounts (min $15). |
| Sources: client/src/pages/dashboard/AdminDashboard.tsx:40-48, server/src/routes/admin.ts:380-450 |
Financial Oversight
Administrators can perform manual balance adjustments for users, which are recorded as admin_adjustment transaction types to maintain a transparent audit trail.
Sources: server/src/routes/admin.ts:282-322, client/src/pages/dashboard/AdminDashboard.tsx:216-242
API Endpoints & Security
The Admin system is protected by requireAuth and requireRole("admin") middleware, ensuring only authorized personnel can access sensitive routes.
Sources: server/src/routes/admin.ts:34-35, server/src/index.ts:133
Administrative API Reference
| Endpoint | Method | Purpose |
|---|---|---|
/api/admin/stats | GET | Fetches total users, revenue, and reading counts. |
/api/admin/readers | POST | Provisions a new reader (Auth0 + Stripe). |
/api/admin/balance-adjust | POST | Manually modifies a user's credit balance. |
/api/admin/payouts/:readerId | POST | Triggers a Stripe transfer for reader earnings. |
/api/admin/readings/:id/refund | POST | Credits a client's balance for a completed session. |
/api/admin/forum/flagged | GET | Retrieves the queue of reported community content. |
| Sources: server/src/routes/admin.ts:40-520, shared/src/validators.ts:134-165 |
Community Moderation Flow
The moderation system handles reported content from the forum. Flags are categorized by their source (Post or Comment) and tracked in a resolution queue.
Conclusion
The Admin Dashboard & Onboarding system provides the necessary tooling to scale SoulSeer by automating complex reader setups and providing robust moderation and financial management capabilities. By integrating identity, payments, and community management into a single interface, the system ensures operational efficiency and platform integrity.
Sources: README.md, server/src/routes/admin.ts