공급업체 감사
AI 에이전트로 구축
식품 공급업체 감사 백엔드

식품 공급업체 감사 앱 백엔드 템플릿
GFSI 인증 로그 및 시설 감사 추적

생산 준비 완료된 식품 공급업체 감사 백엔드가 Back4app에 있습니다. 관리자는 GFSI 인증 로그, 시설 사진, 및 비준수 문제를 AI 에이전트 프롬프트, ER 다이어그램, 데이터 딕셔너리, 및 API 플레이그라운드로 추적할 수 있습니다.

주요 요점

이 템플릿은 식품 공급자 감사 팀에 GFSI 인증 로그, 시설 사진 및 비준수 추적을 위한 백엔드를 제공하며, 데이터 모델을 처음부터 설계할 필요가 없습니다.

  1. GFSI 인증 로그GFSILog 클래스에 검사 날짜, 인증서 참조 및 검토 결과를 저장합니다.
  2. 시설 사진 증거타임스탬프가 있는 FacilityPhoto 기록을 감사에 첨부하여 현장 팀이 발견한 내용을 문서화할 수 있도록 합니다.
  3. 비준수 추적명확한 상태 및 기한이 있는 NonCompliance 항목을 열고, 할당하고, 마감합니다.
  4. 공급업체 및 감사 이력공급업체, 감사 및 감사를 할당하는 포인터를 사용하여 각 사이트 리뷰를 올바른 시설에 연결합니다.
  5. 모바일 및 웹을 위한 단일 백엔드귀하의 프런트엔드를 통해 하나의 REST 및 GraphQL API를 통해 관리자와 검사자에게 서비스를 제공합니다.

개요: 식품 공급업체 감사 앱

감사팀이 이력을 수동으로 재구성하지 않아도 되므로 감사는 충분히 비쌉니다. 타임스탬프가 있는 워크플로우는 스스로 비용을 충당합니다. 세부정보는 선택 사항이 아닙니다. 이 템플릿은 감사 추적이 내장된 Back4app에서 감사인, 공급업체, 감사, 시설 사진 및 GFSILog를 구조화하여 식품 공급업체 감사 리뷰가 방어 가능한 타임라인을 보여줄 수 있도록 합니다. 스키마는 감사인(이름, 이메일, 역할), 공급업체(공급업체 이름, 사이트 위치, 연락처 이름), 감사(공급업체, 감사 날짜, 결과, 메모), 시설 사진(감사, 이미지, 캡션, 촬영 시), GFSILog(감사, 인증서 ID, 표준, 발행일, 만료일) 및 비준수(감사, 심각도, 상태, 시정 조치, 기한)를 포함하며, 인증, 감사 추적 및 사진 기반 리뷰 흐름이 포함되어 있습니다.

최고의 용도:

식품 공급업체 감사 프로그램GFSI 인증 추적시설 검사 모바일 앱비준수 문제 관리운영 및 품질 팀공급업체 감사에 BaaS를 선택하는 팀

이 식품 공급업체 감사 백엔드는 어떻게 구성되는가

식품 공급업체 감사는 단순히 속도에 관한 것이 아니라, 누군가 “어떻게 그게 사실인지 알았는지 보여줘”라고 물었을 때 방어 가능성에 관한 것입니다.

Flutter, React, Next.js 또는 다른 지원되는 경로에서 시작하더라도 같은 감사자, 공급업체 및 감사가 제공됩니다.

핵심 식품 공급업체 감사 기능

이 허브의 모든 기술 카드에는 Auditor, Supplier, Audit, FacilityPhoto, GFSILog 및 NonCompliance를 포함하는 동일한 공급자 감사 백엔드 스키마가 사용됩니다.

감사자 계정 및 할당

감사자는 관리자 및 현장 직원의 이름, 이메일 및 역할을 저장합니다.

공급업체 사이트 프로필

공급업체는 supplierName, siteLocation 및 contactName을 추적합니다.

GFSI 인증 기록

GFSILog은 certificateId, standard, issuedAt 및 expiresAt을 저장합니다.

시설 사진 증거

FacilityPhoto는 이미지를 감사에 대한 캡션 및 촬영 날짜와 연결합니다.

비준수 추적

NonCompliance는 심각도, 상태, 시정 조치 및 기한을 저장합니다.

왜 Back4app로 식품 공급업체 감사 앱 백엔드를 구축해야 하나요?

