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/

Use watchfiles in Django’s autoreloader.

django-watchfiles Use watchfiles in Django’s autoreloader. Requirements Python 3.7 to 3.10 supported. Django 2.2 to 4.0 supported. Installation Instal

Adam Johnson 43 Dec 14, 2022
Repo for All the Assignments I have to submit for Internship Application !😅

Challenges Repository for All the Assignments I have to submit for Internship Application ! 😅 As You know, When ever We apply for an Internship, They

keshav Sharma 1 Sep 08, 2022
Adding Firebase Cloud Messaging Service into a Django Project

Adding Firebase Cloud Messaging Service into a Django Project The aim of this repository is to provide a step-by-step guide and a basic project sample

Seyyed Ali Ayati 11 Jan 03, 2023
A ToDO Rest API using Django, PostgreSQL and Docker

This Rest API uses PostgreSQL, Docker and Django to implements a ToDo application.

Brenno Lima dos Santos 2 Jan 05, 2022
An extremely fast JavaScript and CSS bundler and minifier

Website | Getting started | Documentation | Plugins | FAQ Why? Our current build tools for the web are 10-100x slower than they could be: The main goa

Evan Wallace 34.2k Jan 04, 2023
Automated image processing for Django. Currently v4.0

ImageKit is a Django app for processing images. Need a thumbnail? A black-and-white version of a user-uploaded image? ImageKit will make them for you.

Matthew Dapena-Tretter 2.1k Jan 04, 2023
xsendfile etc wrapper

Django Sendfile This is a wrapper around web-server specific methods for sending files to web clients. This is useful when Django needs to check permi

John Montgomery 476 Dec 01, 2022
MAC address Model Field & Form Field for Django apps

django-macaddress MAC Address model and form fields for Django We use netaddr to parse and validate the MAC address. The tests aren't complete yet. Pa

49 Sep 04, 2022
A simple demonstration of integrating a sentiment analysis tool in a django project

sentiment-analysis A simple demonstration of integrating a sentiment analysis tool in a django project (watch the video .mp4) To run this project : pi

2 Oct 16, 2021
Tutorial para o projeto negros.dev - A Essência do Django

Negros Dev Tutorial para o site negros.dev Este projeto foi feito com: Python 3.8.9 Django 3.1.8 Bootstrap 4.0 Como rodar o projeto? Clone esse reposi

Regis Santos 6 Aug 12, 2022
Running in outer Django project folder (cd django_project)

Django Running in outer Django project folder (cd django_project) Make Migrations python manage.py makemigrations Migrate to Database python manage.py

1 Feb 07, 2022
scaffold django rest apis like a champion 🚀

dr_scaffold Scaffold django rest apis like a champion ⚡ . said no one before Overview This library will help you to scaffold full Restful API Resource

Abdenasser Elidrissi 133 Jan 05, 2023
A handy tool for generating Django-based backend projects without coding. On the other hand, it is a code generator of the Django framework.

Django Sage Painless The django-sage-painless is a valuable package based on Django Web Framework & Django Rest Framework for high-level and rapid web

sageteam 51 Sep 15, 2022
A app for managing lessons with Django

Course Notes A app for managing lessons with Django Some Ideas

Motahhar.Mokfi 6 Jan 28, 2022
Agenda feita usando o django para adicionar eventos

Agenda de Eventos Projeto Agenda com Django Inicio O projeto foi iniciado no Django, usando o models.py foi adicionado os dados dos eventos e feita as

Bruno Fernandes 1 Apr 14, 2022
Declarative model lifecycle hooks, an alternative to Signals.

Django Lifecycle Hooks This project provides a @hook decorator as well as a base model and mixin to add lifecycle hooks to your Django models. Django'

Robert Singer 1k Dec 31, 2022
A django model and form field for normalised phone numbers using python-phonenumbers

django-phonenumber-field A Django library which interfaces with python-phonenumbers to validate, pretty print and convert phone numbers. python-phonen

Stefan Foulis 1.3k Dec 31, 2022
Bringing together django, django rest framework, and htmx

This is Just an Idea There is no code, this README just represents an idea for a minimal library that, as of now, does not exist. django-htmx-rest A l

Jack DeVries 5 Nov 24, 2022
Learn Python and the Django Framework by building a e-commerce website

The Django-Ecommerce is an open-source project initiative and tutorial series built with Python and the Django Framework.

Very Academy 275 Jan 08, 2023
Full-text multi-table search application for Django. Easy to install and use, with good performance.

django-watson django-watson is a fast multi-model full-text search plugin for Django. It is easy to install and use, and provides high quality search

Dave Hall 1.1k Dec 22, 2022