yang755994 / nxtframework

一个开源电商SaaS系统,可以既作为SAAS系统多租户使用,又可以当作B2C独立站;通用多种行业,即便是仅仅做普通企业官网都可以。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

typora-copy-images-to
./gitbook_resource

一个开源电商SaaS系统,可以既作为SAAS系统多租户使用,又可以当作B2C独立站;通用多种行业,即便是仅仅做普通企业官网都可以。

支持分销功能。

使用Java Springboot开发,Api文档、数据库文档齐全。

基于本项目做二开,在成本、效率、规范性上可超越”世界上最好的语言“。

二次开发:

1、Vue-Element-Admin后台源码:https://github.com/soyojoearth/nxtframework_admin

2、PC端用户中心源码:https://github.com/soyojoearth/nxtframework_ucenter

3、Api接口文档:请clone项目后打开 document/nxtframework_api.html

4、数据库结构模型:请clone项目后打开document/nxtframework_db_model.mwb(使用Mysql Workbench 8.0打开)

主要涉及到的技术:

1、MySQL 8.0

2、SpringBoot 2

3、Open Jdk 8

4、Docker

特性:

1、图片可以保存在服务器本地,也可以选择保存在七牛云;

2、上传保存在本地的图片也支持自动生成缩略图(仿七牛云);

3、可docker-compose一键启动,已配置好nginx文件,支持ssl,只要修改绑定域名和证书文件即可;

4、具备Docker HEALTHCHECK 、Docker autoheal,自动检测健康状态,发现故障自动重启;

后台预览图:

image-20201215140649883

技术架构图:(如想要Pro版的功能扩展,请联系微信:soyojoearth)

image-20210208104514428

本地测试运行:

1、用database里面的nxtframework.sql在本机创建数据库,并设置:

数据库名称:nxtframework
数据库用户名:nxtframework
数据库密码:12345678
2、给nxt_tenant插入以下记录(一条记录表示一个商户,只加一条就是单商户;加多条就是多商户SaaS系统;每个商户可以按domains字段的格式绑定多个域名)

image-20201225101841432

3、用IntelliJ IDEA打开项目,运行项目

4、浏览器输入:http://127.0.0.1:8080/install提示安装成功【每个租户都要独立运行该install一次】

5、然后浏览器打开:http://127.0.0.1:8080/admin 用户名:admin 密码:nxtframework.com

6、前台:http://127.0.0.1:8080
7、不同商户的数据完全从底层逻辑分割,所有install完成的商户,默认后台都是初始密码和初始数据

单机部署方式:

1、用IntelliJ IDEA打开项目,进行package打包,然后命令行到项目根目录,执行:
#创建镜像
docker build --tag nxtframework:0.2.0 .
2、把镜像推到docker仓库,并拉到服务器上;
3、把「本地测试运行」合格的数据库,部署到服务器;
4、配置 wwwroot/docker-compose-quickstart.yml文件中的docker镜像、数据库连接:

#不要写127.0.0.1,必须写局域网地址(即便是本机数据库)

image-20201221170703085

5、把wwwroot目录传到服务器,执行:
cd wwwroot
docker-compose -f docker-compose-quickstart.yml up
6、部署完成,使用已绑定和解析的商户域名即可访问,底层逻辑分割租户数据,所有页面功能、接口就像使用普通B2C系统那样简单,二次开发也像B2C系统那样简单。
如何启用80端口、部署SSL:
1、本机添加以下hosts

服务器IP test.nxtframework.com

打开浏览器访问:http://test.nxtframework.com/adminhttps://test.nxtframework.com/admin

2、如何更换域名、证书:

修改wwwroot/http/nginx.conf文件,将域名修改成自己的域名;

更换wwwroot/http/ssl* 两个证书文件;

添加商户(租户):

1、每次添加商户,都到后台数据库表nxt_tenant里面手动添加;

2、把新加商户的域名加入Nginx;

3、把新加商户的ssl证书加入Nginx;

集群部署方式:

1、建议用使用k8s部署;

2、部署完成^_^。

本项目已经充分考虑过集群多实例部署的情况,已针对性优化过。

开发团队成员:

Leader & PM:soyojo

UI设计:Rong Kai

架构:soyojo

后端开发:soyojo、hexiao、yunian

前端开发:soyojo、ieyieyss、阿 Fa、hexiao、Remondcl、yunian

About

一个开源电商SaaS系统,可以既作为SAAS系统多租户使用,又可以当作B2C独立站;通用多种行业,即便是仅仅做普通企业官网都可以。

License:Apache License 2.0


Languages

Language:Java 48.2%Language:HTML 37.8%Language:JavaScript 12.4%Language:CSS 1.6%Language:Dockerfile 0.0%