A Django based shop system

Overview

django-SHOP

Django-SHOP aims to be a the easy, fun and fast e-commerce counterpart to django-CMS.

Build Status PyPI version Python versions Join the chat at https://gitter.im/awesto/django-shop Software license Twitter Follow

Here you can find the full documentation for django-SHOP.

Build the database model out of the product's properties – not vice versa

Most e-commerce systems are shipped with a predefined database model for products. But products can vary a lot, and it simply is impossible to create a model which fits for all of them. This is esspecially true for products with a hierarchy of variants. In many popular e-commerce platforms, you either have far too many attributes per product, and/or the really required attributes are missing.

In django-SHOP implementations, the product models reflect their pysical properties making it possible to create complete and deep hierarchies of variations, but without having to fiddle with unneeded properties. It furthermore avoids the need for an Entity Attribute Value Model, which is considered a database anti-pattern, because it produces far too many table joins, when filtering by property.

Don't build pages using hard-coded templates – compose them

With the advent of frameworks, such as Angular, React, Vue and Aurelia, building web-applications shifted from a page-centric to a component-based approach.

In django-SHOP, you are in full control over the page's layout, since all components are encapsulated and independent from each other. This means that instead of adopting the Catalog, Cart, Checkout and Order pages, use the django-CMS plugin system to compose everything required for those pages.

All Views are either HTML or RESTful services

Browser based navigation is important, but nowadays it's only one of many channels clients use to communicate with a web-server. Consider Single Page Applications or other native clients, where we use RESTful APIs instead of pure HTTP.

This substantially reduces the payload having to be transferred. It furthermore gives the client a smoother user experience, since only the content has to be updated, rather than having to do full page reloads.

Programmable cart modifiers

During checkout, taxes have to be applied or attributed. Depending on the shipping destination, the product group and other factors, this computation can either be simple or quite demanding. Django-SHOP offers a pluggable interface to create modifiers which calculate the cart's totals, taxes and other costs.

This same interface can be extended to compute the weight and shipping costs. It also can be used for subtracting discounts or to add additional charges.

Programmable workflow for fulfilment and delivery

Fulfilling and shipping orders probably requires the most individual adaption for an e-commerce business. Django-SHOP offers a programmable interface for order by using a finite state machine to adopt the workflow. Each order may have several states, but the only actions allowed are limited to explicitly defined state transitions.

It's modular

Whenever possible, extra features should be added by third party libraries. This implies that django-SHOP aims to provide an API, which allows merchants to add every feature they desire.

Currently there are third party libraries for several Payment Service Providers, such as PayPal, Stripe, BS-PayOne and Viveum. An open interface allows you to add any other provider.

Shipping Service Providers may be added as third party library as well. With SendCloud, ship your orders using one or more parcel services available for your region.

Start by building your own demo

Instead of providing an accessible online demo, django-SHOP can be set up in less than three minutes and preconfigured to your needs. Having access to the product models, you can immediatly start to play arround with, rename, and modify them to reflect the properties of your products. This is the easiest way to get a shop up and running out of the box with the flexibility of a website that you could have built from scratch.

If you want to start with a fresh demo, please use the prepared Cookiecutter template for django-SHOP and follow the instructions.

Audience of django-SHOP users

Specifically, we aim at providing a clean, modular and Pythonic/Djangonic implementation of an e-commerce framework, that a moderately experienced Django developer should be able to pick up and run easily. Pure Django models are used to describe each product type, and so the Django admin can be used to build a minimalistic editor for each of them.

Consultancy

We provide full consultancy support and are available for building complete e-commerce systems based on django-SHOP. Please contact [email protected] for further questions.

Documentation

Read the full documentation on Read-the-docs:

https://django-shop.readthedocs.io/en/latest/

Djang Referral System

Djang Referral System About | Features | Technologies | Requirements | Starting | License | Author 🎯 About I created django referral system and I wan

Alex Kotov 5 Oct 25, 2022
CRUD with MySQL, Django and Sass.

CRUD with MySQL, Django and Sass. To have the same data in db: insert into crud_employee (first_name, last_name, email, phone, location, university) v

