Coder Social home page Coder Social logo

mysteryjeans / doorstep Goto Github PK

View Code? Open in Web Editor NEW
96.0 22.0 50.0 2.97 MB

The powerful e-commerce solution for Python

Home Page: http://doorstep.readthedocs.io

License: Other

Python 59.72% HTML 21.42% CSS 1.44% JavaScript 17.42%
django python ecommerce-site responsive-design paypal stripe-payments bootstrap lesscss checkout-cart

doorstep's Introduction

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

doorstep's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

doorstep's Issues

cart_id Issue while final order stage process

Hello Faraz,

I am having an issue while checking out and clicking on "order" button. Can you kindly help to fix it. Also a little two liner brief would be appreciated that why didn't you created a model field for cart_id instead of declaring it as variable?
Error says that in sales/views line 351 it cannot extract a key something given below:
KeyError at /sales/checkout/order
Another issue is that when I upload images for a product it pops up error:
"no such table: thumbnail_kvstore"
Reason is that the package doesn't include any migrations with it and I don't know how to create one because with migrate its not working. Will be thankful for your kind advise.
Overall this is best ecommerce recipe for newbie like me and I really am looking forward for your kind answer to take a moment off from you to help me get over these small problems.
Thank you.
Regards,
Shazia

New logo for doorstep

I wanted to contribute to doorstep. I designed a logo for it. If you like it, I'll send you files and pr.
is there anything you want ?
doorstep

Paypal

Hello Faraz, I am using paypal as a gateway in sandbox mode and when I finish the purchase have the following error message:
Exception Type: ValueError
Exception Value:
<TransactionParam: access_token> instance isn't saved. Use bulk=False or save the object first.
Exception Location: /home/jorge/.virtualenvs/ecoparts4reuse/local/lib/python2.7/site-packages/django/db/models/fields/related_descriptors.py in add, line 568

Please, can you help me?

No such file or directory: Line 27: {% compressed_css style_name %}

When trying to access root (localhost:8000) I get the following error (using both demo and site):

In template /Documents/doorsale_env/lib/python2.7/site-packages/doorsale/templates/doorsale/base.html, error at line 27

env: lessc: No such file or directory
{% compressed_css style_name %}

Error compiling CSS package "catalog"

Got this error while configuring Doorstep in my windows-10 system

Command:

/usr/bin/env lessc --include-path="C:\DoorStep\doorstep_env\Scripts\doorstep\doorstep\static;C:\DoorStep\doorstep_env\Scripts\doorstep\doorstep\pages\static;C:\DoorStep\doorstep_env\Scripts\doorstep\doorstep\catalog\static;C:\DoorStep\doorstep_env\Scripts\doorstep\doorstep\sales\static" C:\DoorStep\doorstep_env\Scripts\doorstep\doorstep\catalog\static\catalog\css\catalog.less
Errors:

[Error 2] The system cannot find the file specified

Running doorsale project as a normal django project

Hey ,
First of all , thanks for this nice project , it's really a great .

my question is , i want to do some customization in doorsale mainly Ui for my need ,
so i clone the main repo and install all requirements.txt ,i want to run this project as a normal django project not package
but there is no manage.py file
so how i can i run ,
thanks for your help

Product image link broken in testing

File path appears correct and the image is properly loaded into the directory using the loader in the admin panel. However, image won't display. Tried resetting the server, used a different browser, but issue persists.

Server response:
GET /media/images/catalog/products/Jenifer.jpg HTTP/1.1" 404 4966

Update: Perhaps the directory structure is incorrect, and should include /static/?. A properly served response:
GET /static/catalog/scripts/jquery.product_detail.js HTTP/1.1" 304 0

Update 2: tried adjusting the settings, no success.

doorsale-admin.py missing

Hello Faraz,

installation of doorsale fails with doorsale-admin.py missing and it is
nowhere in the sources.

Kind regards
Reiner

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.