8 Star 19 Fork 5

卯榫 / mortnon

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

mortnon

简介

MortNon是我们推出的一款后台框架,在看了市面上那么多优秀的后台框架之后,我们依然决定制作一款新的框架,是因为我们对于快速开发有着自己的理解和思考,希望用自己过去的经验帮助每一个人可以更快的上线自己的业务,同时保证代码质量更高。

这个单词是mortise和tenon两个单词的拼写。在维基百科上解释如下

卯榫/榫卯,在维基百科上的解释为榫头卯眼的简称,是一种传统木工中接合两个或多个构件的方式。其中构件中的凸出部分称为榫(榫头,也称作笋头),凹入部分则称为卯(卯眼,也称作卯口、榫眼等)。 2009年,中國藝術研究院建築研究所申報的「中國傳統木結構營造技藝」入選聯合國人類非物質文化遺產,其中有提到榫卯技術。

起这个名字也是代表了我们对工匠精神的一种追求。

光说不练假把式

为什么说我们的产品能保障更快的业务上线和更好的代码质量

这个想法最初源自于我自己的一点思考,文章原文。其实在过去的开发过程中,即使是一个资深的程序员,在面对一个新的项目时,想要做到业务开发快速上线,日志检索简单,质量有保障,知识有沉淀,能进行简单的devops,还具有一定运维能力,至少需要几天到一两周时间,有的甚至更长。而且可能会因为需要业务快速上线的需求,引入一些技术债务,如:代码组织混乱,日志乱打,接口文档和实际代码对不上,做了很久没有知识沉淀。

市面上有很多框架,有性能好的、配置灵活的、自动生成代码的等等等等。但是对于一个初创公司或者一个想要开展自己第二职业的个人开发者来说,过剩的性能、过度灵活的配置,反倒会因为大家的选择困难症导致宝贵的时间被浪费掉了。

项目组的每一个成员互相协作的时候,需要花大量的时间在沟通上面去讨论代码结构的组织,某一个功能的实施方案,开发机、测试机的配置文件修改,上线时的部署脚本编写,代码和文档不一致等等问题。

所以我们的目标是,结合过去的经验,我们把一些所谓的约定在框架中提前帮大家做好,希望在每一个环节上都尽量只有唯一一个解决方案,让大家节省更多的时间在核心逻辑上,做到更快的开发、测试以及部署上线。

当然如果你觉得我们的方案不好,无法解决问题,欢迎提issue给我们描述你的问题,或者fork一个我们的代码自行修改,我们的代码是完全开源的。

建设思路

1.覆盖原优秀开源项目已有功能

框架提供如RuoYiGuns等优秀框架提供的用户、权限等管理能力,能力上覆盖目前市面上大部分优秀开源项目已实现的功能。

2.我们的特性

  1. 建议大家采用统一的代码风格,遵循《alibaba Java编程规范》,我们所有的代码也会按照这种方式进行pmd扫描,保证代码质量。
  2. api文档的集成,直接扫描代码注释来生成api文档,而不是单独写一大堆浪费时间的注解来生成api,保证注释、代码、文档的一致性,也希望用这种方式推动项目组成员养成注释的习惯。我们计划提供一个idea插件来帮助规范代码风格,创建文档,创建项目等工作。
  3. 统一的日志规范和风格,方便直接接入监控,提供一个简单可用的监控方案。
  4. 区分环境的配置代码化能力,不需要在不同环境去改成不同的配置。
  5. 提供数据库代码化能力,数据库与代码是一致的,同时可以让新加入项目组的人只要ide里运行代码即可开始调试工作。
  6. 提供完善的打包、部署脚本,包括机器直接部署和容器部署。
  7. 如有可能,希望在不增加研发成本的前提下,探索TDD的可能。
  8. 基于领域模型的软件设计模式
  9. 原生支持多租户能力
  10. 还有一些其他可以加快大家研发速度和代码质量的特性,我们会在过程中不断的增加,敬请期待。

roadmap

  • Java注释直接生成接口文档和调试工具(smart-doc、swagger)2021-04-13
    • 演示文档
  • slf4j+logback日志打印,日志分区分打印,包含api-digest(用于业务监控),service-digest(服务摘要),web-digest(web层摘要),dal-digest(数据层摘要),default(全量日志),common-error(错误日志,用于错误监控) 2021-04-14
    • 演示和说明文档
    • 如何与grafana集成,形成一套合理的监控方案
  • 基于领域模型设计的代码组织结构 2021-04-13
  • 支持阿里巴巴Java开发手册中的错误码 2021-04-14
  • 基于Java validator的接口参数验证能力 2021-04-14
  • 接入mybatis和mybatis-plus 2021-04-14
    • 配置多数据源(可选)2021-04-14
  • 国际化方案
    • 演示和说明文档
  • 多租户 2021-04-21
  • 区分环境的配置代码化能力application.yml 2021-04-21
  • 项目创建脚本 采用maven archetype
    • 演示和说明文档
  • 数据库代码化的实现,Database Migrations,支持数据库版本迁移能力
    • 演示和说明文档
  • Database Migrations,支持数据库版本迁移能力
  • 支持多种登录能力
    • 账号密码
    • 微信
    • 企业微信
    • 钉钉
    • 新浪
  • 前端选型
  • 打包和部署脚本,linux和windows双平台
    • 演示和说明文档
  • 启动加载说明文档
  • docker容器化部署
  • docker-compose部署方案
  • idea插件
  • 用户登录
  • 用户管理
  • 操作日志
  • 登录日志
  • 定时任务
  • 部门管理
  • 岗位管理
  • 菜单管理
  • 角色管理
  • 字典管理
  • 参数管理
  • 通知公告
  • 在线用户
  • 服务监控
  • 在线构建
MIT License Copyright (c) 2021 东方赞 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

一款高质量的快速开发框架 展开 收起
Java 等 4 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/mortise-and-tenon/mortnon.git
git@gitee.com:mortise-and-tenon/mortnon.git
mortise-and-tenon
mortnon
mortnon
master

搜索帮助