No description
Find a file
2025-11-05 23:06:10 +08:00
.cursor/plans 实现 auth 模块的基础部分 2025-11-04 22:15:27 +08:00
.local 切换到 Gradle 构建工具 2025-11-04 22:03:48 +08:00
gradle/wrapper 切换到 Gradle 构建工具 2025-11-04 22:03:48 +08:00
src/main EitherT final 2025-11-05 23:06:10 +08:00
.gitignore 修复端点错误处理:所有端点现在返回 JSON 错误响应 2025-11-05 21:12:06 +08:00
.scalafmt.conf 实现 OAuth2 基础服务和工具 2025-11-04 22:47:26 +08:00
build.gradle.kts 修复端点和错误处理 2025-11-05 21:08:13 +08:00
config.example.yaml 实现配置管理模块 2025-11-04 22:06:11 +08:00
gradle.properties 切换到 Gradle 构建工具 2025-11-04 22:03:48 +08:00
gradlew 切换到 Gradle 构建工具 2025-11-04 22:03:48 +08:00
gradlew.bat 切换到 Gradle 构建工具 2025-11-04 22:03:48 +08:00
README.md 更新 README 说明测试配置的使用方法 2025-11-04 23:55:12 +08:00
settings.gradle.kts 切换到 Gradle 构建工具 2025-11-04 22:03:48 +08:00

Hetu Scala Backend

使用 Scala 和 Cats Effect 实现的函数式 Web 后端项目。

技术栈

  • 构建工具: Gradle
  • 语言: Scala 3.3.3
  • Web 框架: http4s
  • 数据库: PostgreSQL + Doobie
  • 函数式编程: Cats Effect 3
  • 配置管理: Ciris
  • JSON: Circe
  • 日志: Log4cats + Logback

快速开始

前置要求

  • Java 17+
  • Gradle 8.0+ (或使用 Gradle Wrapper)

运行项目

# 使用 Gradle Wrapper推荐
./gradlew build

# 运行测试
./gradlew test

# 运行应用(使用默认配置 config.example.yaml
./gradlew run

# 运行应用(使用自定义配置文件)
CONFIG_PATH=config.test.yaml ./gradlew run

测试配置

项目包含一个测试配置文件 config.test.yaml,配置了开发环境的数据库连接。注意:

  • 测试配置文件会被 .gitignore 忽略,不会被提交到仓库
  • 可以基于 config.example.yaml 创建自己的配置文件

项目结构

src/
  main/scala/hetu/
    config/           # 配置管理
    http/             # HTTP 路由和中间件
    db/               # 数据库访问层
    modules/          # 业务模块
    shared/           # 共享代码
  test/scala/         # 测试代码

配置

项目使用 YAML 配置文件。请参考 config.example.yaml 创建你的配置文件。

开发

参考 AGENTS.md 了解如何使用 AI 代理进行开发。