Mallfoundry

Mallfoundry 是一个完全开源的使用 Spring Boot 开发的多商户电商平台。它可以嵌入到已有的 Java 程序中,或者作为服务器、集群、云中的服务运行。

项目地址

https://gitee.com/mallfoundry/mallfoundry

领域模型(Interface)

领域模型采用接口化设计,将模型(Model)设计成接口(Interface)。

public interface Product extends ProductBody, StoreOwnership {

    ProductId toId();

    String getName();

    void setName(String name);

    ProductType getType();

    void setType(ProductType type);

    // ...
}

将领域模型设计成接口有以下优点:

  • 模型设计与编码分离。
  • 调用者使用 API 编程。
  • 与运行环境解耦,可以运行在独立进程、微服务之上。
  • 与持久技术解耦,业务代码与持久化的技术代码横向切分。

业务模块(Package)

开源电商项目:Mallfoundry_Mallfoundry

Mallfoundry 整体由共享内核、支撑域、业务域和核心域四个部分组成。

  • Commons 模块:公用组件(Commons)、共享内核(Shared)组成。
  • Keystone 模块:身份(Identity)、安全(Security)组成。
  • Finance 模块:Payment(支付)、提现(Withdrawal)、充值(Recharge)、转账(Transfer)等组成。
  • Catalog 模块:商品(Product)、商品类目(Category)、商品品牌(Brand)、商品集合(Collection)等组成。
  • Trade 模块:购物车(Cart)、结算台(Checkout)、订单(Order)等组成。
  • Store 模块:商家(Store)、行业(Industry)、店铺员工(Staff)、店铺角色(Role)、店铺会员(Member)等组成。
  • Customer 模块:顾客(Customer)、收货地址(Address)、顾客积分(Point)、搜索词条(SearchTerm)等组成。
  • Marketing 模块:优惠券(Coupon)、广告(Banner)等组成。
  • Analytics 模块:数据仓库(EDW)、报表(Report)组成。
  • Shipping 模块:物流信息(Track)、运费模板(Rate)等组成。
  • Storage 模块:提供对象存储(OSS),集成 Aliyun OSS、Qiniu OSS、FTP 等存储服务。
  • Test 模块:提供一个总体测试环境。

环境要求(Requirements)

  • JDK11+ — 我们使用 JDK11 或以上版本。
  • Spring Boot — 我们使用 Spring Boot 作为后端的服务。
  • Spring Data JPA — 我们使用 JPA 作为主要的持久化框架。
  • PostgreSQL — 默认使用 PostgreSQL 作为数据源,也可以使用 MySQL 作为数据源。

开发(Development)

使用 Git 克隆到本地进行开发。

$ git clone https://gitee.com/mallfoundry/mallfoundry.git
$ cd mallfoundry
$ mvn compile

项目的默认启动入口在 spring-boot 项目中:

$ cd components/launch-modules/spring-boot
$ cd src/main/java/org/mallfoundry
$ cat StandaloneSpringBootApplication.java

REST API Docs

我们提供了一个部分 REST API 接口的文档:

http://mallfoundry.gitee.io/mallfoundry-api-reference

前端界面(UI)

整个 Mallfoundry 采用前后端分离的架构,后端服务不包含前端界面,需要另行编译安装前端。

  • 商家后台:https://gitee.com/mallfoundry/mallfoundry-store
  • 前台 H5:https://gitee.com/mallfoundry/mall-h5-vue

商家后台

开源电商项目:Mallfoundry_Mallfoundry_02

开源电商项目:Mallfoundry_Mallfoundry_03

开源电商项目:Mallfoundry_Mallfoundry_04

开源电商项目:Mallfoundry_Mallfoundry_05

开源电商项目:Mallfoundry_Mallfoundry_06

开源电商项目:Mallfoundry_Mallfoundry_07

开源电商项目:Mallfoundry_Mallfoundry_08

开源电商项目:Mallfoundry_Mallfoundry_09

前台(H5)

持续更新中...

项目地址

https://gitee.com/mallfoundry/mallfoundry

参与共建

获得 Mallfoundry 的最新动态,可以关注公众号「不够具体」。

开源电商项目:Mallfoundry_Mallfoundry_10

许可证(License)

Mallfoundry 使用 GPLv2 许可证。有关详细信息,请参阅许可文件:

https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt