Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
ad4a4aa
feat: new OpenAPI (automated)
Jan 17, 2026
192f9ed
feat: new OpenAPI (automated)
Jan 17, 2026
af632e8
fix: 컴포넌트 네이밍 수정
HA-SEUNG-JEONG Jan 17, 2026
17a41fd
fix: createGroupStudy 임포트 경로 수정
HA-SEUNG-JEONG Jan 17, 2026
6844485
fix: 미션 생성 및 수정 모달에 날짜 비활성화 매처 추가
HA-SEUNG-JEONG Jan 17, 2026
3c671bd
fix: 'excludeMissionId'를 'editingMissionId'로 변경하여 편집 중인 미션 ID를 명확히 함
HA-SEUNG-JEONG Jan 17, 2026
c303486
fix: createMissionDateDisabledMatcher에서 코드 포맷 정리 및 콘솔 로그 수정
HA-SEUNG-JEONG Jan 17, 2026
1ad0efe
fix: 평가 및 과제 수정 모달의 코멘트 최대 길이를 1000자로 수정
HA-SEUNG-JEONG Jan 17, 2026
419d4e7
fix: 미션 생성 및 수정 모달에서 날짜 비활성화 매처를 개선하고 관련 코드 정리
HA-SEUNG-JEONG Jan 17, 2026
bb144cd
Merge pull request #339 from code-zero-to-one/feature/openapi-new
yeun38 Jan 19, 2026
2f32b05
Merge pull request #338 from code-zero-to-one/fix/mission
yeun38 Jan 19, 2026
9396286
fix:스터디 신청 상태 재호출
yeun38 Jan 19, 2026
15852fb
Merge pull request #340 from code-zero-to-one/fix/apply-btn
yeun38 Jan 19, 2026
d27d1ea
fix:모집중인 스터디 상태로 변경
yeun38 Jan 19, 2026
454c0e9
Merge pull request #341 from code-zero-to-one/fix/study-filtering
yeun38 Jan 19, 2026
cb60368
fix: 개설/수정 타입 분리
yeun38 Jan 19, 2026
9ee830f
Merge branch 'develop' into fix/edit-study
yeun38 Jan 19, 2026
e13054e
추가수정
yeun38 Jan 19, 2026
ae641d8
Merge pull request #342 from code-zero-to-one/fix/edit-study
yeun38 Jan 19, 2026
e13414d
fix: 회원가입 문제 해결
Hyeonjun0527 Jan 19, 2026
dad999a
fix: 로그삭제
Hyeonjun0527 Jan 19, 2026
3d8820b
Merge pull request #343 from code-zero-to-one/fix/sign-up
Hyeonjun0527 Jan 19, 2026
10d7381
Revert "fix: 회원가입 안되는 문제 해결"
Hyeonjun0527 Jan 19, 2026
ee42b30
Merge pull request #344 from code-zero-to-one/revert-343-fix/sign-up
Hyeonjun0527 Jan 19, 2026
1115f0c
fix: 회원가입 문제 해결
Hyeonjun0527 Jan 19, 2026
384b070
fix: 프리티어 적용
Hyeonjun0527 Jan 19, 2026
dca85ce
Merge pull request #345 from code-zero-to-one/fix/sign-up
Hyeonjun0527 Jan 20, 2026
41c1c06
fix: 한국 날짜 포맷 함수 추가 및 날짜 비교 로직 수정
HA-SEUNG-JEONG Jan 21, 2026
5a16b27
fix: 그룹 스터디 단계 UI 개선 및 질문 삭제 버튼 추가
HA-SEUNG-JEONG Jan 21, 2026
35cf9f4
fix: 스텝퍼 컴포넌트의 클래스 이름 처리 개선
HA-SEUNG-JEONG Jan 21, 2026
6ec6f32
fix: 버그수정
yeun38 Jan 21, 2026
f1c9254
fix: refetch 추가
yeun38 Jan 21, 2026
28eb0f5
fix:ui 버그 수정
yeun38 Jan 21, 2026
62dba65
fix:ui수정
yeun38 Jan 21, 2026
87d334d
fix: 유료스터디 레이아웃 수정
yeun38 Jan 21, 2026
3195ddf
fix: 스터디 개설일 다음날부터 날짜 선택 가능하도록 수정
HA-SEUNG-JEONG Jan 22, 2026
e34e597
fix: 날짜 비교 로직에서 오늘 날짜 포함하도록 수정
HA-SEUNG-JEONG Jan 22, 2026
5117e41
fix: Stepper 컴포넌트의 클래스 이름 처리 개선
HA-SEUNG-JEONG Jan 22, 2026
ae534bf
Merge pull request #346 from code-zero-to-one/fix/study
HA-SEUNG-JEONG Jan 22, 2026
b6055e6
fix: 숫자 입력 필드에서 유효하지 않은 값 입력 방지 기능 추가
HA-SEUNG-JEONG Jan 23, 2026
416a0c2
fix: 추가 수정
yeun38 Jan 24, 2026
8dade8a
Merge pull request #347 from code-zero-to-one/fix/peer-review
yeun38 Jan 24, 2026
b90bc81
docs: CLAUDE.md 파일 추가 및 프로젝트 가이드 작성
HA-SEUNG-JEONG Jan 24, 2026
6e71f97
docs: prettier 재적용
HA-SEUNG-JEONG Jan 24, 2026
5bef090
Merge pull request #348 from code-zero-to-one/claude
HA-SEUNG-JEONG Jan 24, 2026
96cebb6
fix: /login 경로 처리 로직 분리를 통한 접근 문제 해결
doyou1 Jan 24, 2026
fc3fe36
[-] prettier check
doyou1 Jan 24, 2026
51170bc
Merge branch 'develop' of https://github.com/code-zero-to-one/study-p…
HA-SEUNG-JEONG Jan 24, 2026
b0ab034
Merge pull request #349 from code-zero-to-one/feat/qnrr-801
doyou1 Jan 25, 2026
5cfbcc6
fix: 댓글 내용의 줄 바꿈 및 최소 너비 설정으로 UI 개선
HA-SEUNG-JEONG Jan 26, 2026
c9cc203
fix: 'Grade' 인터페이스의 'code' 속성을 'label'로 이름 변경
HA-SEUNG-JEONG Jan 26, 2026
8e9ac79
fix: 댓글 UI에서 최소 너비 설정 제거로 레이아웃 개선
HA-SEUNG-JEONG Jan 29, 2026
9aff360
fix : min-w-0 삭제
HA-SEUNG-JEONG Jan 29, 2026
4de1ff6
Merge pull request #350 from code-zero-to-one/fix/comment
HA-SEUNG-JEONG Jan 29, 2026
701a833
fix: break-all을 wrap-anywhere로 수정
HA-SEUNG-JEONG Jan 29, 2026
6250aa8
fix: min-w-0 추가
HA-SEUNG-JEONG Jan 29, 2026
ddb4eda
Merge pull request #351 from code-zero-to-one/fix/comment
HA-SEUNG-JEONG Jan 29, 2026
bb5d7bb
feat : 1:1 멘토링 리스트 페이지 구현
seong-jin-jo Jan 29, 2026
c55b3a7
fix : 1:1 스터디 공개페이지화
seong-jin-jo Jan 29, 2026
dec0ef5
fix : 모든페이지 상단 광고배너추가
seong-jin-jo Jan 29, 2026
74abc57
fix : 모든 페이지 레이아웃 맞춤
seong-jin-jo Jan 29, 2026
598b8fe
fix : 1:1스터디 화면에서 사이드바 제거
seong-jin-jo Jan 29, 2026
6b45a9b
feat : 1:1멘토링에 용휘,호수,동주님 노션 프로필 연결
seong-jin-jo Jan 29, 2026
d53c713
chore : Lint, Prettier 포메팅
seong-jin-jo Jan 29, 2026
0ab4e7e
Merge branch 'develop' of https://github.com/code-zero-to-one/study-p…
HA-SEUNG-JEONG Jan 30, 2026
ba8f111
fix: 알림 페이지 '모두 읽음 처리' 버튼 텍스트 개선
doyou1 Jan 30, 2026
d567fbc
Merge pull request #354 from code-zero-to-one/fix/qnrr-788
doyou1 Jan 30, 2026
aaf9ecc
fix : 토글버튼, 배너 스터디 신청시 본인인증 체크
seong-jin-jo Jan 30, 2026
3c7881e
feat : GA4 이벤트 태그 설정 (멘토 프로필, 멘토 등록하기)
seong-jin-jo Jan 30, 2026
38ab0e1
chore : prettier 포맷팅
seong-jin-jo Jan 30, 2026
d23e98a
Merge pull request #352 from code-zero-to-one/feat/GROWTH/one-to-one-…
seong-jin-jo Jan 30, 2026
fefd0d0
feat: 안전하게 그로스팀 신규 기능 추가
Hyeonjun0527 Jan 31, 2026
b228cba
Merge pull request #355 from code-zero-to-one/release/growth-team-new…
Hyeonjun0527 Jan 31, 2026
4aa8fe3
Merge pull request #356 from code-zero-to-one/fix-mission
HA-SEUNG-JEONG Jan 31, 2026
13df025
fix: 수정된 평가 양식의 등급 옵션 라벨 및 값 업데이트, 불필요한 코드 제거
HA-SEUNG-JEONG Jan 31, 2026
8aaebdb
Merge branch 'develop' of https://github.com/code-zero-to-one/study-p…
HA-SEUNG-JEONG Jan 31, 2026
fae3faf
fix: 평가 및 미션 모달의 날짜 유효성 메시지 수정, 등급 옵션 라벨 업데이트
HA-SEUNG-JEONG Jan 31, 2026
6e90faf
Merge pull request #357 from code-zero-to-one/fix-mission
HA-SEUNG-JEONG Jan 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 99 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# CLAUDE.md

