viper-app/README.md
2023-05-13 01:52:05 +08:00

43 lines
1.4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Go Viper App TMPL
这是一个符合 Viper 风格的 viper App 模版库,集成了 Gin 作为路由引擎(简单业务用它绰绰有余)
Q: 我会用它来干什么?
A: 复用曾经搭建的基础开发组件,快速实现集成 Web 的 app受到一些开源项目的启发包括但不限于v2raya
1. 强可移植性gui 通过 web 实现,将 web 资源静态集成到 go 可执行文件
2. 极易部署:不需要额外启动 web 容器 / 进程,项目部署及其容器,不依赖 nginx 托管静态文件,小项目福音
3. 集成 viper结构较为简单单仓库的微服务也可以使用
以上内容来自工作中需要,本项目总结自工作实操流水线经验,可以作为练习 go-web 基础开发、代码风格项目学习使用
# Motivation
> Go 生态搭建服务有一套可以复用的简单组件,主要是 Viper / Crabon 和 Zap ,程序入口和日志。
- Viper 项目配置 & 序列化工具
- Crabon 命令行交互
- Zap 日志框架
- Gin 的拓展用法(集成 web 和 swag
- 本仓库附带 single app 内置的 web(gui) 编译支持,提供维护。
可以直接用本仓库在此基础上快速开发业务产品
---
本仓库维护最小化可以执行的程序,具体请参考本仓库 makefile
```
# 最小化编译
make build
# swag 文档支持
make swag-install
# 为项目建立 api 文档
make swag
# dev 默认开启 web 和 swag 文档编译
make dev
```