Skip to content

Comments

Add Couchbase Lite Retail Demo learning path and tutorials#93

Open
pulkit-couchbase wants to merge 2 commits intocouchbase-examples:mainfrom
pulkit-couchbase:add/couchbase-lite-retail-demo-learning-path
Open

Add Couchbase Lite Retail Demo learning path and tutorials#93
pulkit-couchbase wants to merge 2 commits intocouchbase-examples:mainfrom
pulkit-couchbase:add/couchbase-lite-retail-demo-learning-path

Conversation

@pulkit-couchbase
Copy link

  • Add learning path file: learn/markdown/mobile/couchbase-lite-retail-demo/
  • Add 4 individual tutorials under tutorial/markdown/mobile/:
    • retail-demo-getting-started
    • retail-demo-capella-setup
    • retail-demo-app-services-sync
    • retail-demo-peer-to-peer-sync
  • All tutorials marked with exclude_tutorials: true
  • Images use absolute raw GitHub URLs

- Add learning path file: learn/markdown/mobile/couchbase-lite-retail-demo/
- Add 4 individual tutorials under tutorial/markdown/mobile/:
  - retail-demo-getting-started
  - retail-demo-capella-setup
  - retail-demo-app-services-sync
  - retail-demo-peer-to-peer-sync
- All tutorials marked with exclude_tutorials: true
- Images use absolute raw GitHub URLs
@pulkit-couchbase pulkit-couchbase requested a review from a team as a code owner February 19, 2026 19:47
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @pulkit-couchbase, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly expands the documentation for the Couchbase Lite Retail Demo by introducing a dedicated learning path and a series of detailed tutorials. These resources guide users through the application's architecture, backend setup with Couchbase Capella, and the implementation of both cloud-based and peer-to-peer data synchronization, thereby enhancing the overall learning experience and ease of adoption for the demo application.

Highlights

  • New Learning Path: A new learning path file has been added for the Couchbase Lite Retail Demo, providing a structured guide for users.
  • Comprehensive Tutorials: Four new tutorials have been introduced, covering getting started with the retail demo, setting up Couchbase Capella, implementing real-time sync with App Services, and configuring peer-to-peer sync.
  • Tutorial Exclusions: All newly added tutorials are marked with exclude_tutorials: true, preventing them from appearing in general tutorial listings.
  • Image Referencing: Images within the new tutorials now utilize absolute raw GitHub URLs for consistent and reliable display.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • learn/markdown/mobile/couchbase-lite-retail-demo/couchbase-lite-retail-demo.md
    • Added a new learning path definition file for the Couchbase Lite Retail Demo.
  • tutorial/markdown/mobile/retail-demo-app-services-sync/retail-demo-app-services-sync.md
    • Added a new tutorial detailing real-time synchronization with Couchbase Capella App Services, including replication architecture, sync flow, code examples, and troubleshooting.
  • tutorial/markdown/mobile/retail-demo-capella-setup/retail-demo-capella-setup.md
    • Added a new tutorial guiding users through the setup of Couchbase Capella for the retail demo, covering cluster creation, bucket/scope/collection configuration, sample data import, and App Services setup.
  • tutorial/markdown/mobile/retail-demo-getting-started/retail-demo-getting-started.md
    • Added a new introductory tutorial for the Couchbase Lite Retail Demo, outlining its architecture, key features, data model, prerequisites, and repository structure.
  • tutorial/markdown/mobile/retail-demo-peer-to-peer-sync/retail-demo-peer-to-peer-sync.md
    • Added a new tutorial explaining peer-to-peer synchronization between mobile devices using Couchbase Lite, covering architecture, code implementation, configuration, and troubleshooting.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request introduces a new learning path and four associated tutorials for the Couchbase Lite Retail Demo. The tutorials cover getting started, Capella setup, App Services sync, and peer-to-peer sync. The content is well-structured and provides clear instructions for setting up and using the demo application. The use of absolute raw GitHub URLs for images is noted in the description, which is generally acceptable for documentation but could be improved for long-term stability by hosting them within the documentation system itself. All tutorials are correctly marked with exclude_tutorials: true as per the description.

