{"id":15024925,"url":"https://github.com/seasonstar/bibi","last_synced_at":"2025-04-04T08:05:13.859Z","repository":{"id":59607918,"uuid":"85781048","full_name":"seasonstar/bibi","owner":"seasonstar","description":"An Cross-Border E-Commerce Fullstack Solution for Flask 跨境电商独立站全栈解决方案","archived":false,"fork":false,"pushed_at":"2017-04-27T09:26:19.000Z","size":4682,"stargazers_count":988,"open_issues_count":4,"forks_count":309,"subscribers_count":62,"default_branch":"master","last_synced_at":"2025-03-28T07:03:45.517Z","etag":null,"topics":["angular","celery","flask","mongodb","python3","redis"],"latest_commit_sha":null,"homepage":"http://m.maybi.cn/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seasonstar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-22T03:30:54.000Z","updated_at":"2025-03-25T06:05:40.000Z","dependencies_parsed_at":"2022-09-25T13:03:07.447Z","dependency_job_id":null,"html_url":"https://github.com/seasonstar/bibi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seasonstar%2Fbibi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seasonstar%2Fbibi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seasonstar%2Fbibi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seasonstar%2Fbibi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seasonstar","download_url":"https://codeload.github.com/seasonstar/bibi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247139184,"owners_count":20890182,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","celery","flask","mongodb","python3","redis"],"created_at":"2024-09-24T20:01:13.285Z","updated_at":"2025-04-04T08:05:13.833Z","avatar_url":"https://github.com/seasonstar.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"## Bibi\n\n**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.\n\nThis project provides backend service, based on Flask, MongoDB, Redis, Celery, RabbitMQ, and supports Python 3.5.\n\nBibi offers fullstack solution for use with the following:\n\n\u003e [bibi-frontend](https://github.com/seasonstar/bibi-frontend) Mobile web frontend\n\n\u003e [bibi-ionic](https://github.com/seasonstar/bibi-ionic) Hybrid APP\n\n* 可观看[中文文档](https://github.com/seasonstar/bibi/blob/master/README_zh.md)\n\n----------------\n\n**Features**：\n\n- [x] User\n    - [x] Supports Email, Wechat, Weibo, QQ, and Facebook Oauth，[social-oauth](https://github.com/seasonstar/social-oauth) for details\n    - [x] User Information, Address, Contact, Favor collections and etc..\n- [x] Social\n    - [x] Post, like, comment, and bad information report.\n    - [x] Following and followers.\n    - [x] Notifications.\n- [x] Content\n    - [x] Products board\n    - [x] Banners\n- [x] Product\n    - [x] Brands, categories, tags, vendors, price history.\n    - [x] Commodities sub-selections based on different colors, sizes and materials.\n- [x] Cart\n    - [x] Session carts\n    - [x] Snapshot for items\n- [x] Order\n    - [x] Snapshot for order, store items history\n    - [x] Split into different packages depend on the total price and categories\n    - [x] Logistics information tracking, automatic updates\n    - [x] Third party logistics business parcel handling\n- [x] Payment\n    - [x] Supports Wechat，Paypal and etc..\n    - [x] Supports coupons, coins for discount.\n- [x] Management System\n\n- [x] AWS file upload\n- [x] Bing translate API\n- [x] Openexchange rate API\n- [x] Kuaidi100 logistics tracking API\n\n\n#### Screenshot\n\nContent Management\n![](http://7xn6eu.com1.z0.glb.clouddn.com/Backend.png)\nLogistics Management\n![](http://7xn6eu.com1.z0.glb.clouddn.com/Logistics-Backend.jpg)\nProduct Management\n![](http://7xn6eu.com1.z0.glb.clouddn.com/Item%20Backend.png)\n\n#### Get Started\n\nThis based on Ubuntu/Debian，please skip if you had set up Python 3 environment.\n\n```bash\n# set up python3 environment\nsudo apt-get update\nsudo apt-get install python3-pip python3-dev\nsudo apt-get install build-essential libssl-dev libffi-dev python-dev\n\n# set up virtualenv\nsudo pip3 install virtualenv virtualenvwrapper\necho \"export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3\" \u003e\u003e ~/.bashrc\necho \"export WORKON_HOME=~/Env\" \u003e\u003e ~/.bashrc\necho \"source /usr/local/bin/virtualenvwrapper.sh\" \u003e\u003e ~/.bashrc\nsource ~/.bashrc\n\n# Now virtual env for python3 will be installed in ~/Env\n\nmkvirtualenv bibi # rename bibi\nworkon bibi # activate bibi env\n\n# set up mongodb # 2.6 version\n# set up redis\n# set up rabbitMQ\n\nmongod \u0026              # start mongodb\nredis-server \u0026        # start redis\nrabbitmq-server \u0026     # start RabbitMQ\n```\n\nInstall dependencies\n```bash\npip3 install -r requirements.txt\n```\n\nInitial database\n```python\npython3 manage.py shell\n# into Python3 shell\n\u003e\u003e\u003e from application.models import User\n\u003e\u003e\u003e user = User.create(email=\"xxxx@xxx.com\", password=\"xxx\", name=\"xxxx\")\n# Rename the email, password, name\n\u003e\u003e\u003e user.roles.append(\"ADMIN\")\n\u003e\u003e\u003e user.save()\n```\n\nRun server\n```\n# start celery\ncelery -A application.cel worker -l info \u0026\n\npython3 manage.py runserver\n```\nNow open http://127.0.0.1:5000/admin/ on local.\n\n\n\n#### Deploy\n```bash\n# set up supervisor\nsudo apt-get install supervisor\n# set up gunicorn\npip3 install gunicorn\n```\nCreate supervisor config\n\n`sudo vim /etc/supervisor/conf.d/bibi.conf`\n```\n[program:bibi]\ncommand=/root/Env/bibi/bin/gunicorn\n    -w 3\n    -b 0.0.0.0:8080\n    --log-level debug\n    \"application.app:create_app()\"\n\ndirectory=/opt/py-maybi/                                       ; Project dir\nautostart=false\nautorestart=false\nstdout_logfile=/opt/logs/gunicorn.log                          ; log dir\nredirect_stderr=true\n```\nPS: -w  the workers number，formula：（CPUs*2 + 1)\n\nCreate nginx config\n\n`sudo vim /etc/nginx/sites-enabled/bibi.conf`\n\n```nginx\nserver {\n    listen 80;\n    server_name bigbang.maybi.cn;\n\n    location / {\n        proxy_pass http://127.0.0.1:8080; # Pointing to the gunicorn host\n        proxy_set_header Host $host;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    }\n\n  }\n```\n\nStart supervisor, nginx\n```bash\nsudo supervisorctl reload\nsudo supervisorctl start bibi\n\nsudo service nginx restart\n```\n\nBravo! It's done.\n\nPlease open issues if you have problems.\n\n-----------------------------------\n#### License\n\nApache-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseasonstar%2Fbibi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseasonstar%2Fbibi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseasonstar%2Fbibi/lists"}