Multi-workspace management
Manage multiple workspaces, members, roles, settings, and invitations.
Workspace Overview
Our platform supports multi-workspace management, allowing users to create and belong to multiple workspaces simultaneously. Each workspace functions as a separate environment with its own members, settings, and resources.
Workspace Schema
Database schema for workspaces:
Key Features
Multiple Workspaces
Users can create and join multiple workspaces, each with separate settings and members.
Role-Based Access
Granular permission system with customizable roles for different access levels.
Member Management
Add, remove, and manage workspace members with different permission levels.
Invitation System
Secure email-based invitation system for adding new members to workspaces.
Workspace Management
Workspace owners have access to comprehensive management features:
Create Workspace
Create a new workspace with custom settings using tRPC
Update Workspace
Modify workspace settings and details using tRPC
Delete Workspace
Permanently delete a workspace and all its data using tRPC
Transfer Ownership
Transfer workspace ownership to another member
Update Workspace Logo
Update the workspace logo
Member Management
Manage workspace members with these operations:
Invite Members
Send email invitations to new members
Change Member Role
Update a member's role and permissions
Remove Member
Remove a member from the workspace
Workspace Settings
General Settings
- 1Workspace name and slug
- 2Logo and branding
- 3Default member role
- 4Workspace visibility
Security Settings
- 1Invitation expiration time
- 2Required email domains
- 3Two-factor authentication
- 4Session management
Role Management
- 1Create custom roles
- 2Assign permissions to roles
- 3Modify existing roles
- 4Set default member role
Advanced Features
- 1Workspace transfer
- 2Data export/import
- 3API key management
- 4Audit logging
Technical Implementation
The multi-workspace system uses a combination of PostgreSQL tables with foreign key relationships to maintain data integrity. Each workspace has its own set of members, roles, and resources.
Workspace Context with React Query
Access current workspace data in components: