85 lines
3.2 KiB
Markdown
85 lines
3.2 KiB
Markdown
![]() |

|
||
|
|
||
|
<div align="center">
|
||
|
<h1>Saleor App Search</h1>
|
||
|
</div>
|
||
|
|
||
|
## 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](./docs/application-setup.md)
|
||
|
|
||
|
### Learn more about Apps
|
||
|
|
||
|
[Apps guide](https://docs.saleor.io/docs/3.x/developer/extending/apps/key-concepts)
|
||
|
|
||
|
[Configuring apps in dashboard](https://docs.saleor.io/docs/3.x/dashboard/apps)
|
||
|
|
||
|
## Development
|
||
|
|
||
|
### Requirements
|
||
|
|
||
|
Before you start, make sure you have installed:
|
||
|
|
||
|
- [Node.js](https://nodejs.org/en/)
|
||
|
- [pnpm](https://pnpm.io/)
|
||
|
- [Saleor CLI](https://docs.saleor.io/docs/3.x/cli) - optional, but recommended
|
||
|
|
||
|
1. Install the dependencies by running:
|
||
|
|
||
|
```
|
||
|
pnpm install
|
||
|
```
|
||
|
|
||
|
2. Start the local server with:
|
||
|
|
||
|
```
|
||
|
pnpm dev
|
||
|
```
|
||
|
|
||
|
3. Expose local environment using tunnel:
|
||
|
|
||
|
- Use Saleor CLI `saleor app tunnel`
|
||
|
- Use tunneling tools like [localtunnel](https://github.com/localtunnel/localtunnel) or [ngrok](https://ngrok.com/).
|
||
|
|
||
|
4. 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](https://docs.saleor.io/docs/3.x/developer/extending/apps/installing-apps#installation-using-graphql-api) 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](https://www.graphql-code-generator.com/) 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](https://github.com/saleor/saleor-app-sdk/blob/main/docs/apl.md).
|
||
|
|
||
|
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](https://upstash.com/) Redis as storage method. Free account required. Can be used for development and production and supports multi-tenancy. Requires `UPSTASH_URL` and `UPSTASH_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.](https://github.com/saleor/saleor-app-sdk/blob/main/docs/apl.md)
|