Skip to content

zhoupb01/golang-base

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project 后端服务

本项目是 Project 应用的后端服务,使用 Go 语言构建。它为用户管理、身份认证和其他核心功能提供了一套完整的 API。

功能特性

  • 用户管理: 创建、更新、删除和列出用户。
  • 基于角色的访问控制 (RBAC): 管理用户角色和权限。
  • 身份认证: 基于 JWT 的身份认证,确保 API 访问安全。
  • 管理面板: 用于管理任务的独立 API。
  • 配置驱动: 所有敏感配置(数据库、Redis、JWT 密钥)都从环境变量加载。

技术栈

快速开始

环境要求

安装与设置

  1. 克隆仓库:

    git clone https://github.com/zhoupb01/golang-base
    cd golang-base
  2. 安装依赖:

    go mod tidy
  3. 配置环境变量:

    通过复制示例文件,在项目根目录创建一个 .env 文件:

    cp .env.example .env

    然后,打开 .env 文件并更新以下变量以匹配您的本地开发环境:

    # 数据库
    DB_HOST=127.0.0.1
    DB_PORT=5432
    DB_USER=your_db_user
    DB_DATABASE=project
    DB_PASSWORD=your_db_password
    DB_SSLMODE=disable
    DB_TIME_ZONE=Asia/Shanghai
    
    # JWT
    JWT_SECRET_KEY=a_very_strong_and_long_secret_key
    
    # Redis
    REDIS_ADDR=localhost:6379
    REDIS_PASSWORD=your_redis_password
    REDIS_DB=0

    重要提示: 为了保证安全, JWT_SECRET_KEY 请使用一个长而随机的强字符串。

  4. 运行应用:

    go run main.go

    默认情况下,服务将在 http://localhost:8000 启动。

API 测试

项目提供了一个 HTTP 测试文件 app/handlers/admin/user_api_tests.http,用于测试管理员用户管理的 API。您可以使用 VS Code REST Client 等工具来运行这些测试。

在运行测试之前,请确保:

  1. 应用已成功启动。
  2. 已获取一个有效的管理员 JWT 令牌。
  3. .http 文件中的 @admin_token 占位符替换为您的令牌。

如何贡献

欢迎参与贡献!请随时提交 Pull Request。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages