zeromall icon indicating copy to clipboard operation
zeromall copied to clipboard

research: some open source e-commerce platforms

Open hhstore opened this issue 4 years ago • 13 comments

一些开源电商平台调研:

目标:

  • [x] 尝试基于 go-zero生产级别微服务最佳实践方式写一套电商平台.

Why?

  • 既然有那么多电商系统, 为什么还要再写一遍?
  • 原因:
    • [x] 这些大都是单体项目, 非微服务.
    • [x] 这些大都是 demo 级别(超小企业架构), 非规模以上企业(有志于成为这类)的架构实践.
    • [x] 方向从一开始就错的, 无法从小做到大.
    • [x] 不是用 go-zero 写的. 学习一门新技术, 最好的方式, 就是用他写一个产品.

重点参考项目:

  • 这个项目, 覆盖后端/admin/app, 完成度很高. 且文档非常详细.

mall:

server:

  • [x] https://github.com/macrozheng/mall
    • http://www.macrozheng.com/#/README
    • 文档非常详细, 有数据库完整设计介绍.
    • ⭐⭐⭐⭐⭐

admin:

  • https://github.com/macrozheng/mall-admin-web

app:

  • http://www.macrozheng.com/app/mainpage.html

Java:

  • [x] https://github.com/YunaiV/onemall
    • 看起来是基于微服务的.
    • ⭐⭐⭐
  • [x] https://github.com/Exrick/xmall
    • ⭐⭐⭐
  • [x] https://github.com/shopizer-ecommerce/shopizer

Golang:

  • [x] https://github.com/qor/qor
    • ⭐⭐
    • go 最早的电商系统, 代码质量还算 ok, 不过偏美式电商风格. 不太符合国内习惯.
    • 官方有个 example demo, 不过不太算微服务典范.
    • https://getqor.com/cn
  • [x] https://github.com/netlify/gocommerce

PHP:

laravel:

  • [x] https://github.com/summerblue/laravel-shop
  • [x] https://github.com/buqiu/laravel-shop

ThinkPHP:

  • [x] https://github.com/gongfuxiang/shopxo

Python:

  • [x] https://github.com/odoo/odoo
    • ⭐⭐⭐⭐⭐
    • 这是个超级项目, 前身是 OPEN-ERP. 对, 是个 ERP 软件. 功能非常庞大.
    • 非常老的一个项目, 活到今天, 且是开源社区非常赚钱的项目.
    • 源码写的一般, 但是架构拆分不错. python2.5 远古时代, 就开坑的项目. 有很多老代码.

Django:

  • [x] https://github.com/shuup/shuup
  • [x] https://github.com/awesto/django-shop
    • 列出来, 是说明, 没有价值. 💔💔💔

ref:

  • https://www.zhihu.com/question/19635311

hhstore avatar Nov 25 '20 03:11 hhstore

一些中间件:

TCC 分布式事务:

  • https://seata.io/zh-cn/
  • https://github.com/seata/seata
  • https://github.com/seata/seata-go-server
  • https://github.com/transaction-wg/seata-golang
  • https://github.com/micro-community/go-tcc

hhstore avatar Nov 25 '20 04:11 hhstore

我最近找到一个go语言的商场 https://github.com/i-love-flamingo/flamingo-commerce 还不错

TomLiu-GitHub avatar Jan 20 '21 15:01 TomLiu-GitHub

打算春节期间搞起来

kevwan avatar Jan 21 '21 02:01 kevwan

加一个 JS 的实现.

nevill avatar Feb 23 '21 02:02 nevill

做一个odoo 的golang实现版

gleke avatar Apr 26 '23 01:04 gleke

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Make a golang implementation of odoo

Issues-translate-bot avatar Apr 26 '23 01:04 Issues-translate-bot

做一个odoo 的golang实现版

  • 你指的是是 python 的 OpenERP 吧? 这个项目太庞大了, 写了快20年了吧.
  • 应该没有谁有能力再重写 odoo, 比较而言, ERP 类的项目, 很多都是脏活, 加上属于内网部署, 不是很在意性能.
  • 这种 内网 CMS 类的产品, python 很适合. (开发效率优先)

另外:

  • 我5-6年前, 我分析过 odoo 源码. odoo 是自己实现了一套 template 引擎(项目过早,大量实践非社区主流).
  • 功能很强大, 但是, 实现上, 很多设计范式, 都比较老旧.
  • 改造成 go 微服务, 复杂度比较高. 换成 go 收益也不大.
  • 更合适的思路是使用 python + grpc 来重写, 一点点替换.
    • 譬如使用 360 团队开源的 bali python gRPC 框架.

@gleke

hhstore avatar Apr 26 '23 03:04 hhstore

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Make a golang implementation of odoo

  • You mean OpenERP in python, right? This project is too huge, and it has been written for almost 20 years.
  • No one should be able to rewrite odoo. In comparison, many ERP projects are dirty work, and they belong to intranet deployment, so they don't care much about performance.
  • For this intranet CMS product, python is very suitable. (Development efficiency is preferred)

In addition:

  • I analyzed the source code of odoo 5-6 years ago. Odoo implemented a template engine by itself (the project is too early, and a lot of practice is not mainstream in the community).
  • The function is very powerful, but in terms of implementation, many design paradigms are relatively old.
  • Transformed into go microservices, the complexity is relatively high. The benefits of switching to go are not great.
  • A more appropriate idea is to use python + grpc to rewrite and replace a little bit.
    • For example, use the bali python gRPC framework open sourced by the 360 ​​team.

Issues-translate-bot avatar Apr 26 '23 03:04 Issues-translate-bot

odoo社区现在发展比较好,业务流程比较成熟,我的想法是用gozero来实现ODOO的模块,数据库结构用ODOO的,国外有人用golang来完全实现ODOO,不过现在已经停止了,不过值得借鉴。https://github.com/hexya-erp/hexya

gleke avatar Apr 26 '23 03:04 gleke

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


The odoo community is developing well now, and the business process is relatively mature. My idea is to use gozero to implement ODOO modules, and use ODOO for the database structure. Some people in foreign countries use golang to fully implement ODOO, but it has stopped now, but it is worth learning. https://github.com/hexya-erp/hexya

Issues-translate-bot avatar Apr 26 '23 03:04 Issues-translate-bot

你看看这个 https://github.com/go-pay/gopay,集成进mall里如何?

gleke avatar Apr 26 '23 03:04 gleke

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Take a look at this https://github.com/go-pay/gopay, how about integrating it into the mall?

Issues-translate-bot avatar Apr 26 '23 03:04 Issues-translate-bot

odoo:

  • https://github.com/hexya-erp/hexya
    • 我抽时间看一些这个 odoo 项目.
  • https://github.com/skilld-labs/go-odoo
  • https://github.com/odoo/odoo
  • https://github.com/frappe/erpnext

payment:

  • https://github.com/go-pay/gopay
  • 支付网关服务, 我抽时间会集成一下. 这个比较常用.
  • https://github.com/topics/pay

ERP:

  • https://github.com/topics/erp

CRM:

  • https://github.com/topics/crm

hhstore avatar Apr 27 '23 21:04 hhstore