Daffodil is an Angular-based framework for building complex ecommerce storefronts that connect to any backend. It provides a complete architectural solution for headless ecommerce frontends that scales from startup MVPs to enterprise storefronts.
Switch between ecommerce backends with minimal code changes. Daffodil's driver architecture abstracts platform differences, allowing you to change entire (or partial) ecommerce features to another platform by changing only a few lines of code. View the demo to see Daffodil in action!
For example, you could be on Magento:
import { ApplicationConfig } from '@angular/core';
import { provideMagentoDriver } from '@daffodil/driver/magento';
import { provideDaffProductMagentoDriver } from '@daffodil/product/driver/magento';
export const appConfig: ApplicationConfig = {
providers: [
provideMagentoDriver(config),
provideDaffProductMagentoDriver(),
]
};
and switch over to Shopify with just two lines of code:
import { ApplicationConfig } from '@angular/core';
import { provideShopifyDriver } from '@daffodil/driver/shopify';
import { provideDaffProductShopifyDriver } from '@daffodil/product/driver/shopify';
export const appConfig: ApplicationConfig = {
providers: [
provideShopifyDriver(config),
provideDaffProductShopifyDriver(),
]
};
Drivers enable integration with any ecommerce backend through consistent interfaces. Drivers abstract platform-specific implementations, keeping application code platform-agnostic.
Key benefits:
Example:
// Same service interface works with any platform
constructor(
@Inject(DaffProductDriver) private productDriver: DaffProductServiceInterface
) {}
// Works with Magento, Shopify, or any custom implementation
this.productDriver.get(productId).subscribe(product => {
// Handle product data consistently
});
Daffodil's Design System provides ecommerce-specific components tested for accessibility, responsive design, and conversion optimization.
Daffodil uses interoperable packages that work independently or together. Install only what you need without package bloating:
Daffodil is MIT licensed and community-driven. Daffodil wouldn't be possible without our many open source contributions.