# ✨架构工作✔

  1. 项目立项,资源申请(服务器资源、人员)
  2. 需求评审(业需、软需)
  3. 接口文档、技术详设、功能点拆分、测试用例(概要设计、详细设计)
  4. 分支模型,版本控制(回滚机制)
  5. 技术选型,ui库, css编写BEM规范
  6. 代码风格、开发流程约束 eslint - sonarqube
    a. 代码风格 eslint stylelint prettier
    b. 开发流程约束 commitlint
  7. 基础框架搭建+业务框架+可插拔组件设计
    a. 全局状态管理(vuex模块化封装)
    b. axios封装,接口鉴权,aes+rsa数据传输加解密,异常处理机制,重发控制
    c. 静态资源、iconfont等
    d. 工具函数封装,自定义指令、mixin等
    e. 换肤功能设计
    f. 路由权限、404、loading以及空页面配置,路由模块化配置,设置kepp-alive配置项
    g. 用户角色、菜单权限配置、控制点管理、业务字典配置
    h. 移动端适配、title展示、返回逻辑控制、右上角扩展操作配置
    i. IE兼容处理,babel,es6-promise, babel-polyfill
  8. 打包优化配置(webpack)
  9. 安全加固
  10. 操作日志分类统计
  11. CI/CD
  12. docker部署
  13. nginx配置,反向代理、动静分离、负载均衡
  14. 灰度发布,白名单
  15. 跟后端约定接口入参返参,开发环境mock数据
  16. 写技术详设(如果必要)
  17. 代码评审(走查)(新功能代码评审)