The starter is a learning scaffold, not a framework. Everything is plain, commented code you
own and edit — swap the notes UI for your product and keep the install/session/proxy plumbing.
Create your app
1
Install the CLI
The starter is scaffolded by the Salesive dev tools CLI.
2
Scaffold the app
create-app clones the starter, seeds .env from .env.example, and prints the next steps.Prefer not to use the CLI? Clone it directly instead:
git clone https://github.com/Eoion/salesive-app-starter my-app — then copy .env.example
to .env yourself.3
Install dependencies
4
Add your credentials
Create your app in the dashboard (Apps → Developer, see Build & publish)
to get a
client_id and client_secret, then fill them into .env.5
Run it
http://localhost:3000).Configure
The starter reads everything from.env (copied from .env.example). Only the first three are
required to complete an install.
Reaching your local app from Salesive
A real install has Salesive redirect the merchant’s browser to yourredirect_uri, so
localhost only works for installs you trigger from your own machine. For a real install, expose
your port with a tunnel (outray, ngrok, cloudflared, …), set APP_BASE_URL to the public HTTPS
URL, and register APP_BASE_URL/oauth/callback as a redirect URI in the Developer console.
What’s inside
Everything lives on one Express server that also serves the React app (Vite middleware in dev, staticdist in prod).
Storage
server/store.js ships with two interchangeable backends behind one interface:
- In-memory (default) — zero setup, but installs are lost on restart. Perfect for trying the starter.
- MongoDB — set
MONGODB_URIto persist installs across restarts and share them between processes.
Before production
Serve over HTTPS
The session cookie is
SameSite=None; Secure, so it’s only sent over HTTPS (localhost aside).Persist installs, encrypt tokens
Use a real database (set
MONGODB_URI) and encrypt the stored app_ tokens at rest.Verify every webhook
Keep the HMAC signature check and reject unsigned or mismatched deliveries before acting.
Consider App Bridge
For embedded UI, a signed session token survives third-party-cookie blocking better than a
cookie. See App Bridge.
Next steps
Understand the install flow
The full OAuth 2.1 + PKCE handshake the starter implements.
Pick your scopes
Swap
READ_NOTES,WRITE_NOTES for the permissions your app actually needs.Call the Apps API
Read and write store data through the scoped proxy.
Build & publish
Register your app and list it on the marketplace.

