Files
OpenIsle/README.md
2025-07-01 13:45:35 +08:00

2.5 KiB
Raw Blame History

OpenIsle

一款简洁的社区后台示例

💡 简介

OpenIsle 基于 Spring Boot 构建,提供社区后台常见的注册、登录、文章与评论等能力,适合用作二次开发的起点,完全开源。

动机

  • 学习和实践现代 Java Web 开发
  • 快速搭建可扩展的社区或论坛应用
  • 提供清晰的代码示例和简单易懂的配置

特性

  • 用户体系:注册、登录,密码使用 BCrypt 加密
  • JWT 认证:登录后获得 Token接口通过 Authorization: Bearer 认证
  • 邮件通知:抽象 EmailSender,默认实现基于 Resend
  • 角色权限:内置 ADMINUSER,管理员接口以 /api/admin/** 提供
  • 文章与评论:支持分类、评论及多级回复
  • 图片上传ImageUploader 可接入不同云存储,示例中实现了腾讯云 COS
  • 灵活配置:数据库、邮件、存储及密码强度均可通过环境变量或 application.properties 设置
  • 简洁架构:业务、持久化与安全配置清晰分层,便于扩展

🚀 快速开始

环境要求

  • Java 17+
  • Maven 3+
  • MySQL 数据库

运行

  1. 按需修改 src/main/resources/application.properties 或设置以下环境变量:
    • MYSQL_URL:数据库连接 URLjdbc:mysql://localhost:3306/openisle
    • MYSQL_USER:数据库用户名
    • MYSQL_PASSWORD:数据库密码
    • RESEND_API_KEYResend 邮件服务 API Key
    • COS_BASE_URL:腾讯云 COS 访问域名
    • JWT_SECRETJWT 签名密钥
    • JWT_EXPIRATIONJWT 过期时间(毫秒)
    • PASSWORD_STRENGTH密码强度LOW、MEDIUM、HIGH
  2. 启动项目:
mvn spring-boot:run

启动后可访问主要接口:

  • POST /api/auth/register:注册新用户
  • POST /api/auth/login:登录并获取 Token
  • 需要认证的接口示例:GET /api/hello(需 Authorization 头)
  • 管理员接口示例:GET /api/admin/hello

🏘️ 社区

欢迎通过 Issues 交流反馈。

📄 授权

本项目以 MIT License 发布,欢迎自由使用与修改。

🙏 鸣谢