Skip to content

Versifine/cumt-nexus-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CUMT-Nexus API

中国矿业大学校园社区枢纽 - 核心后端服务 (Backend Service)

CUMT-Nexus 是一个致力于连接矿大同学、信息与服务的现代化校园社区平台。本项目为 Nexus 架构的后端 API 服务,采用高并发、轻量级的 Go 语言构建,提供纯净的 RESTful 接口支持。

核心技术栈

本项目坚持“稳定、成熟、工程化”的选型原则:

  • 核心语言: Go 1.21+
  • Web 框架: Gin (高性能路由与中间件)
  • 关系型数据库: MySQL 8.0
  • ORM 框架: GORM (数据持久化)
  • 高性能缓存: Redis (热点数据与限流)
  • 身份鉴权: JWT (JSON Web Token)
  • 基础工程组件: * 配置管理: Viper
    • 日志追踪: Zap
    • 接口文档: Swaggo (代码即文档)

标准工程目录 (Standard Go Layout)

cumt-nexus-api/
├── cmd/
│   └── server/       # 程序的唯一入口,main.go 所在位置
├── internal/         # 私有应用与库代码(不对外暴露)
│   ├── config/       # Viper 配置文件解析与结构体
│   ├── controller/   # API 路由处理函数 (解析入参、调用 service、返回 JSON)
│   ├── middleware/   # Gin 中间件 (CORS 跨域、JWT 鉴权、日志拦截)
│   ├── model/        # 数据库模型 (GORM structs)
│   ├── repository/   # 数据库访问层 (Dao),封装所有 GORM 增删改查
│   ├── router/       # 集中化 API 路由注册
│   └── service/      # 核心业务逻辑实现
├── pkg/              # 可以被外部项目引用的公共工具包 (如密码加密、响应封装)
├── docs/             # Swaggo 自动生成的 API 文档存放处
├── .env.example      # 环境变量配置示例 (不包含敏感密码)
├── go.mod            # Go 依赖管理
└── README.md         # 项目总览

模块边界约定

为保证接口语义清晰、后续扩展方便,项目接口按领域划分:

  • auth:负责认证相关接口,如 registerlogin、后续的 refresh/logout
  • users:负责用户资源相关接口,如 GET /api/v1/users/me

当前推荐的用户认证 MVP 接口为:

  • POST /api/v1/auth/register
  • POST /api/v1/auth/login
  • GET /api/v1/users/me

About

🚀 矿大校园社区枢纽 (CUMT-Nexus) 核心后端服务。基于 Go + Gin + GORM + Redis 构建的轻量级、高并发 RESTful API。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages