Skip to main content
Version: v0.16

Modules Overview

Conduit's functionality comes from its modular architecture. Each module provides specific capabilities that you can enable based on your project's needs.

Official Modules

Module Characteristics

Optional and Replaceable

All modules are optional. Deploy only what you need:

  • Don't need Chat? Don't deploy it.
  • Want custom authentication? Replace ours.

Configurable

Each module has its own configuration accessible via:

  • Admin Panel - Visual interface for configuration
  • Admin API - Programmatic access for automation

Independent Scaling

Since each module runs as a separate microservice, you can:

  • Scale modules independently based on load
  • Deploy modules across different servers
  • Adjust resources per module

Module Communication

Modules communicate via gRPC:

  • High-performance inter-service calls
  • Type-safe communication with protocol buffers
  • Language-agnostic - build in any gRPC-compatible language

Custom Modules

Build your own modules in any language supporting gRPC.

TypeScript SDK available - Use our gRPC SDK for easier development:

  • Pre-built type definitions
  • Helper functions for common operations
  • Lifecycle management

See gRPC SDK Reference for details.

Module Dependencies

Some modules have dependencies on others:

Authentication
├── Email (optional: verification emails)
└── SMS (optional: 2FA via phone)

Chat
└── Authentication (required: user identity)

Push Notifications
└── Authentication (required: user targeting)

Check individual module documentation for specific requirements.

Quick Reference

ModuleRequired DependenciesOptional Dependencies
AuthenticationNoneEmail, SMS
AuthorizationNoneNone
DatabaseNoneNone
RouterNoneNone
StorageNoneNone
EmailNoneNone
SMSNoneNone
Push NotificationsAuthenticationNone
ChatAuthenticationNone
FormsNoneEmail