Back4app는 감사 팀에게 공급업체 방문, GFSI 증거 및 비준수 후속 조치를 저장할 수 있는 깨끗한 방법을 제공하며, API 및 인증 모델을 한 곳에 유지합니다.

  • 실제 스키마가 있는 감사 기록: Audit 클래스는 각 방문을 Supplier에 연결하며, GFSILog는 검토를 위해 certificateId, standard, issuedAt 및 expiresAt을 함께 유지합니다.
  • 시설 사진이 첨부됩니다.: FacilityPhoto 기록은 소속된 감사로 되돌아가므로, 검사자는 파일 덤프를 검색하는 대신 사이트와 방문별로 이미지를 정렬할 수 있습니다.
  • 비준수가 조치를 취할 수 있도록 유지됩니다.: 검사가 종료된 후 주의를 필요로 하는 사항을 추적하기 위해 severity, status, correctiveAction 및 dueDate와 같은 NonCompliance 필드를 사용하십시오.

검사, 사진 증거 및 시정 조치를 하나의 API 계약으로 유지하는 공급업체 감사 백엔드를 출시하세요.

핵심 이점

검사를 기록하고, 증거를 관리하며, 재작업을 줄이면서 문제를 해결하는 데 도움을 주는 공급자 감사 백엔드입니다.

더 빠른 감사 설정

첫 번째 현장 방문이 이미 예정되어 있는 후 모든 필드를 정의하는 대신 Supplier, Audit 및 GFSILog 클래스로 시작합니다.

사진 기반 조사 결과

모든 비준수 항목을 정확한 시설 이미지와 비교할 수 있도록 Audit에 FacilityPhoto를 연결합니다.

명확한 시정 조치 추적

NonCompliance.status 및 NonCompliance.dueDate를 사용하여 열려 있는 항목, 기한이 지난 항목 또는 확인된 항목을 표시합니다.

일관된 공급업체 이력

관련 감사가 포함된 공급업체 기록을 조회하여 사이트가 검사에서 어떻게 수행되었는지 확인하십시오.

모든 감사 클라이언트를 위한 하나의 API

REST 및 GraphQL는 웹 대시보드, 모바일 검사 앱 및 백오피스 검토 화면을 지원합니다.

프롬프트 기반 출시

AI Agent를 통해 공급업체 감사에 대한 백엔드 골격, 인증 규칙 및 시드 데이터를 생성합니다.

식품 공급업체 감사 앱을 출시할 준비가 되셨습니까?

Back4app AI Agent가 귀하의 공급업체 감사 백엔드를 골격화하고 하나의 프롬프트에서 GFSI 로그, 시설 사진 및 비준수 흐름을 생성하게 하십시오.

무료 시작 — 월 50개의 AI 에이전트 프롬프트, 신용카드 필요 없음

기술 스택

이 식품 공급업체 감사 백엔드 템플릿에 포함된 모든 것.

프론트엔드
13개 이상의 기술
백엔드
Back4app
데이터베이스
MongoDB
인증
내장 인증 + 세션
API
REST 및 GraphQL
실시간
Live Queries

ER 다이어그램

식품 공급업체 감사 백엔드 스키마에 대한 엔터티 관계 모델.

