GitHunt
KL

klren0312/purine-server

Purine Server

嘌呤管理系统API服务端

项目简介

Purine Server是一个基于Go语言开发的嘌呤管理系统API服务端,提供了用户认证、食物嘌呤数据管理等功能。

技术栈

  • 语言: Go 1.23.0
  • Web框架: Gin v1.10.0
  • 认证: JWT v5.2.1
  • 数据库: PostgreSQL
  • ORM: GORM v1.25.12
  • 配置管理: godotenv
  • API文档: Swagger

项目结构

purine-server/
├── cmd/
│   └── server/
│       └── main.go          # 主入口文件
├── docs/                    # Swagger文档
├── internal/
│   ├── config/              # 配置管理
│   ├── db/                  # 数据库连接
│   ├── handlers/            # API处理器
│   ├── middleware/          # 中间件
│   ├── models/              # 数据模型
│   ├── repository/          # 数据访问层
│   ├── router/              # 路由
│   └── service/             # 业务逻辑
├── sql/                     # 数据库备份
├── .env.example             # 环境变量示例
├── .gitignore
├── Dockerfile               # Docker配置
├── go.mod                   # Go模块依赖
└── go.sum

安装与部署

前置要求

  • Go 1.23.0 或更高版本
  • PostgreSQL 数据库

本地开发

  1. 克隆项目
git clone <repository-url>
cd purine-server
  1. 配置环境变量

复制 .env.example 文件为 .env 并填写相应配置:

cp .env.example .env
# 编辑 .env 文件,填写数据库连接信息和JWT密钥
  1. 安装依赖
go mod tidy
  1. 运行项目
go run cmd/server/main.go

服务将在 http://localhost:9898 启动。

Docker部署

  1. 构建Docker镜像
docker build -t purine-server .
  1. 运行Docker容器
docker run -d \
  --name purine-server \
  -p 9898:9898 \
  -e DATABASE_URL=<your-database-url> \
  -e JWT_SECRET=<your-jwt-secret> \
  -e PORT=9898 \
  purine-server

API文档

项目集成了Swagger API文档,启动服务后可以通过以下地址访问:

http://localhost:9898/swagger/index.html

主要功能

  • 用户认证: 基于JWT的用户认证系统
  • 食物嘌呤数据管理: 提供食物嘌呤数据的增删改查功能

环境变量

变量名 描述 默认值
DATABASE_URL PostgreSQL数据库连接URL -
JWT_SECRET JWT签名密钥 -
PORT 服务端口 9898

数据库

项目使用PostgreSQL数据库,首次启动时会自动创建所需表结构。

开发指南

添加新API

  1. internal/handlers/ 目录下创建新的处理器
  2. internal/service/ 目录下实现业务逻辑
  3. internal/router/ 目录下注册路由
  4. 添加Swagger注释

运行测试

go test ./...

贡献

欢迎提交Issue和Pull Request。

许可证

Apache 2.0

Languages

Go99.2%Dockerfile0.8%

Contributors

Created February 11, 2026
Updated February 11, 2026