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.
|
|
2 weeks ago | |
|---|---|---|
| .. | ||
| src/main | 2 weeks ago | |
| .gitignore | 3 weeks ago | |
| Dockerfile | 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+
数据库配置
- 创建 PostgreSQL 数据库:
CREATE DATABASE studyingspace;
- 修改
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>
📝 开发计划
- 登录注册功能
- 用户认证模块
- 每日打卡模块
- 笔记导入导出模块
📄 许可证
本项目为个人学习项目,仅供学习使用。