다이어그램 소스 보기
Mermaid
erDiagram
    Auditor ||--o{ FacilityAudit : "audits"
    Supplier ||--o{ FacilityAudit : "site"
    FacilityAudit ||--o{ FacilityPhoto : "evidence"
    FacilityAudit ||--o{ GfsiCertificationLog : "references"
    FacilityAudit ||--o{ NonComplianceFinding : "finds"
    FacilityAudit ||--o{ AuditComment : "commented on"
    Supplier ||--o{ FacilityPhoto : "site"
    Supplier ||--o{ GfsiCertificationLog : "certification log"
    Supplier ||--o{ NonComplianceFinding : "supplier"
    Auditor ||--o{ AuditComment : "author"

    Auditor {
        String objectId PK
        String username
        String email
        String password
        String role
        Date createdAt
        Date updatedAt
    }

    Supplier {
        String objectId PK
        String supplierCode
        String name
        String siteType
        String status
        String primaryContact
        Date createdAt
        Date updatedAt
    }

    FacilityAudit {
        String objectId PK
        String auditNumber
        String supplierId FK
        String auditorId FK
        Date auditDate
        String auditType
        Number overallScore
        String gfsiStatus
        String notes
        Date createdAt
        Date updatedAt
    }

    FacilityPhoto {
        String objectId PK
        String auditId FK
        String supplierId FK
        String photoUrl
        String caption
        String photoType
        Date takenAt
        Date createdAt
        Date updatedAt
    }

    GfsiCertificationLog {
        String objectId PK
        String supplierId FK
        String auditId FK
        String certificateName
        String certificateNumber
        Date issuedAt
        Date expiresAt
        String verificationStatus
        String documentUrl
        Date createdAt
        Date updatedAt
    }

    NonComplianceFinding {
        String objectId PK
        String auditId FK
        String supplierId FK
        String findingCode
        String severity
        String description
        String correctiveAction
        Date dueDate
        Date closedAt
        Date createdAt
        Date updatedAt
    }

    AuditComment {
        String objectId PK
        String auditId FK
        String authorId FK
        String commentText
        Date createdAt
        Date updatedAt
    }

통합 흐름

로그인, 공급업체 검토, GFSI 로그 캡처, 시설 사진 업로드 및 비준수 후속 조치에 대한 일반적인 런타임 흐름.

다이어그램 소스 보기
Mermaid
sequenceDiagram
  participant User
  participant App as Food Supplier Audit App
  participant Back4app as Back4app Cloud

  User->>App: Sign in to the audit dashboard
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: Open supplier audit list
  App->>Back4app: GET /classes/FacilityAudit?include=supplier,auditor&order=-auditDate
  Back4app-->>App: FacilityAudit rows

  User->>App: Add GFSI certification log
  App->>Back4app: POST /classes/GfsiCertificationLog
  Back4app-->>App: GfsiCertificationLog objectId

  User->>App: Upload facility photo and non-compliance finding
  App->>Back4app: POST /classes/FacilityPhoto
  App->>Back4app: POST /classes/NonComplianceFinding
  Back4app-->>App: Photo and finding saved

  App->>Back4app: Subscribe to audit updates
  Back4app-->>App: LiveQuery pushes updated audits

데이터 사전

식품 공급업체 감사 스키마의 모든 클래스에 대한 필드 수준 참조입니다.

필드유형설명필수
objectIdStringAuto-generated unique identifier자동
usernameStringAuditor login name
emailStringAuditor email address
passwordStringHashed password (write-only)
roleStringRole of the user (e.g., manager, coordinator, field_staff)
createdAtDateAuto-generated creation timestamp자동
updatedAtDateAuto-generated last-update timestamp자동

7 필드가 Auditor에 있습니다.

보안 및 권한

ACL 및 CLP 규칙이 감사자, 공급업체 기록, 감사 노트, 시설 사진 및 불이행 항목을 어떻게 보호하는지에 대한 설명입니다.

감사자 프로필 컨트롤

등록된 감사자만 자신의 감사자 기록을 변경할 수 있으며, 다른 사용자는 역할이나 이메일 필드를 수정할 수 없습니다.

공급자 및 감사 소유권

클라우드 코드를 사용하여 허가된 코디네이터만 자신의 프로그램에 대한 공급자, 감사 및 GFSILog 기록을 생성하거나 수정할 수 있습니다.

사진 및 발견 접근

시설 사진 및 비준수 읽기를 감사 팀과 승인된 검토자에게 제한하되, 사이트 증거가 제한되어야 할 때 특히 그러합니다.

스키마 JSON

복사하여 Back4app에 붙여넣거나 구현 참조로 사용할 수 있는 원시 JSON 스키마 정의입니다.

JSON
{
  "classes": [
    {
      "className": "Auditor",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "role": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Supplier",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "supplierCode": {
          "type": "String",
          "required": true
        },
        "name": {
          "type": "String",
          "required": true
        },
        "siteType": {
          "type": "String",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "primaryContact": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "FacilityAudit",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "auditNumber": {
          "type": "String",
          "required": true
        },
        "supplier": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Supplier"
        },
        "auditor": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Auditor"
        },
        "auditDate": {
          "type": "Date",
          "required": true
        },
        "auditType": {
          "type": "String",
          "required": true
        },
        "overallScore": {
          "type": "Number",
          "required": false
        },
        "gfsiStatus": {
          "type": "String",
          "required": true
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "FacilityPhoto",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "audit": {
          "type": "Pointer",
          "required": true,
          "targetClass": "FacilityAudit"
        },
        "supplier": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Supplier"
        },
        "photoUrl": {
          "type": "String",
          "required": true
        },
        "caption": {
          "type": "String",
          "required": false
        },
        "photoType": {
          "type": "String",
          "required": true
        },
        "takenAt": {
          "type": "Date",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "GfsiCertificationLog",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "supplier": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Supplier"
        },
        "audit": {
          "type": "Pointer",
          "required": false,
          "targetClass": "FacilityAudit"
        },
        "certificateName": {
          "type": "String",
          "required": true
        },
        "certificateNumber": {
          "type": "String",
          "required": true
        },
        "issuedAt": {
          "type": "Date",
          "required": true
        },
        "expiresAt": {
          "type": "Date",
          "required": true
        },
        "verificationStatus": {
          "type": "String",
          "required": true
        },
        "documentUrl": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "NonComplianceFinding",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "audit": {
          "type": "Pointer",
          "required": true,
          "targetClass": "FacilityAudit"
        },
        "supplier": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Supplier"
        },
        "findingCode": {
          "type": "String",
          "required": true
        },
        "severity": {
          "type": "String",
          "required": true
        },
        "description": {
          "type": "String",
          "required": true
        },
        "correctiveAction": {
          "type": "String",
          "required": false
        },
        "dueDate": {
          "type": "Date",
          "required": false
        },
        "closedAt": {
          "type": "Date",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "AuditComment",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "audit": {
          "type": "Pointer",
          "required": true,
          "targetClass": "FacilityAudit"
        },
        "author": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Auditor"
        },
        "commentText": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

AI 에이전트로 구축하기

이 템플릿을 사용하여 Back4app AI 에이전트를 통해 실제 식품 공급업체 감사 앱을 생성하세요. 이 앱은 프론트엔드, 백엔드, 인증 및 GFSI 로그, 사진 및 비준수 흐름을 포함합니다.

Back4app AI 에이전트
빌드할 준비가 완료되었습니다
Back4app에서 이 정확한 스키마와 동작으로 식품 공급업체 감사 앱 백엔드를 생성하세요.

스키마:
1. 감사자: 이름 (문자열, 필수), 이메일 (문자열, 필수), 역할 (문자열, 필수); objectId, createdAt, updatedAt (시스템).
2. 공급업체: 공급업체 이름 (문자열, 필수), 사이트 위치 (문자열, 필수), 연락처 이름 (문자열), 연락처 이메일 (문자열); objectId, createdAt, updatedAt (시스템).
3. 감사: 공급업체 (공급업체에 대한 포인터, 필수), 감사자 (감사자에 대한 포인터, 필수), 감사 날짜 (날짜, 필수), 결과 (문자열, 필수), 비고 (문자열); objectId, createdAt, updatedAt (시스템).
4. 시설 사진: 감사 (감사에 대한 포인터, 필수), 이미지 (파일, 필수), 캡션 (문자열), 촬영일 (날짜, 필수); objectId, createdAt, updatedAt (시스템).
5. GFSILog: 감사 (감사에 대한 포인터, 필수), 인증서 ID (문자열, 필수), 표준 (문자열, 필수), 발급일 (날짜, 필수), 만료일 (날짜, 필수); objectId, createdAt, updatedAt (시스템).
6. 비준수: 감사 (감사에 대한 포인터, 필수), 심각도 (문자열, 필수), 상태 (문자열, 필수), 시정 조치 (문자열), 마감일 (날짜); objectId, createdAt, updatedAt (시스템).

보안:
- 감사자는 본인 프로필만 관리합니다. 클라우드 코드를 사용하여 허가된 코디네이터만 공급업체, 감사 및 GFSILog 레코드를 생성하거나 수정할 수 있습니다. 시설 사진 및 비준수 읽기는 감사 팀으로 제한합니다.

인증:
- 가입, 로그인, 로그아웃.

동작:
- 공급업체 목록 나열, 감사 기록, 시설 사진 업로드, GFSI 인증 세부 정보 등록 및 비준수 항목 열기 또는 닫기.

아래 버튼을 눌러 이 템플릿 프롬프트가 미리 채워진 에이전트를 엽니다.

이것은 기술 접미사가 없는 기본 프롬프트입니다. 생성된 프론트엔드 스택을 나중에 조정할 수 있습니다.

몇 분 안에 배포한 달에 50개의 무료 프롬프트신용카드가 필요하지 않습니다

API 놀이터

공급자 감사 스키마에 대해 REST 및 GraphQL 엔드포인트를 사용해보세요. 응답은 모의 데이터를 사용하며 Back4app 계정이 필요하지 않습니다.

플레이그라운드 로딩 중…

이 템플릿과 같은 스키마를 사용합니다.

기술 선택

각 카드를 확장하여 선택한 기술 스택과 감사인, 공급업체 및 감사 통합 방법을 확인하세요.

Flutter 식품 공급업체 감사 백엔드

React 식품 공급업체 감사 백엔드

React 네이티브 식품 공급업체 감사 백엔드

Next.js 식품 공급업체 감사 백엔드

JavaScript 식품 공급업체 감사 백엔드

Android 식품 공급업체 감사 백엔드

iOS 식품 공급업체 감사 백엔드

Vue 식품 공급업체 감사 백엔드

Angular 식품 공급업체 감사 백엔드

GraphQL 식품 공급업체 감사 백엔드

REST API 식품 공급업체 감사 백엔드

PHP 식품 공급업체 감사 백엔드

.NET 식품 공급업체 감사 백엔드

각 기술로 얻는 것

모든 스택은 동일한 식품 공급업체 감사 백엔드 스키마 및 API 계약을 사용합니다.

통합 공급업체-감사 데이터 구조

감사자, 공급업체, 감사, 시설 사진, GFSI 로그 및 비 준수 항목을 하나의 모델을 통해 작업하십시오.

현장 검사를 위한 사진 증거

감사를 수행한 시설 이미지와 함께 저장하고, 별도의 파일 시스템에는 저장하지 마십시오.

GFSI 및 후속 추적

관리자와 조정자가 쿼리할 수 있도록 인증서 세부 정보와 교정 조치를 유지하십시오.

역할 인식 감사 워크플로

필드 직원, 조정자 및 검토자의 접근을 동일한 백엔드 규칙을 사용하여 정의하십시오.

REST/GraphQL 공급업체 감사 API

유연한 API 접근을 통해 모바일, 웹 및 백오피스 화면을 통합하십시오.

식품 공급업체 감사 프레임워크 비교

모든 지원 기술에 걸쳐 설정 속도, SDK 스타일 및 AI 지원을 비교합니다.

프레임워크설정 시간식품 공급업체 감사 혜택SDK 유형AI 지원
약 5분모바일 및 웹에서 공급업체 감사용 단일 코드베이스입니다.타입된 SDK전체
5분 이내감사 관리자용 빠른 웹 대시보드입니다.타입된 SDK전체
약 3–7분현장 감사를 위한 크로스 플랫폼 모바일 앱입니다.타입된 SDK전체
신속한 (5분) 설정공급업체 리뷰를 위한 서버 렌더링 웹 앱입니다.작성된 SDK전체
~3–5분감사 워크플로우를 위한 경량 웹 통합입니다.작성된 SDK전체
약 5분사이트 검사를 위한 네이티브 Android 앱입니다.작성된 SDK전체
5분 이내사진 기반 감사용 네이티브 iPhone 앱입니다.작성된 SDK전체
~3–7 분품질 팀을 위한 React 웹 UI입니다.타입된 SDK전체
빠른 (5 분) 설정공급업체 준수를 위한 엔터프라이즈 웹 앱입니다.타입된 SDK전체
2 분 이내감사 대시보드를 위한 유연한 GraphQL API입니다.GraphQL API전체
빠른 (2분) 설정감사 도구를 위한 REST API 통합.REST API전체
약 3분감사 포털을 위한 서버 측 PHP 백엔드.REST API전체
약 3–7분공급업체 감사 시스템을 위한 .NET 백엔드.타입된 SDK전체

설정 시간은 이 템플릿 스키마를 사용하여 프로젝트 부트스트랩부터 첫 번째 공급업체 또는 감사 쿼리까지의 예상 기간을 반영합니다.

자주 묻는 질문

이 템플릿을 사용하여 식품 공급업체 감사 백엔드를 구축하는 것에 대한 일반적인 질문들입니다.

신뢰할 수 있는 식품 공급업체 감사의 감사 추적이 처음부터 끝까지 어떻게 생겼나요?
감사자 계정과 할당, 공급업체 사이트 프로필, GFSI 인증 로그 간의 관계는 식품 공급업체 감사 이야기를 쉽게 만들어줍니다.
재설계 없이 식품 공급업체 감사 위험 점수 또는 예외 큐를 추가할 수 있나요?
어떻게 Flutter에서 공급자 사이트를 로드하나요?
Next.js는 감사 제출을 안전하게 처리할 수 있나요?
React Native는 GFSI 로그를 오프라인으로 유지할 수 있나요?
무단 감사 편집을 어떻게 중지할 수 있나요?
Android에서 시설 사진을 표시하는 가장 좋은 방법은 무엇인가요?
비준수 워크플로우는 끝에서 끝까지 어떻게 작동하나요?
Parse 수업은 이 식품 공급업체 감사 템플릿에 어떻게 활용되나요?

전 세계 개발자들이 신뢰함

식품 공급업체 감사 제품을 더 빠르게 배송하는 팀에 Back4app 템플릿을 사용하여 가입하세요.

G2 Users Love Us Badge

식품 공급업체 감사 앱을 구축할 준비가 되셨나요?

몇 분 만에 식품 공급업체 감사 프로젝트를 시작하세요. 신용 카드 불필요합니다.

기술 선택하기