Copy link
Contributor

@nithishr nithishr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tutorial looks good overall.
Have some minor recommendations for adapting it to the Developer Portal.

Comment on lines 2 to 4
path: "/learn/couchbase-lite-retail-demo"
title: Couchbase Lite Retail Demo
short_title: Couchbase Lite Retail Demo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add a more descriptive title & path here so that we get some SEO?
Something along the lines of "Couchbase Lite and Offline First Applications"

- swift
download_file: null
length: 1 Hour 45 Mins
---
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can add some overview of this learning path here. This is the landing page for the learning path guiding users on what this learning path is about & the prerequisites & outcomes.
Example of how it looks: https://developer.couchbase.com/learn/flutter-dart-sdk-app-services/

Comment on lines +26 to +52
## Introduction

Welcome to the Couchbase Lite Retail Demo! This tutorial series will guide you through building and understanding a retail inventory management application that demonstrates Couchbase Lite's powerful features.

In this first tutorial, you will learn:

* The architecture of the retail demo application
* Key features including offline-first data storage, real-time sync, and peer-to-peer sync
* How to set up your development environment

## Application Overview

The Couchbase Lite Retail Demo is a multi-platform retail inventory management application built for:

* **iOS** (Swift/SwiftUI)
* **Android** (Kotlin/Jetpack Compose)
* **Web** (React/TypeScript)

### Key Features

| Feature | Description |
|---------|-------------|
| **Offline-First** | Full functionality without internet using Couchbase Lite as a local database |
| **Real-Time Sync** | Bidirectional sync with Couchbase Capella via App Services |
| **Peer-to-Peer Sync** | Direct device-to-device sync over local network (iOS & Android) |
| **Multi-Store Support** | Manage inventory across multiple retail locations |

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could consider moving some of this into the Learning Path landing page (learn/markdown/)


The complete setup looks like this:

![App Setup Diagram](https://raw.githubusercontent.com/couchbase-examples/couchbase-lite-retail-demo/main/common/assets/app-setup.png)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you move these images to the tutorials repo so that we don't need to update the content in two repos? You can copy the images into the tutorial folder & link them.

* [iOS README](https://github.com/couchbase-examples/couchbase-lite-retail-demo/blob/main/iOS/README.md)
* [Web README](https://github.com/couchbase-examples/couchbase-lite-retail-demo/blob/main/web/README.md)

## Learn More
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could add a line here guiding them onto the next step of the learning path.
An example from one of the existing tutorials

Congratulations on completing this step of our learning path!

This step of the learning path walked you through an example of how to use a pre-built Couchbase Lite database. Check out the following links for further documenation and continue on to the next step that covers how to insert documents into the database using Batch operations.


Watch P2P sync in action between two Android devices and an iPhone:

![P2P Demo](https://raw.githubusercontent.com/couchbase-examples/couchbase-lite-retail-demo/main/common/assets/P2P_demo_android-android-ios.mp4)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We would need to test this out on staging to see how the video works. In the past, we used to load them from YouTube.

3. Set `ENABLE_P2P_SYNC = false`

## Learn More

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be nice to say something nice on finishing the learning path here.
Example: https://developer.couchbase.com/tutorial-quickstart-ios-uikit-sync/?learningPath=learn/swift

@@ -0,0 +1,184 @@
---
path: "/retail-demo-getting-started"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we could make it more descriptive. Something like /offline-first-app-getting-started

@@ -0,0 +1,184 @@
---
path: "/retail-demo-getting-started"
title: Getting Started with the Couchbase Lite Retail Demo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same for the title

…essages

- Update learning path: SEO-friendly path/title, add overview body content
  with prerequisites, app description and learning agenda
- Rename getting-started tutorial to offline-first-app-getting-started
  with more descriptive SEO title; add "What's Next?" section
- Add images/assets into each tutorial folder (relative paths)
- Add congratulations/completion message to peer-to-peer-sync tutorial
- Update all image references to relative paths (co-located with markdown)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants