Skip to content

Repository files navigation

CyberTool 后端服务

CyberTool 是 CyberTools 在线工具箱的后端服务,负责用户注册登录、JWT 鉴权、反馈收集、路线图、更新日志和对象存储等能力。仓库采用 Spring Boot 多模块结构,适合作为前后端分离项目中的后端工程展示。

项目亮点

  • 基于 Java 17 和 Spring Boot 3.2 构建,采用 Maven 多模块组织代码。
  • 使用 JWT 完成登录认证,并预留 Redis 支撑会话和缓存能力。
  • 基于 MyBatis / MyBatis XML 管理用户、反馈、路线图和更新日志数据。
  • 对接阿里云 OSS,所有云服务密钥均通过环境变量注入。
  • 提供 Dockerfile 和 GitHub Actions 工作流,支持容器化部署。
  • 已移除 IDE 私有配置和硬编码密钥,公开仓库只保留占位配置。

技术栈

分类 技术
运行环境 Java 17、Spring Boot 3.2.5
数据存储 MySQL、Redis、MyBatis
鉴权方案 JWT
对象存储 Aliyun OSS SDK
构建部署 Maven 多模块、Docker、GitHub Actions

项目结构

.
├── cyber-common      # 通用常量、异常和工具类
├── cyber-dao         # Mapper 接口与持久层契约
├── cyber-domain      # 实体、DTO 和值对象
├── cyber-service     # 业务服务实现
├── cyber-web         # Spring Boot 启动模块与 HTTP 接口
├── Doc/Mysql         # 数据库脚本
├── Dockerfile
└── pom.xml

本地运行

  1. 准备 Java 17、Maven、MySQL 和 Redis。
  2. 创建数据库并导入 Doc/Mysql 下的 SQL 脚本。
  3. 复制示例环境变量文件,并在本地填入真实值:
cp .env.example .env
  1. 启动服务:
mvn -pl cyber-web -am spring-boot:run

默认端口为 8080

配置说明

application-dev.ymlapplication-prod.yml 中的敏感项均通过环境变量读取,不再保存真实密码或云服务密钥。

变量 说明
MYSQL_HOSTMYSQL_PORTMYSQL_USERNAMEMYSQL_PASSWORDMYSQL_DATABASE MySQL 连接配置
REDIS_HOSTREDIS_PORTREDIS_DATABASE Redis 连接配置
CYBER_JWT_SECRET JWT 签名密钥
ALIOSS_ACCESS_KEY_IDALIOSS_ACCESS_KEY_SECRETALIOSS_BUCKET_NAME 阿里云 OSS 配置

构建

mvn -B clean package

构建 Docker 镜像:

docker build -t cybertool-backend .

安全说明

公开仓库只保留占位符和环境变量引用。真实数据库密码、JWT Secret、对象存储 AK/SK 应放在本地 .env、服务器环境变量或 CI/CD Secret Store 中。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages