Skip to main content

开发手册

介绍

SagooIOT是一个基于golang开发的轻量级的物联网平台。支持跨平台的物联网接入及管理方案,平台实现了物联网开发相关的典型功能,基于这些功能可以快速的搭建起一整套的IOT相关的业务系统。

  • 基于全新Go Frame 2.6.x + Vue3+Element Plus开发的全栈前后端分离的管理系统
  • 前端采用vue-next-admin 、Vue、Element UI。

工程目录

/
├── api
├── hack
├── internal
│ ├── cmd
│ ├── consts
│ ├── controller
│ ├── dao
│ ├── logic
│ ├── model
│ | ├── do
│ │ └── entity
│ └── service
├── manifest
├── resource
├── module
├── network
├── pkg
├── plugins
├── utility
├── go.mod
└── main.go

目录说明

目录/文件名称说明描述
api对外接口对外提供服务的输入/输出数据结构定义。考虑到版本管理需要,往往以api/v1...存在。
hack工具脚本存放项目开发工具、脚本等内容。例如,CLI工具的配置,各种shell/bat脚本等文件。
internal内部逻辑业务逻辑存放目录。通过Golang internal特性对外部隐藏可见性。
- cmd入口指令命令行管理目录。可以管理维护多个命令行。
- consts常量定义项目所有常量定义。
- controller接口处理接收/解析用户输入参数的入口/接口层。
- dao数据访问数据访问对象,这是一层抽象对象,用于和底层数据库交互,仅包含最基础的 CURD 方法
- logic业务封装业务逻辑封装管理,特定的业务逻辑实现和封装。往往是项目中最复杂的部分。
- model结构模型数据结构管理模块,管理数据实体对象,以及输入与输出数据结构定义。
- do领域对象用于dao数据操作中业务模型与实例模型转换,由工具维护,用户不能修改。
- entity数据模型数据模型是模型与数据集合的一对一关系,由工具维护,用户不能修改。
- service业务接口用于业务模块解耦的接口定义层。具体的接口实现在logic中进行注入。
manifest交付清单包含程序编译、部署、运行、配置的文件。常见内容如下:
- config配置管理配置文件存放目录。
- docker镜像文件Docker镜像相关依赖文件,脚本文件等等。
- deploy部署文件部署相关的文件。默认提供了Kubernetes集群化部署的Yaml模板,通过kustomize管理。
resource静态资源静态资源文件。这些文件往往可以通过 资源打包/镜像编译 的形式注入到发布文件中。
module独立功能模块一些独立的功能可以放在这个模块。
network网络处理网络处理模块,包括tcp,udp等
pkg公共处理系统中常用的功能进行统一的封装。
plugins插件目录插件编译后所在这个目录下
go.mod依赖管理使用Go Module包管理的依赖描述文件。
main.go入口文件程序入口文件。