29 lines
719 B
Markdown
29 lines
719 B
Markdown
# Story 1.3: Module Progress Update API
|
|
|
|
key: 1-3-module-progress-update-api
|
|
status: drafted
|
|
phase: backend-planning
|
|
note: Non-implementasi — kontrak & aturan idempotency saja.
|
|
|
|
## Ringkasan
|
|
Endpoint untuk mencatat progres belajar pengguna pada modul.
|
|
|
|
## Scope Backend
|
|
- Payload: { userId, moduleId, progressDelta, source }
|
|
- Idempotency key: header `Idempotency-Key`
|
|
- Persistence: aturan update (capped 0..100)
|
|
|
|
## Acceptance Gate
|
|
- Skema progres disetujui
|
|
- Idempotency & audit logging dibahas
|
|
|
|
## Kontrak (Outline)
|
|
- Route: POST /api/progress/module
|
|
- Request:
|
|
```
|
|
{ "userId":"u1", "moduleId":"m1", "progressDelta":10, "source":"lesson-view" }
|
|
```
|
|
- Response: 200
|
|
```
|
|
{ "moduleId":"m1", "totalProgress": 40 }
|
|
``` |