# Triplit Documentation > Triplit is an open-source database that syncs data between server and browser in real-time. This documentation covers all aspects of using Triplit, from installation to advanced usage. ## Core Documentation - [faq](https://triplit.dev/docs/faq.md): Frequently asked questions about Triplit. - [http-api](https://triplit.dev/docs/http-api.md): Learn how to interact with a Triplit sync server over HTTP. - [local-development](https://triplit.dev/docs/local-development.md): Learn how to run a local instance of the Triplit sync server for development. - [offline-mode](https://triplit.dev/docs/offline-mode.md): No extra configuration is needed for a Triplit app to work offline. - [quick-start](https://triplit.dev/docs/quick-start.md): Learn how to get up and running with a simple Triplit app. - [react-tutorial](https://triplit.dev/docs/react-tutorial.md): A full tutorial for building a Todos app with React, Vite and Triplit. - [seeding](https://triplit.dev/docs/seeding.md): Learn how seed a Triplit database with the `triplit seed` command. - [self-hosting](https://triplit.dev/docs/self-hosting.md): Learn how to self host Triplit using Docker, and how to deploy it to a cloud provider with Docker or Git. - [ssr](https://triplit.dev/docs/ssr.md): - [v1-migration](https://triplit.dev/docs/v1-migration.md): Learn how to update your application for the upgraded API in Triplit 1.0. - [v2](https://triplit.dev/docs/v2.md): ## Auth - [auth](https://triplit.dev/docs/auth/index.md): Learn how to setup user auth for your Triplit application. - [sessions](https://triplit.dev/docs/auth/sessions.md): Learn how to use the Sessions API for the Triplit client to model auth events in your app. - [clerk](https://triplit.dev/docs/auth/integration-guides/clerk.md): Learn how to setup user auth for your Triplit application with Clerk. - [supabase](https://triplit.dev/docs/auth/integration-guides/supabase.md): Learn how to setup user auth for your Triplit application with Supabase Auth. ## Cli - [cli](https://triplit.dev/docs/cli/index.md): The Triplit CLI provides a suite of tools to manage your Triplit projects, from local development to deployment. - [clear](https://triplit.dev/docs/cli/clear.md): Learn how to use the `triplit clear` command to clear a database. - [dev](https://triplit.dev/docs/cli/dev.md): Use the `triplit dev` command to start a local Triplit development environment. - [init](https://triplit.dev/docs/cli/init.md): Learn how to use the `triplit init` command to add Triplit dependencies and configuration files to an existing project. - [repl](https://triplit.dev/docs/cli/repl.md): Learn how to use the `triplit repl` command to start an interactive REPL with the Triplit client. - [roles](https://triplit.dev/docs/cli/roles.md): Learn how to use the `triplit roles` command to debug the roles and permissions of a JWT authentication token with your schema. - [schema](https://triplit.dev/docs/cli/schema.md): Learn how to use the `triplit schema [push | print | diff]` commands to update or introspect the schema on a remote server. - [seed](https://triplit.dev/docs/cli/seed.md): Learn how to use the `triplit seed [create | run]` commands to create and apply seed data files for Triplit databases. - [snapshot](https://triplit.dev/docs/cli/snapshot.md): Learn how to use the `triplit snapshot [create | push]` commands to save a local copy of a remote Triplit database. ## Client - [client](https://triplit.dev/docs/client/index.md): How to setup and use the TriplitClient in the browser to sync data. - [debugging](https://triplit.dev/docs/client/debugging.md): Learn the various debugging tools available for the Triplit client. - [delete](https://triplit.dev/docs/client/delete.md): How to use the TriplitClient delete method to delete an entity. - [event-listeners](https://triplit.dev/docs/client/event-listeners.md): How to subscribe to various Triplit sync events to debug your app and remedy sync failures. - [fetch-by-id](https://triplit.dev/docs/client/fetch-by-id.md): How to use the TriplitClient fetchById method to query an entity by its primary key. - [fetch-one](https://triplit.dev/docs/client/fetch-one.md): How to use the TriplitClient fetchOne method to query a single entity. - [fetch](https://triplit.dev/docs/client/fetch.md): How to use the TriplitClient fetch method to query data. - [http-client](https://triplit.dev/docs/client/http-client.md): - [insert](https://triplit.dev/docs/client/insert.md): How to use the TriplitClient insert method to subscribe to create new data. - [options](https://triplit.dev/docs/client/options.md): Learn the options available to configure your TriplitClient. - [storage](https://triplit.dev/docs/client/storage.md): Learn the different data storage options available for the Triplit client. - [subscribe-background](https://triplit.dev/docs/client/subscribe-background.md): How to subscribe to queries in the background using subscribeBackground. - [subscribe-with-expand](https://triplit.dev/docs/client/subscribe-with-expand.md): How to use the TriplitClient subscribeWithExpand method to fetch a growing window of data. - [subscribe-with-pagination](https://triplit.dev/docs/client/subscribe-with-pagination.md): How to use the TriplitClient subscribeWithPagination method to subscribe to paginated data. - [subscribe](https://triplit.dev/docs/client/subscribe.md): How to use the TriplitClient subscribe method to listen to changes in your data. - [sync-engine](https://triplit.dev/docs/client/sync-engine.md): How to connect, disconnect, handle errors and check the connection status of the Triplit sync engine. - [transact](https://triplit.dev/docs/client/transact.md): How to use the TriplitClient transact method to update a Triplit database atomically. - [update](https://triplit.dev/docs/client/update.md): How to use the TriplitClient update method to mutate data. - [web-worker-client](https://triplit.dev/docs/client/web-worker-client.md): ## Frameworks - [angular](https://triplit.dev/docs/frameworks/angular.md): Learn how use Angular bindings for the Triplit client in your app. - [react-native](https://triplit.dev/docs/frameworks/react-native.md): Learn how configure React Native with Expo to use Triplit in your mobile app. - [react](https://triplit.dev/docs/frameworks/react.md): Learn how use React bindings for the Triplit client in your app. - [solid](https://triplit.dev/docs/frameworks/solid.md): Learn how use Solid bindings for the Triplit client in your app. - [svelte](https://triplit.dev/docs/frameworks/svelte.md): Learn how use Svelte bindings for the Triplit client in your app. - [tanstack-router](https://triplit.dev/docs/frameworks/tanstack-router.md): Learn how to use Tanstack Router integration with Triplit. - [vue](https://triplit.dev/docs/frameworks/vue.md): Learn how use Vue bindings for the Triplit client in your app. ## Query - [query](https://triplit.dev/docs/query/index.md): How to define and use queries in Triplit. - [include](https://triplit.dev/docs/query/include.md): The `Include` clause is used to specify the relations on an entity that should be included in a query. - [limit](https://triplit.dev/docs/query/limit.md): The `Limit` clause is used to truncate the results of a Triplit query. - [order](https://triplit.dev/docs/query/order.md): The `Order` clause is used to sort results in Triplit query based on their attributes or relations. - [select](https://triplit.dev/docs/query/select.md): The `Select` clause is used to specify which attributes to return in a Triplit query. - [subquery](https://triplit.dev/docs/query/subquery.md): The `SubqueryOne` and `SubqueryMany` clauses can be used to include nested queries in a Triplit query. - [sync-status](https://triplit.dev/docs/query/sync-status.md): The syncStatus clause is used to filter results in Triplit query based on if they've synced with the server. - [variables](https://triplit.dev/docs/query/variables.md): Variables in Triplit allow you to pass in preset values into queries. - [where](https://triplit.dev/docs/query/where.md): The `Where` clause is used to filter results in a Triplit query based on conditions. ## Runtimes - [browser](https://triplit.dev/docs/runtimes/browser.md): How to use the Triplit client library in the browser and the supported storage options - memory and IndexedDB. - [bun](https://triplit.dev/docs/runtimes/bun.md): Learn how to run the Triplit sync server with Bun, and the supported storage options - SQLite. - [cloudflare](https://triplit.dev/docs/runtimes/cloudflare.md): Learn how to use the Triplit sync server in a Cloudflare Workers serverless environment and how it integrates with Durable Objects for persistent storage. - [hermes](https://triplit.dev/docs/runtimes/hermes.md): Learn how to use the Triplit client in React Native applications built on the Hermes runtime. - [node](https://triplit.dev/docs/runtimes/node.md): Learn how to run the Triplit sync server in Node.js, and the supported storage options - SQLite and LMDB. ## Schemas - [schemas](https://triplit.dev/docs/schemas/index.md): Learn how use a schema in your Triplit app to enable Typescript support and data validation. - [permissions](https://triplit.dev/docs/schemas/permissions.md): How to manage access control rules with a Triplit schema. - [relations](https://triplit.dev/docs/schemas/relations.md): Learn how to model relational data in a Triplit schema. - [types](https://triplit.dev/docs/schemas/types.md): Learn the different types and options available in Triplit schemas. - [updating](https://triplit.dev/docs/schemas/updating.md): Learn how to update a schema for your Triplit server in production. ## Triplit Cloud - [triplit-cloud](https://triplit.dev/docs/triplit-cloud/index.md): Learn how to create Triplit Cloud projects. - [managed-machines](https://triplit.dev/docs/triplit-cloud/managed-machines.md): Learn about Triplit Cloud's managed machines. - [self-hosted-deployments](https://triplit.dev/docs/triplit-cloud/self-hosted-deployments.md): Learn about connecting a self-hosted server to Triplit Cloud. - [triplit-console](https://triplit.dev/docs/triplit-cloud/triplit-console.md): Learn about using the Triplit Console to manage your data.