beyondliu / easy_order

An easy to use ordering system for eCommerce implemented with state machine supported workflow and with django

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Easy Order System for ECommerce

This order system is implemented with state machine supported workflow. The workflow controls the states of the order and the items in the order, what actions can be applied by what roles when the order is in a certain action, the next state and available roles and actions. Two type of orders, product order and service order, are implemented as examples. This order system can be used as middleware in various order centers in ecommerce platforms. For details, please read the wiki.

For a quick trying, here is the live demo:

product order demo

service order demo

task monitoring

To run it locally

  1. install Git, MySQL, virtualenv, pip

  2. set up your project directory and activate your virtualenv

     mkdir /path/to/yourproject
     cd /path/to/yourproject
     virtualenv your_venv_name
     cd your_venv_name 
     source bin/activate
    
  3. login your github account, and fork this project to your repository

  4. get the source code

     git clone https://your_github_account@github.com/your_github_account/easy_order.git
    
  5. install dependency package

     pip install -r pip_requirements.txt 
    
  6. initialize database

     #login into your mysql db shell, then run the following 
     create database order_system character set = 'utf8';
     use order_system;
     #run the following django's command, it creates the tables and loads database data from your fixtures (json files in fixtures folder)
     python manage.py migrate	
    
  7. set up local settings

     copy order_system/env_settings.tmpl content into order_system/env_settings.py, and change the values to your local environment settings
    
  8. run tests

     python manage.py test 
    
  9. install rabbitmq-server

  10. start celery

    ./start_celery.sh 
    
  11. start easy_order server

    ./runserver.sh 
    
  12. start flower, web monitoring tool for celery

    celery flower --port=9998 #default port is 5555
    
  13. view the demo, for product order demo:

    http://localhost:8000/demo/
    
  14. and for service order demo:

    http://localhost:8000/service_order_demo/
    

About

An easy to use ordering system for eCommerce implemented with state machine supported workflow and with django

License:GNU General Public License v3.0


Languages

Language:Python 72.5%Language:HTML 27.4%Language:Shell 0.0%