Companion App
LamaShopi (app.lamashopi) is a Laravel companion app that extends Shopify storefronts with functionality that Shopify doesn't provide out of the box.
What It Does
The app runs alongside the Shopify store (not embedded in the Shopify admin). It communicates with the storefront via App Proxy and with Shopify via webhooks and the Admin API.
Features
All features are opt-in via environment flags:
| Feature | Flag | Description |
|---|---|---|
| Inventory | SHOPIFY_FEATURE_INVENTORY | Stock per location with caching |
| Wishlists | SHOPIFY_FEATURE_WISHLISTS | Anonymous + authenticated wishlists |
| OOS Notifications | SHOPIFY_FEATURE_OOS | Back-in-stock email alerts |
| Store Locator | SHOPIFY_FEATURE_STORE_LOCATOR | Physical store directory |
| Bundles | SHOPIFY_FEATURE_BUNDLES | Product bundles with discounts |
| Free Shipping | SHOPIFY_FEATURE_FREE_SHIPPING_BAR | Shipping threshold data |
Tech Stack
| Package | Version | Purpose |
|---|---|---|
| Laravel | 13 | Application framework |
| Filament | 5 | Admin panel |
| Horizon | 5 | Queue monitoring |
| Pest | 4 | Testing |
| Spatie Health | 1 | Health checks |
| Spatie Activity Log | 5 | Action auditing |
| Flare | 2 | Error monitoring |
Architecture
The app follows standard Laravel conventions with a few Shopify-specific patterns:
- No OAuth flow — uses Shopify Dev Dashboard client credentials for API access
- No embedded admin — Filament provides its own admin interface
- App Proxy — storefront requests are HMAC-verified by Shopify before reaching the app
- Per-shop deployment — each merchant gets their own app instance and database
Next Steps
- Setup — Installation and configuration
- Features — Detailed feature documentation
- Shopify Integration — Dev Dashboard, App Proxy, webhooks
- Admin Panels — Filament panels and resources
- Services — ShopifyClient and key service classes
- Commands — Artisan command reference
- Testing — Pest testing conventions