이 파일은 Claude Code(claude.ai/code)가 본 저장소의 코드를 다룰 때 참고하는 가이드입니다.

## 프로젝트 개요

ZERO-ONE 스터디 플랫폼 — 매일 아침을 함께 시작하는 1:1 기상 스터디 플랫폼. Next.js 15 (App Router), React 19, TypeScript 5, Tailwind CSS 4 기반. 패키지 매니저는 **Yarn 1.22+**, Node.js >=20 필요.

## 명령어

```bash
yarn dev # Turbopack 개발 서버 실행
yarn build # 프로덕션 빌드
yarn lint # ESLint 검사
yarn lint:fix # ESLint 자동 수정
yarn typecheck # TypeScript 타입 검사 (tsc --noEmit)
yarn prettier # Prettier 포맷 검사
yarn prettier:fix # Prettier 자동 포맷팅
yarn storybook # Storybook 개발 서버 (포트 6006)
yarn build-storybook # Storybook 빌드
yarn generate:api <이름> # API 쿼리 훅 보일러플레이트 생성 (예: yarn generate:api bank-search-api)
```

CI 파이프라인: lint → typecheck → prettier → build → build-storybook → 보안 감사.

## 아키텍처

### 라우팅 (Next.js App Router)

- `src/app/(landing)/` — 공개 랜딩 페이지 (`/`)
- `src/app/(service)/` — 인증 필요 서비스 페이지 (home, my-page, payment, premium-study 등)
- `src/app/(admin)/` — 관리자 페이지 (JWT의 `ROLE_ADMIN` 클레임으로 권한 보호)
- `src/middleware.ts` — 인증 처리: accessToken 쿠키 검증, `/api/v1/auth/access-token/refresh`로 자동 갱신, `/admin/*` 경로 관리자 권한 확인

