docs: 批量更新历史文档中的 backend-single 引用为 server
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
**Goal:** Add mini program behavior analytics collection, backend event storage and aggregation, and a web-admin behavior analytics dashboard.
|
||||
|
||||
**Architecture:** The mini program queues analytics events locally and flushes them to `POST /analytics/events/batch`. `backend-single` stores raw events in `t_analytics_event` and exposes admin-only aggregation endpoints under `/admin/analytics`. `web-admin` renders overview, trend, funnel, preference, and top-event stats using Element Plus and ECharts.
|
||||
**Architecture:** The mini program queues analytics events locally and flushes them to `POST /analytics/events/batch`. `server` stores raw events in `t_analytics_event` and exposes admin-only aggregation endpoints under `/admin/analytics`. `web-admin` renders overview, trend, funnel, preference, and top-event stats using Element Plus and ECharts.
|
||||
|
||||
**Tech Stack:** Spring Boot 2.7, MyBatis Plus, MySQL JSON, Java 17, uni-app/Vue, Vue 3, Element Plus, ECharts.
|
||||
|
||||
@@ -13,25 +13,25 @@
|
||||
## File Structure
|
||||
|
||||
- Create `sql/2026-05-17-analytics-event.sql`: migration for `t_analytics_event`.
|
||||
- Create `backend-single/src/main/java/com/emotion/entity/AnalyticsEvent.java`: MyBatis Plus entity.
|
||||
- Create `backend-single/src/main/java/com/emotion/mapper/AnalyticsEventMapper.java`: mapper plus aggregation SQL.
|
||||
- Create `backend-single/src/main/java/com/emotion/dto/request/analytics/AnalyticsEventBatchRequest.java`: mini program batch request.
|
||||
- Create `backend-single/src/main/java/com/emotion/dto/request/analytics/AnalyticsEventRequest.java`: one event payload.
|
||||
- Create `backend-single/src/main/java/com/emotion/dto/request/analytics/AnalyticsQueryRequest.java`: admin query filters.
|
||||
- Create `backend-single/src/main/java/com/emotion/dto/response/analytics/AnalyticsBatchResponse.java`: accepted/rejected counts.
|
||||
- Create `backend-single/src/main/java/com/emotion/dto/response/analytics/AnalyticsOverviewResponse.java`: overview cards.
|
||||
- Create `backend-single/src/main/java/com/emotion/dto/response/analytics/AnalyticsTrendItem.java`: trend item.
|
||||
- Create `backend-single/src/main/java/com/emotion/dto/response/analytics/AnalyticsFunnelItem.java`: funnel item.
|
||||
- Create `backend-single/src/main/java/com/emotion/dto/response/analytics/AnalyticsPreferenceItem.java`: preference item.
|
||||
- Create `backend-single/src/main/java/com/emotion/dto/response/analytics/AnalyticsTopEventItem.java`: top event item.
|
||||
- Create `backend-single/src/main/java/com/emotion/dto/response/analytics/AnalyticsUserItem.java`: user ranking item.
|
||||
- Create `backend-single/src/main/java/com/emotion/service/AnalyticsService.java`: write and aggregate contract.
|
||||
- Create `backend-single/src/main/java/com/emotion/service/impl/AnalyticsServiceImpl.java`: validation, persistence, aggregation.
|
||||
- Create `backend-single/src/main/java/com/emotion/controller/AnalyticsController.java`: mini program write endpoint.
|
||||
- Create `backend-single/src/main/java/com/emotion/controller/AdminAnalyticsController.java`: admin read endpoints.
|
||||
- Modify `backend-single/src/main/java/com/emotion/config/WebMvcConfig.java`: allow anonymous analytics batch endpoint while keeping admin analytics protected.
|
||||
- Create `backend-single/src/test/java/com/emotion/service/AnalyticsServiceTest.java`: service validation and aggregation tests.
|
||||
- Create `backend-single/src/test/java/com/emotion/controller/AnalyticsControllerTest.java`: endpoint tests.
|
||||
- Create `server/src/main/java/com/emotion/entity/AnalyticsEvent.java`: MyBatis Plus entity.
|
||||
- Create `server/src/main/java/com/emotion/mapper/AnalyticsEventMapper.java`: mapper plus aggregation SQL.
|
||||
- Create `server/src/main/java/com/emotion/dto/request/analytics/AnalyticsEventBatchRequest.java`: mini program batch request.
|
||||
- Create `server/src/main/java/com/emotion/dto/request/analytics/AnalyticsEventRequest.java`: one event payload.
|
||||
- Create `server/src/main/java/com/emotion/dto/request/analytics/AnalyticsQueryRequest.java`: admin query filters.
|
||||
- Create `server/src/main/java/com/emotion/dto/response/analytics/AnalyticsBatchResponse.java`: accepted/rejected counts.
|
||||
- Create `server/src/main/java/com/emotion/dto/response/analytics/AnalyticsOverviewResponse.java`: overview cards.
|
||||
- Create `server/src/main/java/com/emotion/dto/response/analytics/AnalyticsTrendItem.java`: trend item.
|
||||
- Create `server/src/main/java/com/emotion/dto/response/analytics/AnalyticsFunnelItem.java`: funnel item.
|
||||
- Create `server/src/main/java/com/emotion/dto/response/analytics/AnalyticsPreferenceItem.java`: preference item.
|
||||
- Create `server/src/main/java/com/emotion/dto/response/analytics/AnalyticsTopEventItem.java`: top event item.
|
||||
- Create `server/src/main/java/com/emotion/dto/response/analytics/AnalyticsUserItem.java`: user ranking item.
|
||||
- Create `server/src/main/java/com/emotion/service/AnalyticsService.java`: write and aggregate contract.
|
||||
- Create `server/src/main/java/com/emotion/service/impl/AnalyticsServiceImpl.java`: validation, persistence, aggregation.
|
||||
- Create `server/src/main/java/com/emotion/controller/AnalyticsController.java`: mini program write endpoint.
|
||||
- Create `server/src/main/java/com/emotion/controller/AdminAnalyticsController.java`: admin read endpoints.
|
||||
- Modify `server/src/main/java/com/emotion/config/WebMvcConfig.java`: allow anonymous analytics batch endpoint while keeping admin analytics protected.
|
||||
- Create `server/src/test/java/com/emotion/service/AnalyticsServiceTest.java`: service validation and aggregation tests.
|
||||
- Create `server/src/test/java/com/emotion/controller/AnalyticsControllerTest.java`: endpoint tests.
|
||||
- Create `mini-program/src/services/analytics.js`: client SDK.
|
||||
- Modify `mini-program/src/App.vue`: initialize and flush analytics.
|
||||
- Modify `mini-program/src/pages/main/index.vue`: track main tab/page activity if this page owns tab switching.
|
||||
@@ -121,11 +121,11 @@ git commit -m "feat: add analytics event table"
|
||||
### Task 2: Add Backend DTOs and Entity
|
||||
|
||||
**Files:**
|
||||
- Create: `backend-single/src/main/java/com/emotion/entity/AnalyticsEvent.java`
|
||||
- Create: `backend-single/src/main/java/com/emotion/dto/request/analytics/AnalyticsEventBatchRequest.java`
|
||||
- Create: `backend-single/src/main/java/com/emotion/dto/request/analytics/AnalyticsEventRequest.java`
|
||||
- Create: `backend-single/src/main/java/com/emotion/dto/request/analytics/AnalyticsQueryRequest.java`
|
||||
- Create: response DTO files under `backend-single/src/main/java/com/emotion/dto/response/analytics/`
|
||||
- Create: `server/src/main/java/com/emotion/entity/AnalyticsEvent.java`
|
||||
- Create: `server/src/main/java/com/emotion/dto/request/analytics/AnalyticsEventBatchRequest.java`
|
||||
- Create: `server/src/main/java/com/emotion/dto/request/analytics/AnalyticsEventRequest.java`
|
||||
- Create: `server/src/main/java/com/emotion/dto/request/analytics/AnalyticsQueryRequest.java`
|
||||
- Create: response DTO files under `server/src/main/java/com/emotion/dto/response/analytics/`
|
||||
|
||||
- [ ] **Step 1: Add the entity**
|
||||
|
||||
@@ -387,7 +387,7 @@ public class AnalyticsUserItem {
|
||||
Run:
|
||||
|
||||
```bash
|
||||
cd backend-single
|
||||
cd server
|
||||
mvn -DskipTests compile
|
||||
```
|
||||
|
||||
@@ -396,7 +396,7 @@ Expected: `BUILD SUCCESS`.
|
||||
- [ ] **Step 5: Commit**
|
||||
|
||||
```bash
|
||||
git add backend-single/src/main/java/com/emotion/entity/AnalyticsEvent.java backend-single/src/main/java/com/emotion/dto/request/analytics backend-single/src/main/java/com/emotion/dto/response/analytics
|
||||
git add server/src/main/java/com/emotion/entity/AnalyticsEvent.java server/src/main/java/com/emotion/dto/request/analytics server/src/main/java/com/emotion/dto/response/analytics
|
||||
git commit -m "feat: add analytics DTOs and entity"
|
||||
```
|
||||
|
||||
@@ -405,10 +405,10 @@ git commit -m "feat: add analytics DTOs and entity"
|
||||
### Task 3: Add Analytics Mapper and Service
|
||||
|
||||
**Files:**
|
||||
- Create: `backend-single/src/main/java/com/emotion/mapper/AnalyticsEventMapper.java`
|
||||
- Create: `backend-single/src/main/java/com/emotion/service/AnalyticsService.java`
|
||||
- Create: `backend-single/src/main/java/com/emotion/service/impl/AnalyticsServiceImpl.java`
|
||||
- Test: `backend-single/src/test/java/com/emotion/service/AnalyticsServiceTest.java`
|
||||
- Create: `server/src/main/java/com/emotion/mapper/AnalyticsEventMapper.java`
|
||||
- Create: `server/src/main/java/com/emotion/service/AnalyticsService.java`
|
||||
- Create: `server/src/main/java/com/emotion/service/impl/AnalyticsServiceImpl.java`
|
||||
- Test: `server/src/test/java/com/emotion/service/AnalyticsServiceTest.java`
|
||||
|
||||
- [ ] **Step 1: Write service tests**
|
||||
|
||||
@@ -462,7 +462,7 @@ public class AnalyticsServiceTest {
|
||||
Run:
|
||||
|
||||
```bash
|
||||
cd backend-single
|
||||
cd server
|
||||
mvn -Dtest=AnalyticsServiceTest test
|
||||
```
|
||||
|
||||
@@ -676,7 +676,7 @@ public class AnalyticsServiceImpl extends ServiceImpl<AnalyticsEventMapper, Anal
|
||||
Run:
|
||||
|
||||
```bash
|
||||
cd backend-single
|
||||
cd server
|
||||
mvn -Dtest=AnalyticsServiceTest test
|
||||
```
|
||||
|
||||
@@ -685,7 +685,7 @@ Expected: `BUILD SUCCESS`.
|
||||
- [ ] **Step 7: Commit**
|
||||
|
||||
```bash
|
||||
git add backend-single/src/main/java/com/emotion/mapper/AnalyticsEventMapper.java backend-single/src/main/java/com/emotion/service/AnalyticsService.java backend-single/src/main/java/com/emotion/service/impl/AnalyticsServiceImpl.java backend-single/src/test/java/com/emotion/service/AnalyticsServiceTest.java
|
||||
git add server/src/main/java/com/emotion/mapper/AnalyticsEventMapper.java server/src/main/java/com/emotion/service/AnalyticsService.java server/src/main/java/com/emotion/service/impl/AnalyticsServiceImpl.java server/src/test/java/com/emotion/service/AnalyticsServiceTest.java
|
||||
git commit -m "feat: add analytics service"
|
||||
```
|
||||
|
||||
@@ -694,10 +694,10 @@ git commit -m "feat: add analytics service"
|
||||
### Task 4: Add Analytics Controllers and Auth Exclusion
|
||||
|
||||
**Files:**
|
||||
- Create: `backend-single/src/main/java/com/emotion/controller/AnalyticsController.java`
|
||||
- Create: `backend-single/src/main/java/com/emotion/controller/AdminAnalyticsController.java`
|
||||
- Modify: `backend-single/src/main/java/com/emotion/config/WebMvcConfig.java`
|
||||
- Test: `backend-single/src/test/java/com/emotion/controller/AnalyticsControllerTest.java`
|
||||
- Create: `server/src/main/java/com/emotion/controller/AnalyticsController.java`
|
||||
- Create: `server/src/main/java/com/emotion/controller/AdminAnalyticsController.java`
|
||||
- Modify: `server/src/main/java/com/emotion/config/WebMvcConfig.java`
|
||||
- Test: `server/src/test/java/com/emotion/controller/AnalyticsControllerTest.java`
|
||||
|
||||
- [ ] **Step 1: Add write controller**
|
||||
|
||||
@@ -794,7 +794,7 @@ Do not exclude `/admin/analytics/**`.
|
||||
Run:
|
||||
|
||||
```bash
|
||||
cd backend-single
|
||||
cd server
|
||||
mvn -DskipTests compile
|
||||
```
|
||||
|
||||
@@ -803,7 +803,7 @@ Expected: `BUILD SUCCESS`.
|
||||
- [ ] **Step 5: Commit**
|
||||
|
||||
```bash
|
||||
git add backend-single/src/main/java/com/emotion/controller/AnalyticsController.java backend-single/src/main/java/com/emotion/controller/AdminAnalyticsController.java backend-single/src/main/java/com/emotion/config/WebMvcConfig.java
|
||||
git add server/src/main/java/com/emotion/controller/AnalyticsController.java server/src/main/java/com/emotion/controller/AdminAnalyticsController.java server/src/main/java/com/emotion/config/WebMvcConfig.java
|
||||
git commit -m "feat: expose analytics APIs"
|
||||
```
|
||||
|
||||
@@ -1323,7 +1323,7 @@ git commit -m "feat: add analytics admin dashboard"
|
||||
- [ ] **Step 1: Run backend tests**
|
||||
|
||||
```bash
|
||||
cd backend-single
|
||||
cd server
|
||||
mvn test
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user