Core Concepts
Taruvi Cloud is organized into three levels: Organizations, Sites, and Apps. Understanding this hierarchy is essential to working with the platform.
Organizations
An Organization is the top-level entity in Taruvi — it represents your company or team.
An organization owns:
- Members with roles (owner, admin, member)
- Sites that contain your apps and data
- Billing and subscription management
Every Taruvi account belongs to at least one organization. You can create multiple organizations to separate unrelated projects or clients.
See Cloud Console: Organizations for managing organizations through the web UI.
Sites
A Site is an isolated cloud environment within an organization. Each site has its own:
- Apps containing your backend resources
- Domains (custom domains can point to a site)
- Users (each site has a separate user base)
- Site-level secrets (encrypted configuration)
- Frontend workers for edge logic
Sites provide complete data isolation — data in one site is invisible to every other site. This makes sites ideal for separating production from staging, or isolating customer data in a multi-tenant product.
| Environment type | Purpose |
|---|---|
| Production | Live customer-facing environment |
| Staging | Pre-release testing and QA |
| Development | Active development and experimentation |
| Testing | Automated test environments |
See Cloud Console: Sites for managing sites through the web UI.
Apps
An App is a container within a site that groups backend resources together. Each app can contain:
- Datatables — Structured data storage with schemas, querying, and relationships
- Functions — Serverless code execution and webhook proxies
- Storage — File buckets with access controls
- Roles & Policies — Custom authorization rules
- Secrets — Encrypted app-level configuration
- Events — Event subscriptions for triggering workflows
- Analytics — Parameterized query templates
Apps let you organize your backend by feature or domain. For example, an e-commerce platform might have a "Store" app for products and orders, and a "CMS" app for content management.
See Sites & Apps for a detailed breakdown of what each app includes, and Cloud Console: Apps for managing apps through the web UI.
Authentication
Taruvi uses JWT tokens scoped to a site. When a user authenticates, they receive access and refresh tokens that grant access to the apps within that site.
The SDKs handle authentication automatically — you sign in once and all subsequent requests include the token.
For details, see SDK Authentication and User Management.
Accessing Your Backend
There are four ways to interact with Taruvi:
| Method | Description | Reference |
|---|---|---|
| Taruvi Console | Web UI for managing organizations, sites, apps, and data | Cloud Console |
| REST API | HTTP endpoints for all platform operations | API Reference |
| SDKs | Python and JavaScript clients with type-safe interfaces | SDK Overview |
| MCP | Connect AI tools directly to your Taruvi backend | MCP Integration |
from taruvi import Client
# Create and authenticate
client = Client(api_url="http://localhost:8000", app_slug="my-app")
auth_client = client.auth.signInWithPassword(
username="[email protected]",
password="admin"
)
# Query database
users = auth_client.database.from_("users").page_size(10).execute()
print(f"Found {len(users)} users")
# Execute function
result = auth_client.functions.execute("my-function", params={"test": True})
print(result['data'])
Installation:
pip install taruvi
SDK Features:
- ✅ Type-safe API with full IDE autocomplete
- ✅ Async and sync support
- ✅ Query builder for complex queries
- ✅ Automatic retry and error handling
- ✅ Connection pooling for better performance
See the complete Python SDK Documentation for detailed guides and examples.
Background Tasks
Taruvi uses Celery for background processing:
# Start Celery worker (if not using Docker)
celery -A taruvi_project worker --loglevel=info
# Start Celery beat scheduler
celery -A taruvi_project beat --loglevel=info
# Monitor tasks in Django admin
# Visit /admin/django_celery_results/taskresult/
Health Monitoring
Check application health:
# JSON health check
curl http://localhost:8000/health/?format=json
# Plain text check
curl http://localhost:8000/health/
Health check includes:
- Database connectivity
- Cache availability
- Storage access
- Celery worker status
Next Steps
- Sites & Apps — Understand the hierarchy in detail and learn what each app contains
- App Development — Start building with Taruvi
- API Reference — Explore the REST API