### API 레이어

두 가지 통신 패턴이 공존:

1. **레거시 axios** (`src/api/client/axios.ts`): baseURL `/api/v1/`, 토큰 갱신 큐 구현 (AUTH001 에러 시 갱신 트리거). 커스텀 엔드포인트에 사용.
2. **OpenAPI 자동 생성** (`src/api/openapi/`): 백엔드 Swagger에서 자동 생성된 타입과 서비스. **`src/api/openapi/` 내 파일을 직접 수정 금지** — 재생성됨. ESLint에서 이 디렉토리 제외됨.

새 API 훅 추가 방법:

```bash
yarn generate:api <swagger-api-타이틀-이름>
# src/hooks/queries/<이름>.ts 파일 생성 (createApiInstance 보일러플레이트 포함)
```

생성된 파일에서 API 인스턴스를 사용해 TanStack Query 훅을 작성.

### 상태 관리

- **Zustand** (`src/stores/`): 전역 클라이언트 상태. `useUserStore` (유저 정보 persist), `useLeaderStore`.
- **TanStack Query** (`src/hooks/queries/`): 서버 상태. 도메인별 쿼리 훅 (study, payment, evaluation, peer-review, settlement 등). 기본 staleTime: 60초.
- **React Hook Form + Zod** (`src/types/schemas/`): 폼 상태 + 런타임 유효성 검증.

