/api/v1/
├── attend/
│ ├── POST /conference # 컨퍼런스 출석 등록
│ ├── POST /program/{programId} # 프로그램 출석 (코드 입력)
│ ├── POST /booth/{boothId} # 부스 출석
├── user/
│ ├── GET /{userId} # 유저 상세 정보
├── game/
│ ├── GET /{gameId} # 게임 정보
│ ├── POST /{gameId}/start # 게임 시작
│ └── POST /{gameId}/finish # 게임 종료/우승
├── bet/
│ └── POST / # 베팅 등록
└── ticket/
├── GET /range # 응모권 번호 범위
- 출석 체크: 컨퍼런스, 프로그램, 부스 출석 및 응모권 발급
- 프로그램 관리: 프로그램 목록/상세/출석코드 제공
- 유저 관리: 유저 상세, 전체 유저 요약, 출석/응모권/베팅 정보
- 게임 & 베팅: 게임 생성/진행/종료, 팀 베팅
- 럭키드로우: 응모권 번호 범위 등
| 필드 | 타입 | 설명 |
|---|---|---|
| ticketId | integer | 응모권 고유 ID |
| userId | string | 발급 대상 유저 |
| sourceType | string | 발급 출처 (conference/session/hands-on/...) |
| sourceId | string | 출처 ID |
| issuedAt | datetime | 발급 시간 |
| 필드 | 타입 | 설명 |
|---|---|---|
| programId | string | 프로그램 ID |
| title | string | 제목 |
| type | string | 종류 (session/hands-on/discussion) |
| trackId | string | 트랙 ID |
| startTime / endTime | datetime | 시간 정보 |
| randomCode | string | 출석용 난수 코드 (nullable) |
| 필드 | 타입 | 설명 |
|---|---|---|
| boothId | string | 부스 ID |
| name | string | 부스 이름 |
| description | string | 부스 설명 (nullable) |
| 필드 | 타입 | 설명 |
|---|---|---|
| userId | string | 유저 ID |
| lotteryTickets | int[] | 응모권 리스트 |
| bettedTeam | string (nullable) | 베팅한 팀 이름 |
| 필드 | 타입 | 설명 |
|---|---|---|
| gameId | string | 게임 ID |
| name | string | 게임 이름 |
| teams | string[] | 참여 팀 |
| status | string | 진행 상태 (NOT_STARTED / ONGOING / COMPLETED) |
| winner | string (nullable) | 우승 팀 |
- Framework: FastAPI
- API 문서: Swagger 자동 생성 (
/docs경로) - DB: PostgreSQL 또는 SQLite (개발 시)
- 출석 횟수 누적 로직 구현
- 응모권 중복 발급 방지
- 베팅 마감 시간 체크
- Admin 전용 인증 및 권한 처리
- 에러 응답 통일화
| 필드 | 타입 | 설명 |
|---|---|---|
| ticketId | integer | 응모권 고유 ID |
| userId | string | 발급 대상 유저 |
| sourceType | string | 발급 출처 (conference/session/hands-on/...) |
| sourceId | string | 출처 ID |
| issuedAt | datetime | 발급 시간 |
| 필드 | 타입 | 설명 |
|---|---|---|
| programId | string | 프로그램 ID |
| title | string | 제목 |
| type | string | 종류 (session/hands-on/discussion) |
| trackId | string | 트랙 ID |
| startTime / endTime | datetime | 시간 정보 |
| randomCode | string | 출석용 난수 코드 (nullable) |
| 필드 | 타입 | 설명 |
|---|---|---|
| userId | string | 유저 ID |
| lotteryTickets | int[] | 응모권 리스트 |
| bettedTeam | string (nullable) | 베팅한 팀 이름 |
| 필드 | 타입 | 설명 |
|---|---|---|
| gameId | string | 게임 ID |
| name | string | 게임 이름 |
| teams | string[] | 참여 팀 |
| status | string | 진행 상태 (NOT_STARTED / ONGOING / COMPLETED) |
| winner | string (nullable) | 우승 팀 |
- Framework: FastAPI
- API 문서: Swagger 자동 생성 (
/docs경로) - DB: PostgreSQL
- Admin 전용 인증 및 권한 처리
