Core Concepts
This section covers the fundamental concepts you need to understand to build applications with SpacetimeDB.
Databases
Learn how SpacetimeDB databases work, including modules, publishing, and transactions.
- What is a Database? - Understanding SpacetimeDB databases and modules
- Building & Publishing - Deploy your module to SpacetimeDB
- Transactions - How atomicity and rollback work
- Migrations - Evolving your schema over time
Tables
Define your data model with tables, columns, and indexes.
- Tables Overview - Declaring and using tables
- Column Types - Supported column types
- Indexes - Optimizing queries with indexes
- Access Permissions - Public vs private tables
- Schedule Tables - Time-based operations
Functions
Implement your application logic with reducers, procedures, and views.
- Reducers - Transactional functions that modify state
- Procedures - Functions that can make external HTTP calls
- Views - Read-only computed queries
Authentication
Secure your application with SpacetimeAuth.
- Authentication - Using OpenID Connect (OIDC) for identity and access control
- SpacetimeAuth Overview - Managed authentication service
- Auth Claims - Using identity and roles
Clients
Connect your frontend to SpacetimeDB.
- SDK Overview - Available client SDKs
- Code Generation - Generate type-safe bindings
- Connecting to SpacetimeDB - Establish and manage client connections
- SDK API Overview - Core API concepts shared across SDKs
- Subscriptions - Subscribe to data and keep a local cache in sync
- Subscription Semantics - Understand subscription consistency and ordering guarantees
- TypeScript, Rust, C#, Unreal - Language-specific references