Django Oscar E-Commerce Framework

High level review of the framework and deep-dive into some of it's interesting features

By Ori Hoch

My Django-Oscar experience

ahavnoo.com - Multi-vendor shop where a percentage of each sale is donated to a do-good project.
Developed by LoopIndex

Oscar benefits for Ahavnoo

  • Multi-vendor
    although not officially supported, very easy to implement using the fullfilment partners feature
  • Management of donation projects
    It's very easy to customize the dashbaord
  • Customized checkout process
    added support for donation and project selection during the checkout process
  • Custom payment using Tranzilla
    There is no Tranzilla payment plugin

What is Django-Oscar?

  • Django E-Commerce framework
  • Open Source, active, commercial support and endorsment
  • Django 1.8, Python 2 and 3 supported
  • Frontend (optional): Bootstrap 3, Less, Jquery
  • Extremely customizable

Partial list of features

  • Product Catalogue
    including: variants, categories, product attributes, product types, recommendations, reviews
  • Customer Management
    including: customer address and order management, communication events, email templates
  • Dashboard
    Easy to use and customize, including support for custom permissions
  • Offers, discounts, vouchers
    Managed via dashboard - can specify offer availability, conditions and benefits
  • Order Management
    Support for complicated workflows, including per-line statuses and events
  • Fulfilment Partners / Suppliers
  • Payment plugins
  • Promotions
    managed via dashboard - can edit content-blocks per page
  • Search Simple or with Solr

Useful features for non e-commerce projects

  • Dashboard
    Easy to extend and modify
  • CMS features
    Edit pages and add content-blocks from the dashboard
  • User customizable email templates
    Define email templates and edit them from the dashboard
  • Reviews and rating (could be used for comments)
    Reject / Approve from the dsahboard
  • Reporting
    User can generate custom reports for a given time-range
  • Category tree
    Editable from the dashboard

What it's not

  • Out of the box shop solution
    Every installation will require some Django coding
  • Dashboard could be hard to use for some actions
    UX could be improved, but it's easy to learn or customize
  • No catalogue bulk create/update
    There is some preliminary support from command line
  • There aren't a lot of plugins
    Integration with 3rd party services will probably require some coding

Deep-Dive

https://github.com/OriHoch/Django-Oscar-Demo

A Repository containing several progressive enhancements demonstrating Oscar usage and capabilities - highlighting the oscar code structure and development methodologies.

  1. Initial Setup
  2. Paypal express checkout integration
  3. Variants, attributes, frontend customization
  4. Custom pricing strategy