Giter VIP home page Giter VIP logo

velen-saas's Introduction

velen-saas

##基础软件环境:

软件 版本
MongoDB lastest
Nacos lastest
Java jdk8+
Node lastest

##依赖插件

插件
Lombook

##服务划分:

服务 描述
velen-saas-authority 认证权限服务
velen-saas-common 通用组件/工具类等
velen-saas-config 应用配置服务
velen-saas-gateway 服务网关
velen-saas-app 前端应用

##服务子模块划分

  • 这样划分主要是让其他服务好依赖
  • 一般其他服务要依赖其他服务只需要引入**entity,**api
子模块 描述
velen-saas-**-controller 接口服务层
velen-saas-**-biz 逻辑处理层,数据库等操作
velen-saas-**-entity 实体数据层
velen-saas-**-api 服务内部API层
velen-saas-**-server 服务启动,用里面的App类启动

##服务内包名

包名 描述
dto 领域模型,用于映射接口
entity 实体类,用于映射数据库
controller 接口处理逻辑
service 业务处理逻辑
repository 数据库处理逻辑
config 配置逻辑
filter 网关过滤器
provider 逻辑提供器
component 通用组件
constant 常亮
exception 自定义异常
util 工具类

##基础配置说明

#变量
middleware:
  host: localhost
#ribbon 调用配置(可选)
ribbon:
  ConnectTimeout: 60000
  ReadTimeout: 60000
  maxAutoRetries: 3
  maxAutoRetriesNextServer: 3
  okToRetryOnAllOperations: true

server:
  port: 6002

spring:
  # 开发工具,包含修改代码自动重启
  devtools:
    restart:
      enabled: true
  # 应用名
  application:
    name: velen-saas-authority
  cloud:
    # 配置中心与服务发现
    nacos:
      discovery:
        metadata:
          group: velen-saas-group
          version: 1.0
        server-addr: ${middleware.host}:8848
  data:
    # mongo db 配置
    mongodb:
      database: velen-saas-authority
      host: localhost
      port: 27017

# 所有微服务保持一致,做相互可信,调用接口使用
jwt:
  token_secret: pXFb4i%*834gfdh96(3df&%18iodGq4ODQyMzc4lz7yI6ImF1dG

##pom文件规范

  • 所有依赖库必须在最上层pom中dependencyManagement中定义并且把版本号定义在property中 方便更换版本
  • plugin同理
  • 子pom中依赖库中不许出现版本号

##后端编码规范

  • 项目优先使用Kotlin编写,不然响应式编程会让人怀疑人生
  • 项目中需要遵循RESTful规范
  • 项目中实体分为Entity(映射数据库) & DTO(校验与传输)
  • 整个项目结构可以参考velen-saas-authority
  • 接口命名已模块为前缀 例如:/dashboard
  • 每个服务包名规范为com.github.binmagic.saas.velen.模块名

##后端注意事项:

  • 启动前先整个项目 clean install
  • 增加了Entity或修改了并且使用了Qxxx类 需要 mvn compile
  • 项目中接口命名模块为前缀

##前端运行说明

# 安装依赖
npm install
# 开发
npm run dev
# 编译发布生产
npm run build:prod


# 代码格式检查
npm run lint

# 代码格式检查并自动修复
npm run lint -- --fix
  • 指定后端地址 vue.config.js 文件中找到 process.env.VUE_APP_BASE_API 这一段就明白了

##前端目录说明(src)

目录名 描述
api 定义与服务器之前的接口
assets 定义一些图片或字体等资源
components 定义应用中通用的组件/布局
config 定义一些配置变量
directive 自定义指令
filters 通用过滤器
icons 图标定义
layout 逻辑提供器
libs 通用工具库
locale 多语言定义
router 应用中路由
store 状态存储器
styles 自定义全局样式
utils 一些工具类
views 页面

##前端代码规范

  • 所有目录文件名全小写,遇多个单词用-结合
  • 能复用的代码定义成一个通用业务组件
  • 复杂单页也要组件化,增加代码可读性
  • 前端项目中一般不会出现操作原生dom的情况
  • 所有样式有可读的名字
  • 样式少时可以定义在页面最下方,当样式多时增加scss文件定义

##DOCKER部署指南 *-server模块包含打包docker镜像的插件 执行maven命令打包并上传Image

  • 根目录 mvn clean install
  • mvn docker:build -DImageName=velen-config -DDockerHost=http://192.168.1.85:2375 -DExposePort=6001 -X ###MVN编译参数 | 目录名 | 描述 | | --- | ---- | | ImageName | 镜像名称,如需设置tag加冒号xxx:1.0 | | DockerHost | 推送镜像到远程仓库 | ###DOCKER运行设置系统参数 | 目录名 | 描述 | | --- | ---- | | middleware.host | nacos远程地址 |

##常见错误 Command line is too long. Shorten command line

velen-saas's People

Contributors

binnarygames avatar

Watchers

James Cloos 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.