Skip to content

diffsome/demo2.diffsome.com

Repository files navigation

Promptly SDK - Reference Implementation

Promptly SDK 연동 패턴을 참고하기 위한 레퍼런스 코드입니다.

디자인/테마는 포함되어 있지 않습니다. 자유롭게 만드세요!

참고할 핵심 파일

src/core/
├── lib/promptly.ts         # SDK 클라이언트 초기화
├── providers/
│   ├── AuthProvider.tsx    # 인증 상태 관리
│   └── CartProvider.tsx    # 장바구니 상태 관리
└── hooks/
    ├── useProducts.ts      # 상품 목록 조회
    ├── useProduct.ts       # 상품 상세 조회
    ├── useOrders.ts        # 주문 관리
    ├── usePayment.ts       # 결제 처리
    ├── useBlog.ts          # 블로그 조회
    └── useBoard.ts         # 게시판 조회

기술 스택

  • Next.js 15 (App Router)
  • TypeScript
  • Tailwind CSS
  • @back23/promptly-sdk

환경 변수

NEXT_PUBLIC_PROMPTLY_TENANT_ID=your_tenant_id
NEXT_PUBLIC_PROMPTLY_API_KEY=pky_your_api_key_here
NEXT_PUBLIC_PROMPTLY_BASE_URL=https://promptly.webbyon.com

SDK 사용 예시

클라이언트 초기화

// src/core/lib/promptly.ts
import { Promptly } from '@back23/promptly-sdk';

export const getClient = () => new Promptly({
  tenantId: process.env.NEXT_PUBLIC_PROMPTLY_TENANT_ID!,
  apiKey: process.env.NEXT_PUBLIC_PROMPTLY_API_KEY!,
});

인증 Provider

// src/core/providers/AuthProvider.tsx 참고
const { user, login, logout, isAuthenticated } = useAuth();

장바구니 Provider

// src/core/providers/CartProvider.tsx 참고
const { items, addToCart, removeItem, total } = useCart();

상품 조회

// src/core/hooks/useProducts.ts 참고
const { products, loading } = useProducts({ category: 'shoes' });

결제 처리

// src/core/hooks/usePayment.ts 참고
const { preparePayment, confirmPayment } = usePayment();

구현된 기능

  • 상품 목록/상세/옵션 선택
  • 장바구니/체크아웃
  • 토스페이먼츠 결제
  • 블로그 (댓글)
  • 게시판 (CRUD, 댓글)
  • 상품 리뷰
  • 회원 인증 (JWT)

문서

라이선스

MIT

About

Diffsome demo site - demo2.diffsome.com

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages