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
🔐Authentication
User login, registration, OAuth providers, two-factor authentication, and magic links.
🛡️Authorization
Role-based access control and permission management.
🗄️Database
Data storage, schema management, CMS capabilities, and custom endpoints.
🔀Router
API routing for REST, GraphQL, and WebSocket connections.
📦Storage
File storage with support for S3, Google Cloud, Azure, and Alibaba Cloud.
Transactional email delivery with template support.
📱SMS
Text message delivery via multiple providers.
🔔Push Notifications
Mobile push notifications via Firebase Cloud Messaging.
💬Chat
Real-time messaging with rooms and direct messages.
📝Forms
Form submission and management system.
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
| Module | Required Dependencies | Optional Dependencies |
|---|---|---|
| Authentication | None | Email, SMS |
| Authorization | None | None |
| Database | None | None |
| Router | None | None |
| Storage | None | None |
| None | None | |
| SMS | None | None |
| Push Notifications | Authentication | None |
| Chat | Authentication | None |
| Forms | None |