### 컴포넌트 구성

- `src/components/ui/` — shadcn/ui 기본 컴포넌트 (Button, Input, Dialog 등). 스타일: `new-york`. `components.json`에서 설정.
- `src/components/layout/` — Header, Sidebar, Footer
- `src/components/modals/`, `cards/`, `lists/`, `payment/`, `premium/` — 도메인별 그룹화된 컴포넌트
- `src/features/`, `src/entities/`, `src/widgets/` — 부분적 FSD (Feature-Sliced Design) 구조, 향후 타입 기반 구조로 통합 예정

### 스타일링

- Tailwind CSS 4 + `@tailwindcss/postcss` 플러그인
- 클래스 유틸리티: `clsx`, `tailwind-merge`, `class-variance-authority` (CVA)
- `prettier-plugin-tailwindcss`로 Tailwind 클래스 정렬
- `src/app/global.css`에서 CSS 변수로 테마 관리

### 인증 플로우

1. OAuth 로그인 (카카오/구글) → 서버에서 JWT access + refresh 토큰 발급
2. `accessToken`은 쿠키에 저장 (JS 접근 가능), `refresh_token`은 httpOnly 쿠키에 저장
3. Axios 인터셉터가 `AUTH001` 에러 감지 → 토큰 갱신 → 실패한 요청 재시도 (중복 갱신 방지를 위한 큐 사용)
4. 미들웨어가 서버 측에서 네비게이션 시 토큰 검증, 유효하지 않으면 `/`로 리다이렉트

### 경로 별칭

`@/*`는 `./src/*`에 매핑됨 (tsconfig.json에서 설정)

## 주요 컨벤션

- **커밋 메시지**: `feat:`, `fix:`, `refactor:`, `style:`, `docs:`, `test:`, `chore:`
- **브랜치 전략**: Feature 브랜치 → `develop` (스테이징: test.zeroone.it.kr) → `main` (프로덕션: www.zeroone.it.kr)
- **ESLint 설정**: RushStack 기반, strict TypeScript, React hooks, TanStack Query 플러그인, 임포트 정렬 (알파벳 + 그룹별)
- **Prettier**: 80자 너비, 작은따옴표, trailing comma, 2칸 들여쓰기
- **SVG 처리**: `@svgr/webpack`이 next.config.ts에 설정되어 SVG를 React 컴포넌트로 임포트 가능

## 환경 변수

개발에 필요한 주요 `NEXT_PUBLIC_*` 변수:

- `NEXT_PUBLIC_API_BASE_URL` — 백엔드 API 엔드포인트
- `NEXT_PUBLIC_KAKAO_CLIENT_ID` — 카카오 OAuth
- `NEXT_PUBLIC_GOOGLE_CLIENT_ID` — 구글 OAuth
- `NEXT_PUBLIC_TOSS_CLIENT_KEY` — 토스페이먼츠
- `NEXT_PUBLIC_CLARITY_PROJECT_ID` — Microsoft Clarity
- `NEXT_PUBLIC_GTM_ID` — Google Tag Manager
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
"date-fns": "^4.1.0",
"dayjs": "^1.11.18",
"embla-carousel-react": "^8.6.0",
"framer-motion": "^12.27.1",
"googleapis": "^164.1.0",
"lucide-react": "^0.475.0",
"next": "15.2.8",
Expand Down Expand Up @@ -106,8 +107,7 @@
"typescript-eslint": "^8.24.0",
"vitest": "^3.1.1"
},
"resolutions": {
"resolutions": {
"strip-ansi": "6.0.1"
}

}
22 changes: 22 additions & 0 deletions public/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"name": "ZERO-ONE - 개발자 스터디 플랫폼",
"short_name": "ZERO-ONE",
"description": "1:1, 그룹 스터디, 멘토링 등 다양한 방식의 학습을 지원하는 개발자 전문 스터디 플랫폼",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#000000",
"icons": [
{
"src": "/favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "/icons/logo.svg",
"sizes": "any",
"type": "image/svg+xml"
}
]
}