Luis Quiñones Requelme 1 Nov 19, 2021
A Powerful HTML white space remover for Django

HTML Whitespace remover for Django Introduction : A powerful tool to optimize Django rendered templates Why use "django_stip_whitespace" ? Adds line b

3 Jan 01, 2022
Packs a bunch of smaller CSS files together from 1 folder.

Packs a bunch of smaller CSS files together from 1 folder.

1 Dec 09, 2021
Django backend of Helium's planner application

Helium Platform Project Prerequisites Python (= 3.6) Pip (= 9.0) MySQL (= 5.7) Redis (= 3.2) Getting Started The Platform is developed using Pytho

Helium Edu 17 Dec 14, 2022
The new Python SDK for Sentry.io

Bad software is everywhere, and we're tired of it. Sentry is on a mission to help developers write better software faster, so we can get back to enjoy

Sentry 1.4k Jan 05, 2023
A Django app that creates automatic web UIs for Python scripts.

Wooey is a simple web interface to run command line Python scripts. Think of it as an easy way to get your scripts up on the web for routine data anal

Wooey 1.9k Jan 08, 2023
Django Email Sender

Email-Sender Django Email Sender Installation 1.clone Repository & Install Packages git clone https://github.com/telman03/Email-Sender.git pip install

Telman Gadimov 0 Dec 26, 2021
Strict separation of config from code.

Python Decouple: Strict separation of settings from code Decouple helps you to organize your settings so that you can change parameters without having

Henrique Bastos 2.3k Jan 04, 2023
A fresh approach to autocomplete implementations, specially for Django.

A fresh approach to autocomplete implementations, specially for Django. Status: v3 stable, 2.x.x stable, 1.x.x deprecated. Please DO regularely ping us with your link at #yourlabs IRC channel

YourLabs 1.6k Dec 22, 2022
PEP-484 stubs for Django

pep484 stubs for Django This package contains type stubs and a custom mypy plugin to provide more precise static types and type inference for Django f

TypedDjango 1.1k Dec 30, 2022
Meta package to combine turbo-django and stimulus-django

Hotwire + Django This repository aims to help you integrate Hotwire with Django 🚀 Inspiration might be taken from @hotwired/hotwire-rails. We are sti

Hotwire for Django 31 Aug 09, 2022
No effort, no worry, maximum performance.

Django Cachalot Caches your Django ORM queries and automatically invalidates them. Documentation: http://django-cachalot.readthedocs.io Table of Conte

NoriPyt 980 Jan 06, 2023
Django-static-site - A simple content site framework that harnesses the power of Django without the hassle

coltrane A simple content site framework that harnesses the power of Django with

Adam Hill 57 Dec 06, 2022
Inject an ID into every log message from a Django request. ASGI compatible, integrates with Sentry, and works with Celery

Django GUID Now with ASGI support! Django GUID attaches a unique correlation ID/request ID to all your log outputs for every request. In other words,

snok 300 Dec 29, 2022
Radically simplified static file serving for Python web apps

WhiteNoise Radically simplified static file serving for Python web apps With a couple of lines of config WhiteNoise allows your web app to serve its o

Dave Evans 2.1k Dec 15, 2022
💨 Fast, Async-ready, Openapi, type hints based framework for building APIs

Fast to learn, fast to code, fast to run Django Ninja - Fast Django REST Framework Django Ninja is a web framework for building APIs with Django and P

Vitaliy Kucheryaviy 3.8k Jan 01, 2023
Getdp-project - A Django-built web app that generates a personalized banner of events to come

getdp-project https://get-my-dp.herokuapp.com/ A Django-built web app that gener

CODE 4 Aug 01, 2022
Django-pwned - A collection of django password validators

Django Pwned A collection of django password validators. Compatibility Python: 3

Quera 22 Jun 27, 2022
Django-shared-app-isolated-databases-example - Django - Shared App & Isolated Databases

Django - Shared App & Isolated Databases An app that demonstrates the implementa

Ajai Danial 5 Jun 27, 2022