Giter VIP home page Giter VIP logo

mallfoundry's Introduction

Mallfoundry

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

领域模型(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)

Modules

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 采用前后端分离的架构,后端服务不包含前端界面,需要另行编译安装前端。

商家后台

store-list

store-dashboard

store-product-list

store-product

store-order-list

store-order

store-coupon-list

store-balance

前台(H5)

持续更新中...

参与共建

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

qrcode-for-mp

和优秀的小伙伴们一起探讨领域驱动设计(DDD),可以添加 QQ 群。

qrcode-for-qq-group

许可证(License)

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

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

mallfoundry's People

Contributors

kirovreporting9 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.