Wecode - Project 2 (부트캠프)/Project 2 과정

Project 2- 4일차 (3): 회원가입, 로그인 API 구조화

Queen Julia 2023. 9. 21. 19:23
이후 5일 차 standing meeting, Pull request review 이후 
수정 

 

 

Project 2 - 5일 차 (3): standing meeting- [프론트 엔드와 협의] 및 [회원가입 코드 분석]

[회원가입] 필수 / 선택 입력값 데이터 - 필수 1)생년월일 프론트: YYYY-MM-DD 형식 백엔드: 생년월일 받아오고, db에 저장하는 코드만 치면 됨. 2) 휴대번호 프론트: 010-****-**** 형식 백엔드: 받아오고,

pm-developer-justdoit.tistory.com

 

 

Project 2 - 5일 차 (4): 내가 push 한 회원가입 함수 : standing meeting에서 수정할 부분

[standing meeting 에서 모두가 수정해야 할 부분] Project 2 - 5일 차 (3): standing meeting- [프론트 엔드와 협의] 및 [회원가입 코드 분석] [회원가입] 필수 / 선택 입력값 데이터 - 필수 1)생년월일 프론트: YYYY

pm-developer-justdoit.tistory.com

 


'닥터마틴스' 회원가입을 직접 보면, 

 

회색 창은 클릭해도 작성할 수가 없는데, 

*로 필수란으로 되어 있고, 

회원가입을 직접 해보려고 하면, 

회색부분을 채우라는 메세지가 나온다. 

 

 

회원가입에 앞서서 본인인증을 진행해야 하는데,

본인인증을 하면, 

  • 이름(성 -이름)
  • 생년월일 (YYYY-MM-DD)
  • 휴대폰 (010-****-****) 

자동입력 된다. 

 

자동입력된 사항들


비밀번호와 비밀번호 확인란이 있지만, 

이것은 백엔드가 할 일은 아니다. 

 

백엔드와 프론트엔드의 구분 기준은, 

백엔드가 데이터베이스에 저장할 정보인지를 / 데이터베이스에서 꺼내와야, 가져와야 할 정보인지를 생각하면 된다. 

 

비밀번호 다시 입력하는 데이터를 데이터베이스에 저장할 필요없으니, 

이 코드는 만들지 않아도 된다. 


 

이런 하단의 글씨들을, 정보 하나하나를 백엔드가 코드로 치지 않아도 되는 것처럼, 

눈에 보이는 모든 정보를 백엔드가 

프론트엔드에게 줘야만 프론트엔드가 기능을 구현할 수 있는 건 아니다. 

위 글씨들은, 우리가 데이터베이스에 저장할 필요없기에

백엔드의 역할이 아닌 것이고, 

 

백엔드는 데이터베이스에 관련된 일만 하고 있는 것

 

프론트엔드가 우리가 주는 정보를 바탕으로 구현하는 건 맞지만, 

모든 걸 줄 필욘 없다는 것.

프론트엔드의 일이 따로 있다는 것

 


[조건]  

1. key error 

필수 포함해야 하는 

이름, 아이디, 비밀번호, 생년월일, 이메일, 휴대폰, 성별을 줬는지 

 

if 안 줬으면, 

"필수 포함 항목을 채워주세요"

or, 

"${} 변수 항목을 필수로 해야 하는지? 

 

--> 이거는 하나하나 키 에러에 대한 것을 메세지로 알려줄지? 고민했는데, 

그냥 퉁쳐서 보내기로. 

 

어떤 키값이 안 들어왔는지는 프론트가 더 잘 암. 

거기에 따라, 메세지 구분해서 보내고 싶으면 프론트가 메세지 만들어서 하면 됨.

 

 

"생년월일을 YYYY-MM-DD 형식으로 기입해주세요"

이것도 프론트에서, 형식


이용 약관 체크 안했으면, 

이용약관 체크는 필수입니다. 나오는데, 그건 프론트에서. 

 

백엔드에선 데이터 받고, 데이터 저장 

이용약관 체크

이건 프론트엔드가 메세지 띄울 것

우리는 굳이 이용약관 체크한 고객에 대한 정보 받을 필요 없음. --> 이용약관 체크한 사람만 회원가입 되니까 어짜피. 


마케팅 수신 여부는 db에 저장해야함. 

post . ischeckedmarketing 

우리가 보내는 메세지는 고객에게 바로 가는게 아니라, 
프론트엔드가 이해할 수 있는 메세지만 하면 됨, 프론트엔드에게 친절하게, 

 


2. email 특수문자: '@, .' 필수포함

if not,

message : '@' '.'를 필수 포함해주세요. 

 

만약, 아래와 같은 방식으로 프론트엔드 분이 만드신다면, 

email 특수포함 조건은 없고.

3. 비밀번호 : 8자리 이상 

if not, 

"8자리 이상으로 입력해주세요"

return message


4. 아이디 : 공백없는 영문/숫자포함 6자리 이상 

 

if , not, 

return message "사용할 수 없는 아이디 입니다." 


 

로그인 

1. key error 

if 아이디, 비밀번호 입력 안하면, 

return message "빈 입력란을 작성하세요" 

2. 이메일, 패스워드 DB 중복 확인

if, email -> select DB에 없으면 

if, 아이디에 해당하는 password가 DB 없으면, -> 

"일치하는 회원정보가 없습니다" return message 

 

 


[mock data]

 

5일 차 standing meeting 후 수정 전 

5일 차 standing meeting 후 수정 후