Quickstart Guide / Installation Overview
PowerSync is designed to be stack agnostic, and currently supports Postgres, MongoDB and MySQL (alpha) as the source database, and has the following official client-side SDKs available today:
- Flutter (mobile and web)
- React Native (mobile and web)
- JavaScript Web (vanilla JS, React, Vue)
- Node.js (alpha)
- Kotlin Multiplatform (beta)
- Swift (beta)
- .NET (alpha)
Support for additional platforms is on our Roadmap. If one isn’t supported today, please add your vote and check back soon.
Postgres Developers: Using Supabase? Try Our Guide.
If you are using Supabase as your backend, we provide a PowerSync<>Supabase integration guide which includes a tutorial and demo app to quickly learn how to use PowerSync with Supabase.
Implementation outline
The following outlines our recommended steps to implement PowerSync in your project:
[Optional] Create a PowerSync Cloud account
Sign up for a free PowerSync Cloud account here if you want to go ahead with our cloud-hosted option. PowerSync can also be self-hosted — see instructions in step 3.
Configure your Source Database
Configure your source database for PowerSync — see Source Database Setup.
Connect PowerSync to your Database
Connect your database to your instance of the PowerSync Service:
- Using PowerSync Cloud: See Database Connection
- Using PowerSync Open Edition (self-hosted): Refer to our self-hosting section for configuration details and examples.
Define Basic Sync Rules
Define Sync Rules in PowerSync — this enables dynamic partial replication so that you don’t need to sync your entire database to devices.
- Learn about Sync Rules in our introductory blog post.
- We recommend starting with one or two simple Global Data queries.
[Optional] Generate a Development Token
Generate a Development Token so you can get up and running quickly, without implementing full custom authentication.
[Optional] Test Sync with our Diagnostics App
Use our hosted Diagnostics App to validate that your source database is syncing into SQLite as expected.
Implement PowerSync on the Client-Side
Implement an app using one of our Client SDKs:
- To start, you can continue using your Development Token.
- Implement a “Hello World” app to quickly get a feel, or jump straight into installing the client SDK in your existing app — see Client-Side Setup or follow end-to-end getting started instructions in the full SDK reference.
- Verify that downloads from your source database are working. Data should reflect in your UI and you can also inspect the SQLite database.
Implement Authentication
Implement authentication for clients (JWT-based) — see our docs here.
Configure your App Backend
Implement your backend app to accept and process writes from clients.
- We have Node.js, Django and Rails demos available here.
Questions?
Join us on our community Discord server where you can browse topics from the PowerSync community and ask questions.