fangyoukeji / fly

一个简单而优雅的后端项目, 封装常用数据库组件及应用示例, 助力后端人员快速开发

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Welcome To Fly

GitHub GitHub last commit GitHub Repo stars

简介

一个简单而优雅的后端项目, 封装常用数据库组件及应用示例, 助力后端人员快速开发

个人博客

项目结构

参考 Go程序布局

├── build               // 打包/集成
|  ├── app              // 应用程序名
|  |  ├── Dockerfile    // 集成的配置/脚本
├── cmd                 // 可执行目录
|  ├── app              // 应用程序名
|  |  ├── main.go       // 入口文件
├── configs             // 配置文件
|  ├── config.json      
├── doc                 // 项目文档
├── example             // 示例目录
├── internal            // 私有程序
|  ├── api              // 接口
|  ├── config           // 配置文件解析
|  ├── cache            // 缓存相关
|  ├── constvar         // 常量
|  ├── domain           // 表结构
|  └── monitor          // 监控定时服务相关
|  └── rpc              // rpc
├── logs                // 日志存放
├── pkg                 // 安全导入的包(可以被任何项目直接导入使用)
|  ├── clickhouse       // ck组件
|  ├── email            // 邮件组件
|  ├── es               // es组件
|  ├── httpcode         // 请求处理组件
|  ├── jwt              // jwt组件
|  ├── libs             // 封装的公用方法
|  ├── logging          // 日志组件
|  ├── mongo            // mongo组件
|  └── mq               // mq组件
|  └── mysql            // mysql组件
|  └── redis            // redis组件
|  └── safego           // 安全运行组件
|  └── ws               // socket组件
├── .dockerignore       // docker忽略文件    
├── .gitignore          // git忽略文件    
├── go.mod              // 包管理    
├── README.md

优雅的代码

请先参阅一遍官方的代码规范指南

gofmt

goimports

技术选型

web框架

iris 号称最快的Web框架

rpc

grpc

socket

gorilla

mysql

gorm

clickhouse

dbr

es

elastic

mongo

mongo

redis

redis

mq

amqp

log

zap

config

viper

启动方式

命令行启动

go run cmd/app/main.go -config ./configs/config.toml

Docker启动

docker build -f build/app/Dockerfile -t fly:v1.0.0 .
docker run --rm -it -p 8888:8888 -p 9999:9999 --name fly fly:v1.0.0

About

一个简单而优雅的后端项目, 封装常用数据库组件及应用示例, 助力后端人员快速开发

License:Apache License 2.0


Languages

Language:Go 98.2%Language:HTML 1.3%Language:Dockerfile 0.5%