30 lines
765 B
Markdown
30 lines
765 B
Markdown
# Story 1.2: Course Detail Read API
|
|
|
|
key: 1-2-course-detail-read-api
|
|
status: drafted
|
|
phase: backend-planning
|
|
note: Non-implementasi — dokumentasi & kontrak saja.
|
|
|
|
## Ringkasan
|
|
Endpoint read-only untuk detail kursus termasuk modul dan lessons.
|
|
|
|
## Scope Backend
|
|
- Read detail: course fields (id, title, description, outcomes)
|
|
- Include: modules[{id,title,order}], lessons[{id,title,order,duration}]
|
|
|
|
## Acceptance Gate
|
|
- Kontrak API disetujui
|
|
- Konsistensi relasi data diverifikasi
|
|
|
|
## Kontrak (Outline)
|
|
- Route: GET /api/courses/{courseId}
|
|
- Response: 200
|
|
```
|
|
{
|
|
"id":"c1",
|
|
"title":"Basic Knife Skills",
|
|
"description":"...",
|
|
"modules":[{"id":"m1","title":"Intro","order":1}],
|
|
"lessons":[{"id":"l1","title":"Holding Knife","order":1,"duration":600}]
|
|
}
|
|
``` |