Git Product home page Git Product logo

mywebframe's Introduction

airport

项目介绍

airport是一个基于go语言的web框架,主要用于快速构建中小型web项目,提供了一些常用的功能,包括但不限于:

  • 项目初始化
  • 项目配置
  • 项目日志
  • 项目错误处理
  • 项目中间件
  • 项目路由
  • 项目数据库

快速开始

go version

GO >= 1.13

服务构建和启动

  • 直接启动
go run main.go

框架规范

  • [Go 语言规范]
  • [接口规范]
  • [错误处理规范]
  • [配置规范]
  • [日志规范]
  • [CICD规范]
  • [包管理规范]
  • [运行规范]
  • [目录规范] 强烈建议按照以下目录规范来规范你的项目:
|-demo-project
   |-api 访问第三方请求目录
   |-conf 配置文件目录
       |-app 用户自定义配置,跟随代码发布的业务配置
       |-mount 用来放置环境相关的配置,可通过配置中心发布的配置
   |-controllers 控制器目录 业务处理方法统一入口
       |-http http控制器目录
       |-command 任务控制器入口,包括cycle任务、crontab任务、一次性任务
       |-mq 消息队列回调入口
       |-rpcx rpcx服务控制器入口
   |-data 数据层。当项目比较复杂时,可以增加data层用于组装数据,包括不限于数据库查询到的数据、api调用后查询到的数据
   |-defines 一些常量声明,类型定义,初始化
   |-dto 数据传输对象定义目录,各层之间数据传输的结构体在此目录定义
   |-helpers 公共类目录,可以用来初始化一些全局变量,http和rpcx客户端
   |-message 返回给调用方的错误码,或多国语言信息放在此目录
   |-middleware 业务中间件
       |-http gin的中间件放在此目录
       |-rpcx rpcx的plugin放在此目录
   |-models 数据模型访问目录。数据库,redis相关调用封装。
   |-router 路由目录,一般对应controllers目录结构
       |-http http路由
       |-command 人物类路由
       |-mq 消息队列路由
       |-rpcx rpcx路由
   |-service 业务逻辑聚合目录。主要强调业务逻辑,能够看出一个功能的核心处理流程。
   |-sql mysql建库建表相关语句
   |-utils  一些工具类
   |-go.mod go module使用,记录项目的依赖
   |-go.sum go mod tidy 后生成,记录依赖的详细依赖
   |-main.go 程序执行入口

mywebframe's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.