Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ bibi Public
forked from seasonstar/bibi

An e-commerce fullstack solution for Flask 出口电商全栈解决方案

License

Notifications You must be signed in to change notification settings

helloMike/bibi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

27 Commits

Repository files navigation

Bibi

Bibi is an e-commerce fullstack solution built with Flask. It includes e-commerce, social, and hot common modules. It stood the test of business operations, is a light but complete solution.

This project provides backend service, based on Flask, MongoDB, Redis, Celery, RabbitMQ, and supports Python 3.5.

Bibi offers fullstack solution for use with the following:

bibi-frontend Mobile web frontend

bibi-ionic Hybrid APP


Features:

  • User

    • Supports Email, Wechat, Weibo, QQ, and Facebook Oauth,social-oauth for details
    • User Information, Address, Contact, Favor collections and etc..
  • Social

    • Post, like, comment, and bad information report.
    • Following and followers.
    • Notifications.
  • Content

    • Products board
    • Banners
  • Product

    • Brands, categories, tags, vendors, price history.
    • Commodities sub-selections based on different colors, sizes and materials.
  • Cart

    • Session carts
    • Snapshot for items
  • Order

    • Snapshot for order, store items history
    • Split into different packages depend on the total price and categories
    • Logistics information tracking, automatic updates
    • Third party logistics business parcel handling
  • Payment

    • Supports Wechat,Paypal and etc..
    • Supports coupons, coins for discount.
  • Management System

  • AWS file upload

  • Bing translate API

  • Openexchange rate API

  • Kuaidi100 logistics tracking API

Screenshot

Content Management Logistics Management Product Management

Get Started

This based on Ubuntu/Debian,please skip if you had set up Python 3 environment.

# set up python3 environment
sudo apt-get update
sudo apt-get install python3-pip python3-dev
sudo apt-get install build-essential libssl-dev libffi-dev python-dev
# set up virtualenv
sudo pip3 install virtualenv virtualenvwrapper
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
echo "export WORKON_HOME=~/Env" >> ~/.bashrc
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc
# Now virtual env for python3 will be installed in ~/Env
mkvirtualenv bibi # rename bibi
workon bibi # activate bibi env
# set up mongodb # 2.6 version
# set up redis
# set up rabbitMQ
mongod & # start mongodb
redis-server & # start redis
rabbitmq-server & # start RabbitMQ

Install dependencies

pip3 install -r requirements.txt

Initial database

python3 manage.py shell
# into Python3 shell
>>> from application.models import User
>>> user = User.create(email="xxxx@xxx.com", password="xxx", name="xxxx")
# Rename the email, password, name
>>> user.roles.append("ADMIN")
>>> user.save()

Run server

# start celery
celery -A application.cel worker -l info &
python3 manage.py runserver

Now open http://127.0.0.1:5000/admin/ on local.

Deploy

# set up supervisor
sudo apt-get install supervisor
# set up gunicorn
pip3 install gunicorn

Create supervisor config

sudo vim /etc/supervisor/conf.d/bibi.conf

[program:bibi]
command=/root/Env/bibi/bin/gunicorn
 -w 3
 -b 0.0.0.0:8080
 --log-level debug
 "application.app:create_app()"
directory=/opt/py-maybi/ ; Project dir
autostart=false
autorestart=false
stdout_logfile=/opt/logs/gunicorn.log ; log dir
redirect_stderr=true

PS: -w the workers number,formula:(CPUs*2 + 1)

Create nginx config

sudo vim /etc/nginx/sites-enabled/bibi.conf

server {
 listen 80;
 server_name bigbang.maybi.cn;
 location / {
 proxy_pass http://127.0.0.1:8080; # Pointing to the gunicorn host
 proxy_set_header Host $host;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
 }

Start supervisor, nginx

sudo supervisorctl reload
sudo supervisorctl start bibi
sudo service nginx restart

Bravo! It's done.

Please open issues if you have problems.


License

Apache-2.0

About

An e-commerce fullstack solution for Flask 出口电商全栈解决方案

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 74.6%
  • Python 10.3%
  • CSS 7.6%
  • HTML 6.2%
  • Other 1.3%

AltStyle によって変換されたページ (->オリジナル) /