![]() * initial setup * GRaphql setup * [skip ci] * Manifest and register endpoints * Add config schemas * contentful client * contentful client * [skip ci] trpc setup * metadata manager and contentful router * Configuration config * contentful config - adding providers * add provider page * wip contentful form * contentful form * list providrs * edit contentful form * [skip ci] * [skip ci] replace contentful sdk * replace contentful lib * Delete contetnful provider feature * variant created webhook draft * channel provider connection model * Channel connections ui * adding new connection * connections ui (adding) * [skip ci] wip edit conn * removing connection * rebuild modal * refactor providers * implement update product webhook * add deleting product * [skip ci] wip * refactor contentful router * refactor wip * refactor config * webhooks processor * webhook delegations * bulk sync section * bulk sync page * gql for imports * [skip ci] bulk import contentful * temp variant sync list with rate limiters * wip * wip * wip * new frontend for uploading * update zod * print config keys * wip * [skip ci] datocms init * dato add provdier page * dato form skeleton * dato display content type select * full dato form * ButtonsBox extraction * edit dato config form * update product in dato * [skip ci] * extract bulk sync processor * dato bulk update * [skip ci] product updated webhook * product webhook * crud operations router * update cruds * refactor webhook operations * refactors * refactors * helper texts * [skip ci] deps * Init * fix macaw icon * unify app skd * unify nextjs * strapi setup * fix strapi types * strapi upload product * strapi delete product * strapi product updated webhook * processor for bulk sync strapi * shared add provider page * refactors * refactors * wrap providers into folder * refactors * refactors * refactors * pnpm lock * add logs * name configuration mapping name * form configurable side notes * remove commentns * wip providers resolver working * central config for providers resolving * tests wip * remove vscode condig * cleanup * provider meta extract * some tests for contentufl * contentful client test * more tests for contentful * strapi helper texts * builderio setup * builderio form * builderio client draft * validate connection modal * Add sending product to builderio * rename builder field * add public api key for read access * update products * Builder.io - bulk sync * Fix manifest * cr fixes * Make strapi to work with multiple products * Github actions |
||
---|---|---|
.. | ||
docs | ||
graphql | ||
public | ||
src | ||
.env.example | ||
.eslintrc | ||
.graphqlrc.yml | ||
CHANGELOG.md | ||
next-env.d.ts | ||
next.config.js | ||
package.json | ||
README.md | ||
saleor-app.ts | ||
sentry.client.config.ts | ||
sentry.edge.config.ts | ||
sentry.server.config.ts | ||
tsconfig.json | ||
turbo.json | ||
vitest.config.ts |
Saleor App Search
About
Saleor App providing integration with the Algolia (and more search engines in the future).
What's included?
- Synchronize changes of your products catalog with Algolia
- Search results preview
- Each channel is a separate index
How to install
- start local dev server or deploy the application
- install the application in your Saleor Instance using manifest URL
- configure the application
Learn more about Apps
Development
Requirements
Before you start, make sure you have installed:
- Node.js
- pnpm
- Saleor CLI - optional, but recommended
- Install the dependencies by running:
pnpm install
- Start the local server with:
pnpm dev
- Expose local environment using tunnel:
- Use Saleor CLI
saleor app tunnel
- Use tunneling tools like localtunnel or ngrok.
- Install application at your dashboard:
If you use Saleor Cloud or your local server is exposed, you can install your app by following this link:
[YOUR_SALEOR_DASHBOARD_URL]/apps/install?manifestUrl=[YOUR_APP_TUNNEL_MANIFEST_URL]
This template host manifest at /api/manifest
You can also install application using GQL or command line. Follow the guide how to install your app to learn more.
Generated schema and typings
Commands build
and dev
would generate schema and typed functions using Saleor's GraphQL endpoint. Commit the generated
folder to your repo as they are necessary for queries and keeping track of the schema changes.
Learn more about GraphQL code generation.
Storing registration data - APL
During registration process Saleor API pass the auth token to the app. With this token App can query Saleor API with privileged access (depending on requested permissions during the installation). To store this data, app-template use a different APL interfaces.
The choice of the APL is done using APL
environment variable. If value is not set, FileAPL is used. Available choices:
file
: no additional setup is required. Good choice for local development. Can't be used for multi tenant-apps or be deployed (not intended for production)upstash
: use Upstash Redis as storage method. Free account required. Can be used for development and production and supports multi-tenancy. RequiresUPSTASH_URL
andUPSTASH_TOKEN
environment variables to be set
If you want to use your own database, you can implement your own APL. Check the documentation to read more.