Team Management Service

Manages teams within workspaces, team membership, and team-based permissions

Overview

The Team Management Service handles team creation and organization within workspaces. Teams allow large organizations to organize members into logical groups for better collaboration and access control.

Key Responsibilities

Team Management

  • Create and configure teams within workspaces
  • Assign team leads and members
  • Define team-specific settings and permissions
  • Archive or delete teams
  • Track team analytics and activity

Team Membership

  • Add members to teams
  • Remove members from teams
  • Manage team member roles
  • Handle team transfer between members

Team Permissions

  • Define team-level access controls
  • Inherit and override workspace permissions
  • Manage team visibility (public/private)

Technical Details

Technology Stack:

  • Runtime: Python 3.11
  • Framework: FastAPI
  • Database: PostgreSQL
  • Cache: Redis
  • Message Broker: Apache Kafka

SLA:

  • Availability: 99.9%
  • Response Time: < 200ms (p95)

API Endpoints

POST /v1/workspaces/:workspaceId/teams
GET /v1/workspaces/:workspaceId/teams
GET /v1/teams/:teamId
PATCH /v1/teams/:teamId
DELETE /v1/teams/:teamId
POST /v1/teams/:teamId/members
DELETE /v1/teams/:teamId/members/:memberId

Integration Points

  • Workspace Service: Validates workspace membership
  • Task Service: Assigns tasks to teams
  • Notification Service: Sends team notifications