Skip to content

Repository files navigation

Nova-API 0.0.3

Go + Gin 的现代化 RESTful API 项目模板。

技术说明

组件 版本 说明
Go 1.26 语言
Gin 1.12.0 Web 框架
Ent 0.14.6 ORM 框架
Docker Compose 2 容器编排
Caddy 2 Web 服务与反向代理
Valkey 9.1.0-trixie 缓存
PostgreSQL 18.4-trixie 数据库

项目特性

Rust API

单个空数据 null, 列表空数据 []

{
  "code": 0,
  "message": "ok",
  "data": null
}

{
  "code": 0,
  "message": "ok",
  "data": []
}

{
    "code": 0,
    "message": "ok",
    "data": [],
    "meta": {
        "total": 0,
        "page": 1,
        "size": 10
    }
}

状态码

  200
  400
  401
  403
  404
  405
  500

日志说明

直接输出堆栈错误,打开 Recovery 的两行注释

项目结构

.
├── app/                    # 业务代码
├── cmd/                    # 程序入口
├── bootstrap/              # 启动初始化
├── configs/                # 配置定义
├── internal/               # 内部实现
├── router/                 # 路由注册
├── pkg/                    # 公共组件
├── runtime/                # 运行时目录
├── docker/                 # Docker 配置和数据, prod 环境不要放项目中
├── docker-compose.yml      # prod 环境不要放项目中
└── README.md

快速开始

1. 创建docker 网络

docker network create nova-network
docker network create common-network

2. 配置环境变量

示例:

environment:
  TZ: Asia/Shanghai
  APP_ENV: local
  DB_USER: postgres
  DB_PASSWORD: 123123

3. 安装依赖

go get entgo.io/ent
go get github.com/jackc/pgx/v5

4. 启动基础服务

docker compose up -d

5. 生成 Ent 代码

go generate ./internal/ent

Roadmap

  • 日志系统
  • Ent ORM
  • 验证类
  • JWT 双 Token
  • MinIO
  • WebSocket

About

nova-api API 业务框架

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages