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
- 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
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
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
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
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
Doorstep is yet to develop some core features:
- Dashboard
- Unit tests
- 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.
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!