Skip to content

Commit 77ef0a0

Browse files
authored
Various Tutorials section improvements, other minor polish (#76)
* Updates * Consistent use of demo app and to-do list * Cross reference use case examples and tutorials and demo apps everywhere * Use case examples with accordions * Update usage/use-case-examples/attachments-files.mdx * Different heading
1 parent 616195d commit 77ef0a0

25 files changed

+228
-226
lines changed

client-sdk-references/swift.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ The PowerSync Swift SDK currently makes use of the [PowerSync Kotlin Multiplatfo
2626
<Tip>
2727
**Demo App**
2828

29-
We recommend the [Supabase Todo List Demo](https://github.com/powersync-ja/powersync-swift/tree/main/Demo) app as a starting point for using the Swift SDK. See the README for details to run it.
29+
We recommend the [Supabase To-Do List Demo](https://github.com/powersync-ja/powersync-swift/tree/main/Demo) app as a starting point for using the Swift SDK. See the README for details to run it.
3030
</Tip>
3131

3232
### SDK Features
@@ -90,7 +90,7 @@ The beta version of this SDK introduces a Swift-native wrapper around the packag
9090
* `@MainThread` usage is no longer required and should be removed.
9191
* Implementing `SuspendTaskWrapper` for database transactions is no longer required and should be removed.
9292

93-
See the [Todo List Demo app](https://github.com/powersync-ja/powersync-swift/tree/main/Demo) as a reference.
93+
See the [To-Do List Demo app](https://github.com/powersync-ja/powersync-swift/tree/main/Demo) as a reference.
9494

9595
## Getting Started
9696

installation/app-backend-setup.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,4 @@ See [Authentication Setup](/installation/authentication-setup) for details.
2525

2626
See our [Example Projects](/resources/demo-apps-example-projects#custom-backend-examples) page for examples of custom backend implementations (e.g. Django, Node.js, etc.)
2727

28-
For Postgres developers, using [Supabase](/integration-guides/supabase-+-powersync) is an easy alternative to a custom backend. Several of our example apps demonstrate how to use [Supabase](https://supabase.com/) as the Postgres backend.
28+
For Postgres developers, using [Supabase](/integration-guides/supabase-+-powersync) is an easy alternative to a custom backend. Several of our demo apps demonstrate how to use [Supabase](https://supabase.com/) as the Postgres backend.

installation/quickstart-guide.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Support for additional platforms is on our [Roadmap](https://roadmap.powersync.c
1010
</Note>
1111

1212
### <Icon icon="elephant" iconType="solid" size="24"/> Postgres Developers: Using Supabase? Try Our Guide.
13-
If you are using [Supabase](https://supabase.com/) as your backend, we provide a [PowerSync\<>Supabase integration guide](/integration-guides/supabase-+-powersync) which includes a tutorial and example app to quickly learn how to use PowerSync with Supabase.
13+
If you are using [Supabase](https://supabase.com/) as your backend, we provide a [PowerSync\<>Supabase integration guide](/integration-guides/supabase-+-powersync) which includes a tutorial and demo app to quickly learn how to use PowerSync with Supabase.
1414

1515
## Implementation outline
1616

integration-guides/coolify.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ The following Compose file serves as a universal starting point for deploying th
227227
content: |
228228
bucket_definitions:
229229
user_lists:
230-
# Separate bucket per todo list
230+
# Separate bucket per To-Do list
231231
parameters: select id as list_id from lists where owner_id = request.user_id()
232232
data:
233233
- select * from lists where id = bucket.list_id

integration-guides/supabase-+-powersync.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ create publication powersync for table public.lists, public.todos;
133133
```yaml
134134
bucket_definitions:
135135
user_lists:
136-
# Separate bucket per todo list
136+
# Separate bucket per To-Do list
137137
parameters: select id as list_id from lists where owner_id = request.user_id()
138138
data:
139139
- select * from lists where id = bucket.list_id

integration-guides/supabase-+-powersync/handling-attachments.mdx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: "Examples of syncing attachments between a client app and Supabase
55

66
## <Icon icon="react"iconType="solid" size="24"/> React Native Example
77

8-
Our React Native [To-Do List example app](https://github.com/powersync-ja/powersync-js/tree/main/demos/react-native-supabase-todolist) showcases how to sync attachments (such as photos) using the [@powersync/attachments](https://www.npmjs.com/package/@powersync/attachments) library, the PowerSync Service, and Supabase.
8+
Our React Native [To-Do List demo app](https://github.com/powersync-ja/powersync-js/tree/main/demos/react-native-supabase-todolist) showcases how to sync attachments (such as photos) using the [@powersync/attachments](https://www.npmjs.com/package/@powersync/attachments) library, the PowerSync Service, and Supabase.
99

1010
In this example, we are syncing photos, however other media types, such as PDFs, are also supported.
1111

@@ -17,7 +17,7 @@ The library and this example implementation can be used as a reference for imple
1717

1818
### Configure Storage in Supabase
1919

20-
In this example app, [Supabase Storage](https://supabase.com/docs/guides/storage) is used to store and serve attachments. To configure this for your app, navigate to the **Storage** section of your Supabase project and create a new bucket:
20+
In this demo app, [Supabase Storage](https://supabase.com/docs/guides/storage) is used to store and serve attachments. To configure this for your app, navigate to the **Storage** section of your Supabase project and create a new bucket:
2121

2222
<Frame>
2323
<img src="/images/integration-9.png"/>
@@ -35,7 +35,7 @@ Next, link this storage bucket to your app by opening up the **AppConfig.ts** fi
3535
<img src="/images/integration-11.png"/>
3636
</Frame>
3737

38-
Lastly, configure a policy for this bucket. In this example app, we will allow all user operations on the media bucket.
38+
Lastly, configure a policy for this bucket. In this demo app, we will allow all user operations on the media bucket.
3939

4040
Create a new policy for the **media** bucket:
4141

@@ -54,7 +54,7 @@ Give the new policy a name, and allow SELECT, INSERT, UPDATE, and DELETE.
5454
</Frame>
5555
Proceed to review and save the policy.
5656

57-
This concludes the necessary configuration for handling attachments in the To-Do List example app. When running the app now, a photo can be taken for a to-do list item, and PowerSync will ensure that the photo syncs to Supabase and other devices (if sync rules allow).
57+
This concludes the necessary configuration for handling attachments in the To-Do List demo app. When running the app now, a photo can be taken for a to-do list item, and PowerSync will ensure that the photo syncs to Supabase and other devices (if sync rules allow).
5858

5959
<img src="/images/integration-15.avif" width="30%"/>
6060

@@ -75,7 +75,7 @@ The [@powersync/attachments](https://www.npmjs.com/package/@powersync/attachment
7575
* Watch for changes and handle CRUD operations on `AttachmentRecord`s.
7676
* Store attachment data on the user's local storage, using file URIs on the device.
7777

78-
The UI of the example app supports taking photos as follows:
78+
The UI of the demo app supports taking photos as follows:
7979

8080
* [CameraWidget](https://github.com/powersync-ja/powersync-js/blob/main/demos/react-native-supabase-todolist/library/widgets/CameraWidget.tsx) uses `expo-camera` to allow users to capture a photo.
8181
* The photo is stored on the user's local storage.
@@ -107,7 +107,7 @@ The following improvements can be considered for this implementation.
107107

108108
## <Icon icon="flutter"iconType="solid" size="24"/> Flutter Example
109109

110-
Our Flutter [To-Do List example app](https://github.com/powersync-ja/powersync.dart/tree/master/demos/supabase-todolist) showcases how to sync attachments (such as photos) using our [powersync\_attachments\_helper](https://pub.dev/packages/powersync_attachments_helper) package for Flutter.
110+
Our Flutter [To-Do List demo app](https://github.com/powersync-ja/powersync.dart/tree/master/demos/supabase-todolist) showcases how to sync attachments (such as photos) using our [powersync\_attachments\_helper](https://pub.dev/packages/powersync_attachments_helper) package for Flutter.
111111

112112
## See Also
113113

intro/powersync-overview.mdx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ This applies to self-hosting of the [PowerSync Open Edition](https://www.powersy
109109
</Card>
110110
</CardGroup>
111111

112-
## Examples
112+
## Examples & Tutorials
113113

114114
Explore and learn from example implementations and common use cases with PowerSync.
115115

@@ -121,6 +121,10 @@ Explore and learn from example implementations and common use cases with PowerSy
121121
<Card title="Use Case Examples" icon="gear" href="/usage/use-case-examples">
122122
Learn how to implement common use cases with PowerSync.
123123
</Card>
124+
125+
<Card title="Tutorials" icon="graduation-cap" href="/tutorials/overview">
126+
Solve specific problems with our growing collection of tutorials.
127+
</Card>
124128
</CardGroup>
125129

126130
## Troubleshooting

migration-guides/mongodb-atlas.mdx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "MongoDB Atlas Migration Guide"
3-
description: "This page was last updated on 2024-10-16"
3+
description: "This page was last updated on 2024-12-27"
44
---
55

66
## MongoDB Atlas deprecation
@@ -48,6 +48,8 @@ As you can see, this is not a point-and-click migration, however it does enable
4848

4949
### Migration steps
5050

51+
<Tip>The blog post [Migrating a MongoDB Atlas Device Sync App to PowerSync](https://www.powersync.com/blog/migrating-a-mongodb-atlas-device-sync-app-to-powersync) can serve as a handy guide through the migration process.</Tip>
52+
5153
1. Connect your database to an instance of the PowerSync Service:
5254
1. Using PowerSync Cloud (hosted by us): See [Database Connection](/installation/database-connection#mongodb-alpha-specifics)
5355
2. Using PowerSync Open Edition (self-hosted): Refer to our end-to-end demo app [available here](https://github.com/powersync-ja/self-host-demo/tree/main/demos/nodejs-mongodb)

mint.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
"url": "client-sdk-references"
5252
},
5353
{
54-
"name": "Self Hosting",
54+
"name": "Self-Hosting",
5555
"url": "self-hosting"
5656
},
5757
{
@@ -338,7 +338,7 @@
338338
]
339339
},
340340
{
341-
"group": "Self Hosting",
341+
"group": "Self-Hosting",
342342
"pages": [
343343
"self-hosting/getting-started",
344344
{
@@ -372,10 +372,14 @@
372372
}
373373
]
374374
},
375+
{
376+
"group": "",
377+
"pages": ["tutorials/overview"]
378+
},
375379
{
376380
"group": "Client",
377381
"pages": [
378-
"tutorials/overview",
382+
"tutorials/client/overview",
379383
{
380384
"group": "Attachments / Files",
381385
"pages": [
@@ -401,11 +405,7 @@
401405
]
402406
},
403407
{
404-
"group": "Backend",
405-
"pages": ["tutorials/backend/overview"]
406-
},
407-
{
408-
"group": "Self Host",
408+
"group": "Self-Hosting",
409409
"pages": [
410410
"tutorials/self-host/overview",
411411
"tutorials/self-host/generate-dev-token"

0 commit comments

Comments
 (0)