Skip to content

mysteryjeans/doorstep

Repository files navigation

Doorstep

Build Status

Doorstep is open source e-commerce solution, simplicity in designed is to thrive sales and reduce development effort. Please read the documentation http://doorstep.readthedocs.io

Features

  • Responsive design
  • Multiple payment methods
  • Paypal & Strip payment gateways integration
  • Multiple currency support & rate conversion
  • Tax calculation & shipping cost on checkout
  • Pages & footer links
  • Categories, breadcrumbs and search as unified field
  • Built on Django, Bootstrap & LESS
  • Built as Django apps in the first place
  • Compression & minification of static content CSS & JS
  • Cache refresh/invalidation for static contents CSS & JS

Setting up Doorstep e-commerce as Django project

Doorstep demo repository is the clone of this project for quickly getting up and running e-commerce site on your local workstation

When you have enough testing on prepopulated data in demo projects, starting your own site from scratch with basic data prepopulated.

Create a new virtualenv for your own e-commerce project

$ virtualenv doorstep_env && source doorstep_env/bin/activate

Get copy of latest version of Doorstep from Github.

$ git clone https://github.com/mysteryjeans/doorstep.git && cd doorstep

Install Django and other packages dependencies using requirements.txt in your virtualenv. Doorstep also requires Node.js packages, see details below.

$ pip install -r requirements.txt

Create database schema by running migrate command, by default Django project use SQLite, if you are new to databases this is good choice to start with. Migrate command will also load initial data in database as well.

$ python manage.py migrate

Setting up Doorstep e-commerce as Django App and separate project site

Doorstep demo repository is for quickly getting up and running e-commerce site on your local workstation, its readme contains all steps to setting up a site.

When you have enough testing on prepopulated data in demo projects, starting your own site from scratch is similar to creating project in Django.

Create a new virtualenv for your own e-commerce project

$ virtualenv doorstep_env && source doorstep_env/bin/activate

Install the latest development version from this git repository.

$ pip install --upgrade git+https://github.com/mysteryjeans/doorstep.git#egg=Doorstep

Alternatively you can clone repository and export root directory path to python virtualenv site-packages

$ git clone https://github.com/mysteryjeans/doorstep.git && cd doorstep
$ echo $(pwd) > ../doorstep_env/lib/python2.7/site-packages/doorstep.pth

Create a e-commerce project using doorstep-admin.py instead of using django-admin.py if you have install it using pip.

$ doorstep-admin.py startproject doorstep_site

If you have exported repository clone path then install Django & other packages dependencies using requirements.txt in your virtualenv first and then create new project site. Doorstep also requires Node.js packages, see details below.

$ pip install -r requirements.txt && cd ../
$ doorstep/doorstep/bin/doorstep-admin.py startproject doorstep_site && cd doorstep_site

Create database schema by running migrate command, by default django project use SQLite, which off course you can changed in settings.py, if you are new to databases this is good choice to start with. Migrate command will also load initial data in database as well.

$ python manage.py migrate

Node.js packages dependency and installation

Django-Pipeline settings is configured to use LESS & Yuglify node.js packages for static files preprocessing & compression. When you deploy your site with collectstatic command these packages will be called. You can install both packages with npm (node.js package manager).

$ npm install -g less yuglify

Running development server for your e-commerce project

Assuming you have installed node.js & packages, let's verify that your site works, run development server and visit http://127.0.0.1:8000, you will see products catalog index pages with no products and categories

$ python manage.py runserver

Development

Doorstep is yet to develop some core features:

  • Dashboard
  • Unit tests

Built With

  • Django — Web development framework for python, we utilizes full stack.
  • LESS — Our styling totally done in LESS, a preprocessor for CSS.
  • Django-Pipeline — We use django-pipeline to compile & compress LESS and also Javascript before deployment.
  • PostgreSQL — Our primary database is PostgreSQL, although project intended to support all databases that Django supports.

Contributing

Doorstep is free and open-source, I support and encourage an active healthy community that accepts contributions from the public – including you!

Pull requests are appreciated!

Screenshot

Doorstep Demo Screenshot

Doorstep Demo Screenshot