@journeeze/sdk 0.1.0-rc.3 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -5
- package/package.json +10 -2
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# @journeeze/sdk
|
|
2
2
|
|
|
3
|
+
[Website & early access](https://journeeze.dev) · [Review board](https://app.journeeze.dev) · [npm](https://www.npmjs.com/package/@journeeze/sdk)
|
|
4
|
+
|
|
5
|
+
## What is Journeeze?
|
|
6
|
+
|
|
3
7
|
Journeeze adds in-app help and an opt-in feedback mode to any website or app. Visitors read
|
|
4
8
|
step-by-step guides built from your documented user journeys, and invited reviewers (or signed-in
|
|
5
9
|
users) point at what is unclear. Journeeze groups that feedback and files it as GitHub issues in
|
|
@@ -8,6 +12,19 @@ your repository.
|
|
|
8
12
|
The SDK is a small loader (about 2 KB gzipped). Nothing observes the page until help or the
|
|
9
13
|
feedback mode is switched on, and nothing is captured before the visitor consents.
|
|
10
14
|
|
|
15
|
+
### Built on Jevitate journeys
|
|
16
|
+
|
|
17
|
+
Journeeze builds on [Jevitate](https://jevitate.com), the
|
|
18
|
+
[MIT-licensed, open-source browser testing and journey tool](https://github.com/matt-cochran/jevitate).
|
|
19
|
+
Jevitate explores your app, verifies flows in a real browser, and produces replayable journeys
|
|
20
|
+
and step-by-step guides. Journeeze brings those journeys into your live app as help, then adds
|
|
21
|
+
human feedback about what people understood and where they got stuck.
|
|
22
|
+
|
|
23
|
+
Use Jevitate to author and verify your journeys; connect their `.jevitate/` catalog to Journeeze
|
|
24
|
+
to import guides, review them and publish them for your users. See [Connect GitHub](#connect-github)
|
|
25
|
+
for the catalog connection and CI upload option. You can use Jevitate independently of Journeeze.
|
|
26
|
+
Journeeze and this SDK have their own [service license](#versions-and-license).
|
|
27
|
+
|
|
11
28
|
**Contents:** [Before you start](#before-you-start) · [Install](#install) ·
|
|
12
29
|
[Environments](#environments-and-apihost) · [Content Security Policy](#content-security-policy) ·
|
|
13
30
|
[Signed-in users](#signed-in-users) · [Privacy and masking](#privacy-and-masking) ·
|
|
@@ -15,9 +32,59 @@ feedback mode is switched on, and nothing is captured before the visitor consent
|
|
|
15
32
|
[GitHub](#connect-github) · [Checklist](#setup-checklist) ·
|
|
16
33
|
[Troubleshooting](#troubleshooting) · [Versions](#versions-and-license)
|
|
17
34
|
|
|
35
|
+
## Quick start: your first feedback
|
|
36
|
+
|
|
37
|
+
This package connects your website or web app to the hosted Journeeze service. Installing it
|
|
38
|
+
does not create an account or publish guides. Visit [journeeze.dev](https://journeeze.dev) for
|
|
39
|
+
product information and early access, then get a site key and register your app's origins with
|
|
40
|
+
the Journeeze team ([Before you start](#before-you-start)).
|
|
41
|
+
|
|
42
|
+
With your production site key:
|
|
43
|
+
|
|
44
|
+
```sh
|
|
45
|
+
npm install @journeeze/sdk@rc --save-exact
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
`rc` selects the current release candidate; `--save-exact` pins the resolved version. Commit your
|
|
49
|
+
lockfile for repeatable installs. Add a button to your page:
|
|
50
|
+
|
|
51
|
+
```html
|
|
52
|
+
<button id="send-feedback" type="button">Send feedback</button>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Run this in your browser entry point after the button exists:
|
|
56
|
+
|
|
57
|
+
```ts
|
|
58
|
+
import { createJourneeze } from "@journeeze/sdk";
|
|
59
|
+
|
|
60
|
+
const journeeze = createJourneeze({
|
|
61
|
+
siteKey: "pk_REPLACE_WITH_YOUR_SITE_KEY",
|
|
62
|
+
pagePath: "none",
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
document.querySelector("#send-feedback")?.addEventListener("click", () => {
|
|
66
|
+
void journeeze.enable();
|
|
67
|
+
});
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
For a staging site key, also set `apiHost: "https://app.staging.journeeze.dev"`; see
|
|
71
|
+
[Environments](#environments-and-apihost). Mark customer content with `data-jz-mask` before testing.
|
|
72
|
+
|
|
73
|
+
1. Open your registered app origin and click **Send feedback**.
|
|
74
|
+
2. Accept the consent prompt, select an element and submit a comment. Anonymous visitors can
|
|
75
|
+
submit feedback; screenshots require [signed-in users](#signed-in-users).
|
|
76
|
+
3. Open your project's [review board](https://app.journeeze.dev) using your owner invite and
|
|
77
|
+
confirm the report arrived. Triage related reports, group them into clusters, then file a
|
|
78
|
+
cluster as a GitHub issue once your [GitHub App is connected](#connect-github).
|
|
79
|
+
|
|
80
|
+
To add guided help, publish a guide and enable help for your site's audience on the board, then
|
|
81
|
+
call `journeeze.enableHelp()`. See [In-app help](#in-app-help) for element anchors and journey context.
|
|
82
|
+
For React or a site without a bundler, use the examples under [Install](#install).
|
|
83
|
+
|
|
18
84
|
## Before you start
|
|
19
85
|
|
|
20
|
-
Journeeze is in early access.
|
|
86
|
+
Journeeze is in early access. Start at [journeeze.dev](https://journeeze.dev).
|
|
87
|
+
The Journeeze team sets up your account. Send them:
|
|
21
88
|
|
|
22
89
|
1. Your organisation and product name.
|
|
23
90
|
2. Every origin the SDK will run on, with scheme, host and port. Example:
|
|
@@ -41,11 +108,13 @@ Pick one way. Both load the same code.
|
|
|
41
108
|
### npm (bundled apps)
|
|
42
109
|
|
|
43
110
|
```sh
|
|
44
|
-
npm install @journeeze/sdk@
|
|
111
|
+
npm install @journeeze/sdk@rc --save-exact
|
|
45
112
|
```
|
|
46
113
|
|
|
47
|
-
|
|
48
|
-
`
|
|
114
|
+
The command resolves `rc` and pins that exact version. To choose a particular release, use
|
|
115
|
+
`npm install @journeeze/sdk@<version> --save-exact`. Release candidates (`-rc.N`) are on the `rc`
|
|
116
|
+
tag; stable releases use `latest`. Check the package's version tags before choosing a channel:
|
|
117
|
+
an unqualified `npm install @journeeze/sdk` can select an older version than `rc`.
|
|
49
118
|
|
|
50
119
|
**React:**
|
|
51
120
|
|
|
@@ -60,6 +129,7 @@ export function Root() {
|
|
|
60
129
|
context={{ persona: "owner", journeyId: "billing", journeyStep: "route.billing.pay" }}
|
|
61
130
|
pagePath="none" // you pass route ids as journeyStep
|
|
62
131
|
>
|
|
132
|
+
<HelpButton />
|
|
63
133
|
<App />
|
|
64
134
|
</JourneezeProvider>
|
|
65
135
|
);
|
|
@@ -294,7 +364,7 @@ filing.
|
|
|
294
364
|
**After installing, tell the Journeeze team.** They link the repository to your project. This is
|
|
295
365
|
one step on their side until the board does it for you.
|
|
296
366
|
|
|
297
|
-
**Your journey catalog.** Journeeze reads the Jevitate catalog in your repository's `.jevitate/`
|
|
367
|
+
**Your journey catalog.** Journeeze reads the [Jevitate](https://jevitate.com) catalog in your repository's `.jevitate/`
|
|
298
368
|
folder (personas, jobs and journeys) on each push. Guides with screenshots and video are imported
|
|
299
369
|
from your approved journeys as drafts. A triager reviews each one on the board (**Journeys**), may
|
|
300
370
|
lightly edit the step text, and publishes it. Only published guides appear in help.
|
package/package.json
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@journeeze/sdk",
|
|
3
|
-
"version": "0.1.0
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "In-app help and opt-in, element-anchored feedback for your web app, with triage and GitHub issues through Journeeze.",
|
|
5
|
+
"homepage": "https://journeeze.dev",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"journeeze",
|
|
8
|
+
"feedback",
|
|
9
|
+
"in-app-help",
|
|
10
|
+
"user-feedback",
|
|
11
|
+
"github-issues"
|
|
12
|
+
],
|
|
5
13
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
14
|
"publishConfig": {
|
|
7
15
|
"registry": "https://registry.npmjs.org/",
|