You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
HeTianci f54ac09709
修改安全配置
2 weeks ago
..
src/main 修改安全配置 2 weeks ago
.gitignore TESt' 3 weeks ago
Dockerfile test 2 weeks ago
README.md 增加签到打卡功能和好友添加功能 2 weeks ago
pom.xml 初步完成前后端框架搭建 3 weeks ago

README.md

StudyingSpace - 后端

基于 Spring Boot 开发的个人学习空间后端项目,提供 RESTful API 服务。

🛠️ 技术栈

  • 框架: Spring Boot 3.x
  • 语言: Java 21
  • 数据库: PostgreSQL
  • ORM: Spring Data JPA / MyBatis
  • 安全: Spring Security + JWT
  • API 文档: SpringDoc OpenAPI (Swagger UI)
    • 自动生成 REST API 文档
    • 支持在线接口调试
    • 前后端统一接口文档
  • 构建工具: Maven / Gradle

📁 项目结构

backend/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── studyingspace/
│   │   │           ├── StudyingSpaceApplication.java    # 启动类
│   │   │           ├── controller/    # 控制器层
│   │   │           ├── service/       # 业务逻辑层
│   │   │           ├── mapper/        # 数据访问层
│   │   │           ├── entity/        # 实体类
│   │   │           ├── dto/           # 数据传输对象
│   │   │           ├── config/        # 配置类
│   │   │           ├── security/      # 安全相关
│   │   │           └── common/        # 公共工具类
│   │   └── resources/
│   │       ├── application.yml        # 配置文件
│   │       └── mapper/                # MyBatis XML
│   └── test/
│       └── java/                       # 测试代码
├── pom.xml / build.gradle
└── README.md

🚀 开发说明

环境要求

  • JDK 21+
  • Maven 3.8+ 或 Gradle 8+
  • PostgreSQL 14+

数据库配置

  1. 创建 PostgreSQL 数据库:
CREATE DATABASE studyingspace;
  1. 修改 application.yml 中的数据库连接配置:
spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/studyingspace
    username: admin
    password: 123456

构建运行

使用 Maven

# 编译打包
mvn clean package

# 运行项目
java -jar target/studyingspace-0.0.1-SNAPSHOT.jar
# 开发模式运行
mvn spring-boot:run

使用 Gradle

# 编译打包
./gradlew build

# 运行项目
java -jar build/libs/studyingspace-0.0.1-SNAPSHOT.jar

开发环境启动

默认端口:8080

访问地址:http://localhost:8080

API 文档:http://localhost:8080/swagger-ui.html

🔌 API 模块

用户认证

  • POST /api/auth/register - 用户注册
  • POST /api/auth/login - 用户登录

每日打卡

  • GET /api/checkin - 获取打卡记录
  • POST /api/checkin - 每日打卡
  • GET /api/checkin/calendar - 获取打卡日历数据
  • GET /api/checkin/stats - 获取打卡统计

笔记管理

  • GET /api/notes - 获取笔记列表
  • POST /api/notes/import - 导入笔记
  • GET /api/notes/export - 导出笔记
  • POST /api/notes - 创建笔记
  • PUT /api/notes/{id} - 更新笔记
  • DELETE /api/notes/{id} - 删除笔记

🔐 认证方式

使用 JWT Token 认证,在请求头中添加:

Authorization: Bearer <token>

📝 开发计划

  • 登录注册功能
  • 用户认证模块
  • 每日打卡模块
  • 笔记导入导出模块

📄 许可证

本项目为个人学习项目,仅供学习使用。