Skip to content

Sweatbuckets/week 06#77

Open
sweatbuckets wants to merge 8 commits intoBay-17th:mainfrom
sweatbuckets:sweatbuckets/week-06
Open

Sweatbuckets/week 06#77
sweatbuckets wants to merge 8 commits intoBay-17th:mainfrom
sweatbuckets:sweatbuckets/week-06

Conversation

@sweatbuckets
Copy link
Copy Markdown

@sweatbuckets sweatbuckets commented Mar 19, 2026

과제 제출 정보

주차: Week <06>

과제 유형:

  • 이론 (Theory Quiz)
  • 개발 (Dev Assignment)

구현 내용

  • 프랜차이즈 카페 aggregator Dapp 개발

  • NestJS로 오프체인 서버 구축 및 서명 위임

  • 서비스 아키텍처 설계

    Architecture

    flowchart LR
        U[User]
        FE[Frontend<br/>Next.js + wagmi + RainbowKit]
        BE[Backend<br/>NestJS + Prisma]
        DB[(PostgreSQL)]
    
        subgraph CHAIN[Sepolia]
            K[Kamin Contract]
            M[CafeMarket Contracts<br/>Starbucks / Twosome / Mega / Hollys]
        end
    
        U -->|wallet connect / order request| FE
        FE -->|GET menus / history / grass / summary| BE
        BE -->|read / write| DB
        BE -->|orderId, rewardAmount, signature| FE
        FE -->|confirmOrder| K
        K -->|recordOrder| M
        K -->|mint KAMIN| U
    
    Loading

Order Flow

sequenceDiagram
    participant U as User
    participant FE as Frontend
    participant BE as Backend
    participant DB as PostgreSQL
    participant K as Kamin
    participant M as CafeMarket

    U->>FE: 주문 요청
    FE->>BE: POST /order
    BE->>DB: 주문 저장
    BE-->>FE: orderId, rewardAmount, signature
    FE->>K: confirmOrder
    K->>M: recordOrder
    K-->>U: KAMIN mint
Loading

배운 점 (What I Learned)

이번 주에 배운 것 (2-3가지)

  1. wagmi, RainbowKit, Next.js App Router를 함께 사용해 실제 dApp 프론트 구조를 구성하는 방법을 배웠습니다.
  2. 백엔드에서 서명을 생성하고 프론트가 이를 받아 컨트랙트를 호출하는 오프체인-온체인 연동 흐름을 이해했습니다.
  3. Prisma와 PostgreSQL로 오프 체인에서 주문/메뉴/브랜드 데이터를 관리하고 이를 프론트와 연결하는 방법을 익혔습니다.
  4. 스마트 컨트랙트의 이벤트, 서명 검증, 마켓 화이트리스트 구조를 실제 서비스 형태로 적용해봤습니다.

어려웠던 점과 해결 방법

어려웠던 점:
Nest.JS 프레임워크를 오프체인 서버로 처음 써봤습니다.

해결 방법:
Codex에게 디비 연결, API 개발, 프론트 연동 등을 맡겼습니다.

질문 사항


체크리스트

테스트

  • forge build 성공
  • forge test 모든 테스트 통과

제출 규칙

  • 브랜치명이 {username}/week-{XX} 형식
  • .env 파일이 커밋에 포함되지 않음
  • 커밋 메시지가 규칙을 따름

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant