Domain-driven e-commerce for Django
Oscar is an e-commerce framework for Django designed for building
domain-driven applications. It is structured so that the core business objects
can be customised to suit the domain at hand. In this way, your application
can accurately model its domain, making feature development and maintenance
- Any product type can be handled, including downloadable products,
subscriptions, variant products (eg a T-shirt in different sizes and colours).
- Customisable products, such as T-shirts with personalised messages.
- Can be used for large catalogues - Oscar is used in production by sites with
more than 20 million products.
- Multiple fulfillment partners for the same product.
- Range of merchandising blocks for promoting products throughuout your site.
- Sophisticated offers that support virtually any kind of offer you can think
of - multibuys, bundles, buy X get 50% of Y etc
- Comprehensive dashboard
- Support for split payment orders
- Extension libraries available for PayPal, GoCardless, DataCash and more
Oscar is a good choice if your domain has non-trivial business logic. Oscar’s
flexibility means it’s straightforward to implement business rules that would be
difficult to apply in other frameworks.
Example requirements that Oscar applications already handle:
- Paying for an order with multiple payment sources (eg using a bankcard,
voucher, giftcard and business account).
- Complex access control rules governing who can view and order what.
- Supporting a hierarchy of customers, sales reps and sales directors - each
being able to “masquerade” as their subordinate users.
- Multi-lingual products and categories
Oscar is developed by Tangent Labs, a London-based digital agency. It is
used in production in several applications to sell everything from beer mats to
ipads. The source is on Github - contributions welcome.