4 changes: 2 additions & 2 deletions src/api/openapi/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ docs/MatchingSystemStatusResponse.md
docs/MatchingSystemStatusSchema.md
docs/MemberAccountHistoryResponseDto.md
docs/MemberApi.md
docs/MemberCreationRequest.md
docs/MemberCreationRequestDto.md
docs/MemberCreationResponse.md
docs/MemberCreationResponseContent.md
docs/MemberFeature.md
Expand Down Expand Up @@ -480,7 +480,7 @@ models/matching-request-response.ts
models/matching-system-status-response.ts
models/matching-system-status-schema.ts
models/member-account-history-response-dto.ts
models/member-creation-request.ts
models/member-creation-request-dto.ts
models/member-creation-response-content.ts
models/member-creation-response.ts
models/member-feature.ts
Expand Down
30 changes: 15 additions & 15 deletions src/api/openapi/api/member-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError
// @ts-ignore
import type { ErrorResponse } from '../models';
// @ts-ignore
import type { MemberCreationRequest } from '../models';
import type { MemberCreationRequestDto } from '../models';
// @ts-ignore
import type { MemberCreationResponse } from '../models';
// @ts-ignore
Expand Down Expand Up @@ -203,13 +203,13 @@ export const MemberApiAxiosParamCreator = function (configuration?: Configuratio
/**
* 회원가입을 진행하는 엔드포인트 - nickname: 필수, 2~20자 한글/영문/숫자, 특수문자 불가 (중복 체크 필수) - loginId: 선택(소셜 로그인 시 비움), 일반 로그인용 식별자 - jobs: 선택, Enum 리스트 (최대 5개) 값 = [IT_NOBASE_BUSINESS_STARTUP, IT_NOBASE_AUTOMATION, IT_NOBASE_MY_SERVICE, IT_PRACTITIONER_PM_PO_PLANNING, IT_PRACTITIONER_FRONTEND, IT_PRACTITIONER_BACKEND, IT_PRACTITIONER_AI_ML, IT_PRACTITIONER_IOS, IT_PRACTITIONER_ANDROID, IT_PRACTITIONER_DEVOPS, IT_PRACTITIONER_DATA_ANALYSIS, IT_PRACTITIONER_QA, IT_PRACTITIONER_GAME_DEV, IT_PRACTITIONER_DESIGN, IT_PRACTITIONER_MARKETING, IT_PRACTITIONER_ETC] - career: 선택, Enum 값 = [BEGINNER, JOB_SEEKER, JUNIOR, MIDDLE, SENIOR] - studyFormatTypes: 선택, Enum 값 = [PROJECT, MENTORING, SEMINAR, CHALLENGE, BOOK_LECTURE] - goal: 선택, 자유 텍스트 입력(최대 100자) - imageExtension: 선택, Enum 값 = [DEFAULT, JPG, PNG, GIF, WEBP, SVG, JPEG]
* @summary [회원가입/로그인 팝업] 회원가입
* @param {MemberCreationRequest} memberCreationRequest
* @param {MemberCreationRequestDto} memberCreationRequestDto
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
signUp: async (memberCreationRequest: MemberCreationRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
// verify required parameter 'memberCreationRequest' is not null or undefined
assertParamExists('signUp', 'memberCreationRequest', memberCreationRequest)
signUp: async (memberCreationRequestDto: MemberCreationRequestDto, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
// verify required parameter 'memberCreationRequestDto' is not null or undefined
assertParamExists('signUp', 'memberCreationRequestDto', memberCreationRequestDto)
const localVarPath = `/api/v1/members`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
Expand All @@ -233,7 +233,7 @@ export const MemberApiAxiosParamCreator = function (configuration?: Configuratio
setSearchParams(localVarUrlObj, localVarQueryParameter);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
localVarRequestOptions.data = serializeDataIfNeeded(memberCreationRequest, localVarRequestOptions, configuration)
localVarRequestOptions.data = serializeDataIfNeeded(memberCreationRequestDto, localVarRequestOptions, configuration)

return {
url: toPathString(localVarUrlObj),
Expand Down Expand Up @@ -300,12 +300,12 @@ export const MemberApiFp = function(configuration?: Configuration) {
/**
* 회원가입을 진행하는 엔드포인트 - nickname: 필수, 2~20자 한글/영문/숫자, 특수문자 불가 (중복 체크 필수) - loginId: 선택(소셜 로그인 시 비움), 일반 로그인용 식별자 - jobs: 선택, Enum 리스트 (최대 5개) 값 = [IT_NOBASE_BUSINESS_STARTUP, IT_NOBASE_AUTOMATION, IT_NOBASE_MY_SERVICE, IT_PRACTITIONER_PM_PO_PLANNING, IT_PRACTITIONER_FRONTEND, IT_PRACTITIONER_BACKEND, IT_PRACTITIONER_AI_ML, IT_PRACTITIONER_IOS, IT_PRACTITIONER_ANDROID, IT_PRACTITIONER_DEVOPS, IT_PRACTITIONER_DATA_ANALYSIS, IT_PRACTITIONER_QA, IT_PRACTITIONER_GAME_DEV, IT_PRACTITIONER_DESIGN, IT_PRACTITIONER_MARKETING, IT_PRACTITIONER_ETC] - career: 선택, Enum 값 = [BEGINNER, JOB_SEEKER, JUNIOR, MIDDLE, SENIOR] - studyFormatTypes: 선택, Enum 값 = [PROJECT, MENTORING, SEMINAR, CHALLENGE, BOOK_LECTURE] - goal: 선택, 자유 텍스트 입력(최대 100자) - imageExtension: 선택, Enum 값 = [DEFAULT, JPG, PNG, GIF, WEBP, SVG, JPEG]
* @summary [회원가입/로그인 팝업] 회원가입
* @param {MemberCreationRequest} memberCreationRequest
* @param {MemberCreationRequestDto} memberCreationRequestDto
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async signUp(memberCreationRequest: MemberCreationRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MemberCreationResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.signUp(memberCreationRequest, options);
async signUp(memberCreationRequestDto: MemberCreationRequestDto, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MemberCreationResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.signUp(memberCreationRequestDto, options);
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
const localVarOperationServerBasePath = operationServerMap['MemberApi.signUp']?.[localVarOperationServerIndex]?.url;
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
Expand Down Expand Up @@ -361,12 +361,12 @@ export const MemberApiFactory = function (configuration?: Configuration, basePat
/**
* 회원가입을 진행하는 엔드포인트 - nickname: 필수, 2~20자 한글/영문/숫자, 특수문자 불가 (중복 체크 필수) - loginId: 선택(소셜 로그인 시 비움), 일반 로그인용 식별자 - jobs: 선택, Enum 리스트 (최대 5개) 값 = [IT_NOBASE_BUSINESS_STARTUP, IT_NOBASE_AUTOMATION, IT_NOBASE_MY_SERVICE, IT_PRACTITIONER_PM_PO_PLANNING, IT_PRACTITIONER_FRONTEND, IT_PRACTITIONER_BACKEND, IT_PRACTITIONER_AI_ML, IT_PRACTITIONER_IOS, IT_PRACTITIONER_ANDROID, IT_PRACTITIONER_DEVOPS, IT_PRACTITIONER_DATA_ANALYSIS, IT_PRACTITIONER_QA, IT_PRACTITIONER_GAME_DEV, IT_PRACTITIONER_DESIGN, IT_PRACTITIONER_MARKETING, IT_PRACTITIONER_ETC] - career: 선택, Enum 값 = [BEGINNER, JOB_SEEKER, JUNIOR, MIDDLE, SENIOR] - studyFormatTypes: 선택, Enum 값 = [PROJECT, MENTORING, SEMINAR, CHALLENGE, BOOK_LECTURE] - goal: 선택, 자유 텍스트 입력(최대 100자) - imageExtension: 선택, Enum 값 = [DEFAULT, JPG, PNG, GIF, WEBP, SVG, JPEG]
* @summary [회원가입/로그인 팝업] 회원가입
* @param {MemberCreationRequest} memberCreationRequest
* @param {MemberCreationRequestDto} memberCreationRequestDto
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
signUp(memberCreationRequest: MemberCreationRequest, options?: RawAxiosRequestConfig): AxiosPromise<MemberCreationResponse> {
return localVarFp.signUp(memberCreationRequest, options).then((request) => request(axios, basePath));
signUp(memberCreationRequestDto: MemberCreationRequestDto, options?: RawAxiosRequestConfig): AxiosPromise<MemberCreationResponse> {
return localVarFp.signUp(memberCreationRequestDto, options).then((request) => request(axios, basePath));
},
};
};
Expand Down Expand Up @@ -420,12 +420,12 @@ export class MemberApi extends BaseAPI {
/**
* 회원가입을 진행하는 엔드포인트 - nickname: 필수, 2~20자 한글/영문/숫자, 특수문자 불가 (중복 체크 필수) - loginId: 선택(소셜 로그인 시 비움), 일반 로그인용 식별자 - jobs: 선택, Enum 리스트 (최대 5개) 값 = [IT_NOBASE_BUSINESS_STARTUP, IT_NOBASE_AUTOMATION, IT_NOBASE_MY_SERVICE, IT_PRACTITIONER_PM_PO_PLANNING, IT_PRACTITIONER_FRONTEND, IT_PRACTITIONER_BACKEND, IT_PRACTITIONER_AI_ML, IT_PRACTITIONER_IOS, IT_PRACTITIONER_ANDROID, IT_PRACTITIONER_DEVOPS, IT_PRACTITIONER_DATA_ANALYSIS, IT_PRACTITIONER_QA, IT_PRACTITIONER_GAME_DEV, IT_PRACTITIONER_DESIGN, IT_PRACTITIONER_MARKETING, IT_PRACTITIONER_ETC] - career: 선택, Enum 값 = [BEGINNER, JOB_SEEKER, JUNIOR, MIDDLE, SENIOR] - studyFormatTypes: 선택, Enum 값 = [PROJECT, MENTORING, SEMINAR, CHALLENGE, BOOK_LECTURE] - goal: 선택, 자유 텍스트 입력(최대 100자) - imageExtension: 선택, Enum 값 = [DEFAULT, JPG, PNG, GIF, WEBP, SVG, JPEG]
* @summary [회원가입/로그인 팝업] 회원가입
* @param {MemberCreationRequest} memberCreationRequest
* @param {MemberCreationRequestDto} memberCreationRequestDto
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
public signUp(memberCreationRequest: MemberCreationRequest, options?: RawAxiosRequestConfig) {
return MemberApiFp(this.configuration).signUp(memberCreationRequest, options).then((request) => request(this.axios, this.basePath));
public signUp(memberCreationRequestDto: MemberCreationRequestDto, options?: RawAxiosRequestConfig) {
return MemberApiFp(this.configuration).signUp(memberCreationRequestDto, options).then((request) => request(this.axios, this.basePath));
}
}

Expand Down
10 changes: 5 additions & 5 deletions src/api/openapi/docs/MemberApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ const { status, data } = await apiInstance.getParticipatingStudies(
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **signUp**
> MemberCreationResponse signUp(memberCreationRequest)
> MemberCreationResponse signUp(memberCreationRequestDto)

회원가입을 진행하는 엔드포인트 - nickname: 필수, 2~20자 한글/영문/숫자, 특수문자 불가 (중복 체크 필수) - loginId: 선택(소셜 로그인 시 비움), 일반 로그인용 식별자 - jobs: 선택, Enum 리스트 (최대 5개) 값 = [IT_NOBASE_BUSINESS_STARTUP, IT_NOBASE_AUTOMATION, IT_NOBASE_MY_SERVICE, IT_PRACTITIONER_PM_PO_PLANNING, IT_PRACTITIONER_FRONTEND, IT_PRACTITIONER_BACKEND, IT_PRACTITIONER_AI_ML, IT_PRACTITIONER_IOS, IT_PRACTITIONER_ANDROID, IT_PRACTITIONER_DEVOPS, IT_PRACTITIONER_DATA_ANALYSIS, IT_PRACTITIONER_QA, IT_PRACTITIONER_GAME_DEV, IT_PRACTITIONER_DESIGN, IT_PRACTITIONER_MARKETING, IT_PRACTITIONER_ETC] - career: 선택, Enum 값 = [BEGINNER, JOB_SEEKER, JUNIOR, MIDDLE, SENIOR] - studyFormatTypes: 선택, Enum 값 = [PROJECT, MENTORING, SEMINAR, CHALLENGE, BOOK_LECTURE] - goal: 선택, 자유 텍스트 입력(최대 100자) - imageExtension: 선택, Enum 값 = [DEFAULT, JPG, PNG, GIF, WEBP, SVG, JPEG]

Expand All @@ -204,24 +204,24 @@ const { status, data } = await apiInstance.getParticipatingStudies(
import {
MemberApi,
Configuration,
MemberCreationRequest
MemberCreationRequestDto
} from './api';

const configuration = new Configuration();
const apiInstance = new MemberApi(configuration);

let memberCreationRequest: MemberCreationRequest; //
let memberCreationRequestDto: MemberCreationRequestDto; //

const { status, data } = await apiInstance.signUp(
memberCreationRequest
memberCreationRequestDto
);
```

### Parameters

|Name | Type | Description | Notes|
|------------- | ------------- | ------------- | -------------|
| **memberCreationRequest** | **MemberCreationRequest**| | |
| **memberCreationRequestDto** | **MemberCreationRequestDto**| | |


### Return type
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# MemberCreationRequest
# MemberCreationRequestDto


## Properties
Expand All @@ -17,9 +17,9 @@ Name | Type | Description | Notes
## Example

```typescript
import { MemberCreationRequest } from './api';
import { MemberCreationRequestDto } from './api';

const instance: MemberCreationRequest = {
const instance: MemberCreationRequestDto = {
loginId,
nickname,
name,
Expand Down
8 changes: 6 additions & 2 deletions src/api/openapi/docs/TossWebhookPayload.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@ Name | Type | Description | Notes
**eventType** | **string** | | [optional] [default to undefined]
**createdAt** | **string** | | [optional] [default to undefined]
**data** | [**PaymentData**](PaymentData.md) | | [optional] [default to undefined]
**paymentStatusChanged** | **boolean** | | [optional] [default to undefined]
**paymentRelatedEvent** | **boolean** | | [optional] [default to undefined]
**latestCancel** | [**CancelData**](CancelData.md) | | [optional] [default to undefined]
**paymentStatusChanged** | **boolean** | | [optional] [default to undefined]
**depositCallback** | **boolean** | | [optional] [default to undefined]

## Example

Expand All @@ -20,8 +22,10 @@ const instance: TossWebhookPayload = {
eventType,
createdAt,
data,
paymentStatusChanged,
paymentRelatedEvent,
latestCancel,
paymentStatusChanged,
depositCallback,
};
```

Expand Down
2 changes: 1 addition & 1 deletion src/api/openapi/models/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ export * from './matching-request-response';
export * from './matching-system-status-response';
export * from './matching-system-status-schema';
export * from './member-account-history-response-dto';
export * from './member-creation-request';
export * from './member-creation-request-dto';
export * from './member-creation-response';
export * from './member-creation-response-content';
export * from './member-feature';
Expand Down
Loading
Loading