728x90
이제 IOS 개발자 분이 오셔서 >< 페이지 로딩이나 서비스 플로우 회의를 진행하고, 다음주차 스프린트 계획까지 하고왔다.
BIND PROJECT WEEKLY REPORT
2025-07-1st (INTEGRAL/ SERVICE FLOW CONFERENCE REPORT )
1. [FE]/[BE] RESPONSE CODE 세팅
목적
- 사전 협의된 에러가 아닌, 네트워크, 서버에서 미처 처리하지못하는 에러나 오탈자로 인한 휴먼 에러로 인한 에라 응답을
나누기 위해 기본적인 리스폰스를 다음과 같이 설계했다.
- 실패시(에러코드로 응답)
{ "success": false, "code": "AUTH-VAL-002", "message": "이메일 정책에 부합하지 않습니다.", "result": null }
- 실패시(네트워크 에러등등)
{ "timestamp": "2025-07-07T00:44:04.320+00:00", "path": "/api/auth/v1/signup", "status": 400, "error": "Bad Request", "requestId": "5967cd5f" }
- 성공시
{ "success": true, "code": "0", "message": "요청에 성공하였습니다.", "result": null }
2. 프로젝트의 회원가입/ 로그인 프로세스
CASE1.
AUTH_CASE #1 서비스 계정으로 회원가입
- 유저는 회원가입 페이지에서 정규식에 맞는 이메일, 비밀번호, 비밀번호 확인, 이용약관 동의 체크후에 서비스 회원가입(준회원)을 완료한다.
- 정규식은 다음과 같다.
- email : ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$
- password : ^(?=(?:._[A-Z]){1,})(?=(?:._[a-z]){1,})(?=(?:._\d){1,})(?=(?:._[\W_]){1,}).{10,}$
- 정규식은 다음과 같다.
- 정합성(유효성) 체크를 완료후에 이메일(아이디)로 발송된 코드 4자리를 입력칸에 입력후에 (정회원)으로 전환을 완료한다.
- 코드가 발송되지않거나, 재발송을 원하면, 3분 후에 다시 발송요청을 할 수 있다.
AUTH_CASE #2 소셜 로그인 계정으로 회원가입
- 유저는 최초 페이지에서 제공된 소셜(카카오,구글등) 로그인을 선택후 로그인 페이지에서 로그인을 완료하낟.
- 소셜로그인으로 최초 가입한 유저는 이메일 인증을 수행하지않고 정회원으로 전환된다.
LOGIN_CASE #1 서비스 계정으로 로그인
- 유저는 가입한 아이디와 비밀번호를 로그엔 페이지에 입력하여 로그인요청을 수행한다.
- 이메일인증이 되지않은(준회원)일 경우, 이메일 확인 페이지로 리 다이렉션후에 이메일 인증을 수행한다.
- 이메일 인증이 왼료된(정회원) && 서비스 이용에 제약이 걸리지 않은(탈퇴예정, 정지중)유저이면 로그인이완료된다.
LOGIN_CASE #2 소셜 로그인
- 유저는 제공된 소셜 로그인 버튼을 눌러 해당 페이지에서 로그인을 완료한다.
- 서비스 이용에 자약이 걸리지 않은 유저아면 로그인이 완료된다.

BACKEND 응답 정리 : 회원가입시
{
"success": true,
"code": "0",
"message": "요청에 성공하였습니다.",
"result": null
}
{
"success": false,
"code": "AUTH-VAL-002",
"message": "이메일 정책에 부합하지 않습니다.",
"result": null
}
{
"success": false,
"code": "AUTH-VAL-001",
"message": "비밀번호가 정책에 부합하지 않습니다.",
"result": null
}
{
"success": false,
"code": "AUTH-VAL-004",
"message": "비밀번호와 비밀번호 확인이 다릅니다.",
"result": null
}
BACKEND 응답 정리 : 로그인시
#### BACKEND 응답 정리 : 회원가입시
```json
{
"success": true,
"code": "0",
"message": "요청에 성공하였습니다.",
"result": null
}
```
```json
{
"success": false,
"code": "AUTH-VAL-002",
"message": "이메일 정책에 부합하지 않습니다.",
"result": null
}
```
```json
{
"success": false,
"code": "AUTH-VAL-001",
"message": "비밀번호가 정책에 부합하지 않습니다.",
"result": null
}
```
```json
{
"success": false,
"code": "AUTH-VAL-004",
"message": "비밀번호와 비밀번호 확인이 다릅니다.",
"result": null
}
```
#### BACKEND 응답 정리 : 로그인시
```json
{
"success": false,
"code": "AUTH-VAL-010",
"message": "삭제 대기중인 유저 입니다.",
"result": null
}
```
```json
{
"success": true,
"code": "0",
"message": "요청에 성공하였습니다.",
"result": {
"access_token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIyMDAxNjEzOTc0NDM4NTAyNDAiLCJyb2xlIjoiVXNlciIsImlhdCI6MTc1MTg1MTkzOCwiZXhwIjoxNzUxODU1NTM4LCJqdGkiOiJkYWY1Y2U5MC1iYWViLTQ5YTgtOTFjYS0zNmQxNjhiNzhhY2UifQ.xsDyjpBmmoewpA8TrYeGH7WDPb19mbtnUrK_k0AWzYY",
"refresh_token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIyMDAxNjEzOTc0NDM4NTAyNDAiLCJkZXZpY2VJZCI6Ijg3MjkiLCJpYXQiOjE3NTE4NTE5MzgsImV4cCI6MTc1MzA2MTUzOCwianRpIjoiYzNlZmI5N2MtMzY0NS00OTlhLTkzMTktMzc2OWMyMDVkNjQxIn0.WUjTGKVOB_I3D86_4Un3HYYdugMYaAjQqpv0X73cnQw",
"deviceId": "8729"
}
}
```
```json
{
"success": false,
"code": "AUTH-VAL-009",
"message": "활동이 정지된 유저입니다.",
"result": null
}
```
```json
{
"success": false,
"code": "AUTH-VAL-008",
"message": "이메일 인증이 되지 않은 유저입니다.",
"result": null
}
```
728x90
'BindProject' 카테고리의 다른 글
| MSA 환경에서 스케줄링 작업의 동시성 문제, ShedLock과 모듈화로 해결하기. (4) | 2025.07.22 |
|---|---|
| 2025-07-19 업체/룸 요구사항 정리 회의 (2) | 2025.07.19 |
| BindPorject : SpringBoot 를 이용한 비동기이미지 처리 Flow 설명 (2) | 2025.07.01 |
| 진행 사항 보고 (진행된 ERD) (8) | 2025.06.30 |
| 현제까지 프로젝트 진행 상황 (8) | 2025.06.29 |