Consumer App & SDK Roadmap
Scope: Xây dựng SDK đa nền tảng và ứng dụng Consumer demo để kiểm thử, đảm bảo public API hoạt động trơn tru.
Mục tiêu
- SDK Composable Architecture: Lấy cảm hứng từ Directus SDK. SDK có thể mở rộng (
.with(rest()),.with(graphql())), hỗ trợ Typegen.
GraphQL (v1): adapter
.with(graphql())đã được triển khai (items: query + mutation). Xem GraphQL API Spec và ADR-009.
- NPM Package: Xây dựng build system (tsup) để đóng gói thư viện với định dạng ESM, CJS, DTS chuẩn bị publish.
- Consumer Demo: Ứng dụng Next.js làm ví dụ hướng dẫn sử dụng SDK (fetch data, hiển thị).
Task Breakdown
1. Refactor @lumibase/sdk
- Chuyển đổi kiến trúc sang Composable Client (
createLumiClient().with(...)). - Tách Core Logic ra khỏi Rest Implementation (VD:
src/rest/readItems.ts). - Thiết lập tsup builder, update
package.jsonđể export các endpoints chuẩn.
2. Update Studio CMS
- Migrate toàn bộ usage của
createLumiClientcũ sang syntax mới (trongapps/studio).
3. Khởi tạo Consumer App (apps/consumer)
- Tạo Next.js App Router boilerplate.
- Tích hợp
@lumibase/sdk. - Demo tính năng fetch items từ một collection bất kỳ thông qua SDK và SSR/CSR.