第一周笔记

体验地址: 慕课乐高

项目架构

产品架构

使用技术栈

技术栈

架构设计做什么 如何做

架构师的核心价值 : 通过技术手段保证技术增长,对业务精准理解

  • 需求指导设计,设计指导开发
  • 技术永远是为业务服务的,技术是实现业务增长的工具
  • 整体分析时不需要注意细节
  • 判断可行性,需要适当调研
  • 考虑复杂度,不过度设计
  • 脱离业务的设计就是耍流氓
  • 需求即业务,无业务不架构
  • 需求闭环 业务闭环

前段开发流程

前段开发流程

需求关系图

需求关系图

技术方案设计文档

模块设计

image-20201222012242833

h5端: 提供作品展示与分享的功能

编辑器前端: 提供作品编辑 制作与发布功能

编辑器服务端: 支持编辑器前端的功能 并将作品持久化到数据库

后台管理前端: 供管理员使用 用于管理作品与模板 快速下线违规作品 查看运营统计数据

后台管理服务端: 为后台管理提供接口服务

组件库: 为h5与编辑器端提供组件服务 并可以通过脚手架工具快速创建和发布组件

自研统计: 用于统计自定义事件的pv uv等指标

三方服务:

  • 短信服务: 用于注册 登陆以及密码找回等操作需要验证用户身份时使用
  • oss文件存储: 存储静态文件
  • 埋点统计: 用于统计pv uv等常见运营指标
  • 微信sdk: 用于微信分享 便于传播

核心数据结构

  • 每个组件尽量符合vnode规范
  • 使用数据来组织数据 有序
  • 尽量使用引用关系 不要冗余
{
  work:{
    id:'xxx',
    title:'标题',
    props:{/*全局配置属性*/},
    settings:{/*拓展预留*/},
    components:[
      {
        id:'xxxx',
        name:'文本1',
        tag:'text',
        attrs:{color:red},
        children:[]
      }
    ]
  },
  //当前被选中的组件id
  activeComponentId:'xx'
}

拓展性

  • 增加动画,音效 甚至简单的交互功能
  • 批量选中与批量修改
  • 多人协作 同时编辑

研发提效

  • 脚手架: 创建发布
  • 组件平台

运维保障

  • 线上服务和运维服务
  • 安全
  • 监控与告警
  • 服务拓展性: 基于云服务,可以随时拓展机器和配置
Copyright © imooc-lego (2020 - present) all right reserved,powered by GitbookFile Modify: 2021-06-27 08:04:56

results matching ""

    No results matching ""