saleor-apps-redis_apl/apps/monitoring
Adrian Pilarczyk 453baf78a1
feat: finalize order process (#355)
* feat:  add dummy order-created

* refactor: 🔥 unused private-providers-configuration-service

* feat:  add dummy order-fulfilled

* refactor: 🚚 move provider-config

* refactor: 🚚 crudSettingsConfigurator -> crudSettingsManager

* refactor: ♻️ [tax-provider].ts -> [tax-provider]-webhook.service.ts

* feat:  add dummy createOrder

* refactor: ♻️ distinguish between salesOrder and salesInvoice in avatax

* refactor: 🚚 [provider]-calculate.ts to [provider]-transform.ts

* refactor: 🚚 ResponseTaxPayload to tax-provider-webhook.ts

* refactor: 🚚 ResponseTaxPayload -> CalculateTaxesResponse

* refactor: ♻️ webhooks with active-tax-provider.service.ts

* feat:  add skeleton orderCreate functionality

* refactor: ♻️ [provider]-transform.ts -> [provider]-[webhook]-transform.ts

* feat:  add order-fulfilled with avatax call

* refactor: ♻️ move getActiveTaxProvider to active-tax-provider

* refactor: 🏷️ export types for [provider]-client function args

* refactor: 🚚 UpdateAppMetadata -> UpdateMetadata

* feat:  fulfill order with id from metadata

* build: ⬆️ upgrade avatax

* feat:  commit transaction on fulfill in avatax

* fix: 🐛 return of webhooks to ensure valid retry behavior

* refactor: 🚚 [provider]-[webhook]-transform -> [provider]-[webhook]-map

* refactor: 🏷️ export types of avatax-calculate-taxes mapPayload

* refactor: ♻️ extract address-map to separate function

* refactor: ♻️ remove schema.ts

* refactor: ♻️ move addressSchema to channels-config.ts

* feat:  add tests & placeholder tests for avatax & taxjar maps

* refactor: ♻️ throw error if no metadata

* refactor: ♻️ change EXTERNAL_ID_KEY to PROVIDER_ORDER_ID_KEY

add comments

* refactor: ♻️ comments -> it.todo in tests

* refactor: 💡 add comment about shipping_item_code

* refactor:  add todo items for tests

* refactor: ♻️ remove export and add sumLines to taxJarOrderCreated

* refactor: ♻️ address-map with avatarAddressFactory

* docs: 💡 add comment about MOCKED_SALEOR_PAYLOAD

* refactor: ♻️ remove export of mapLines and add to avataxCalculateTaxes

* style: 🎨 add newline-after-var warn to eslint-config-saleor

* style: 🎨 autofix newline-after-var in taxes

* test:  restructure tests according to new naming in address-map

* refactor: ♻️ add shippingItemCode to avataxCalculateTaxes wrapper object

* refactor: 🚚 payloadProps -> payloadArgs

* refactor: ♻️ add Maps suffix to map wrapper objects

* refactor: ♻️ remove data: null from ActiveTaxProviderResult

* refactor: ♻️ maintain the object hierarchy in tests

* refactor: ♻️ refactor webhook responses with WebhookResponseFactory

* build: ⬆️ vitest

* test:  add tests for get-app-config-test

* test:  add tests for getActiveTaxProvider

* refactor: ♻️ use address fragment for taxBase and order

* refactor: ♻️ rename WebhookResponseFactory -> WebhookResponse

* style: 👷 add multiline-comment-style

* fix: 🐛 dummy test in get-app-config.test.ts

* refactor: ♻️ rename AddressFragment -> Address

* refactor: ♻️ use debug instead of error in webhook-response noRetry

* refactor: ♻️ refactor as variables in mutation

* build: 👷 add changeset

* refactor: ♻️ split changesets in two

* build: ⬆️ vite

* build: ⬆️ vite && vitest in all apps
2023-04-17 13:58:21 +02:00
..
backend Add Saleor Monitoring app (#189) 2023-02-22 12:23:04 +01:00
src Extract useDashboardNotification (#362) 2023-04-14 17:40:49 +02:00
.eslintrc Add Saleor Monitoring app (#189) 2023-02-22 12:23:04 +01:00
.gitignore Add Saleor Monitoring app (#189) 2023-02-22 12:23:04 +01:00
.graphqlrc.yml Add Saleor Monitoring app (#189) 2023-02-22 12:23:04 +01:00
.prettierignore Add Saleor Monitoring app (#189) 2023-02-22 12:23:04 +01:00
.prettierrc Add Saleor Monitoring app (#189) 2023-02-22 12:23:04 +01:00
CHANGELOG.md Release apps (#357) - 2023-04-13 2023-04-13 16:24:38 +02:00
docker-compose.yml Add Saleor Monitoring app (#189) 2023-02-22 12:23:04 +01:00
next-env.d.ts Add Saleor Monitoring app (#189) 2023-02-22 12:23:04 +01:00
next.config.js Extract useDashboardNotification (#362) 2023-04-14 17:40:49 +02:00
package.json feat: finalize order process (#355) 2023-04-17 13:58:21 +02:00
README.md Prepare app for production (#145) 2023-02-23 07:22:37 +00:00
tsconfig.json Add Saleor Monitoring app (#189) 2023-02-22 12:23:04 +01:00
turbo.json Change turborepo config to use local turbo.json (#353) 2023-04-13 12:44:27 +02:00
vitest.config.ts Add Saleor Monitoring app (#189) 2023-02-22 12:23:04 +01:00

Saleor Monitoring app

NOTE: This is Alpha version of the app.

Local development

Start Monitoring backend

Run:

docker-compose up

It is beneficial to run this command in a separate terminal tab to observe backend logs easily.

By default, backend will run at localhost:5001 with:

  • Manifest at /manifest
  • Graphql Playground at /graphql
  • OpenApi viewer at /docs

Develop frontend:

Installing dependencies with:

pnpm i

Running dev server

pnpm dev

The frontend app will run at localhost:3000. By default, it acts as a proxy and redirects all unhandled requests to the backend (configured by MONITORING_APP_API_URL env). This way, all frontend and backend endpoints are accessible at http://localhost:3000

Test with Saleor

Expose http://localhost:3000 using a tunnel and use https://your.tunnel/manifest manifest URL to install Monitoring app

Graphql Playground

To use Graphql Playground, Monitoring app needs to be installed in Saleor, and HTTP headers must be set:

{
  "authorization-bearer": "token",
  "saleor-api-url": "https://my-env.saleor.cloud/graphql/"
}

Testing DataDog integration

Use these credentials sets to test DataDog integration:

Working credentials:

{
  "site": "US1",
  "apiKey": "156e22d50c4e8b6816e1fd4794d3fd8c"
}

Credentials that validate but generate an error while sending events

{
  "site": "EU1",
  "apiKey": "156e22d50c4e8b6816e1fd4794d3fd8c"
}