apps/medusa-backend. You extend it the same way you would any Medusa v2 install: by adding modules, subscribers, and admin widgets. This page covers the extension points Vulpy uses and how to add your own.
Extension points
- Modules and providers: Add payment, fulfillment, tax, notification, file, and other providers. Follow the Medusa module docs for integration patterns.
- Subscribers: Vulpy ships a
commerceReportingsubscriber that aggregates order lifecycle metrics without requiring visitor consent. See Orders. - Admin widgets: Vulpy adds crosslinks from the Medusa admin into the Payload admin and the storefront, so editors can jump between systems.
- Publishable API key sync: Set
SYNC_PUBLISHABLE_KEY=1to keep storefront publishable API keys aligned across deploys. See Environment variables.
Add a subscriber
1
Create the subscriber file
Add a new file under
apps/medusa-backend/src/subscribers/ that exports a subscriber function and the events it listens to.2
Register the subscriber
Register it per the Medusa subscriber docs. This usually means exporting the handler and event config from the file so Medusa discovers it automatically.
3
Restart the environment
Restart Medusa so the new subscriber is loaded:
Seeds and demo data
Run the demo catalog seed to create sample products and categories:metadata.demo_catalog = true so they never mix with real data. You can safely remove them later by filtering on that metadata key.
Keep provider credentials in
environments/<name>/.env. Never commit secrets to the repository.Payments and providers
Configure payment and fulfillment providers in the Medusa backend.
Storefront blocks
Register Payload blocks and map them to React components in the storefront.