본문 바로가기

PYTHON-BACK

# 24.10.28_ 마켓컬리 클론코딩8_최종 마무리

728x90

https://github.com/Python-Backend-Team3-TeamProject/team-project

 

GitHub - Python-Backend-Team3-TeamProject/team-project

Contribute to Python-Backend-Team3-TeamProject/team-project development by creating an account on GitHub.

github.com

 

마켓컬리 클론코딩 프로젝트가 마무리 되었다.

 

우선 최종 화면을 보면 다음과 같다.

 

세부 기능을 살펴보기에 앞서서 내가 구현했던 내용을 정리하면 다음과 같다.

 

1차 프로젝트 구현 기능

  • 메인 홈페이지 구성
  • 로그인, 로그아웃
  • 회원가입 및 탈퇴
  • 회원가입 및 유저 관련 내용 로그인 페이지
  • 개인 페이지

2차 프로젝트 구현 기능

  • 회원 정보 및 비밀번호 수정 (개인 페이지 내 추가)
  • 추천인 코드 및 마일리지 기능
  • Gmail SMTP 사용해서 아이디, 비밀번호 찾기 기능
  • 소셜 로그인 (구글 OAuth 2.0을 활용한 로그인 기능)
  • 선물특가 타이머 기능
  • 팝업창 추가 (메인홈페이지)
  • 회원 탈퇴 기능 추가 (개인 페이지 내 추가)

 

1차 진행했던 내용의 정리는 아래 를 참고하면 된다!

https://kgw08003.tistory.com/71

 

#파이썬 24.09.02(월) ~ 24.09.13(금) 마켓컬리 클론코딩 프로젝트

🚀Clean_Curly 프로젝트 1st 🚀마켓컬리 백엔드 클론코딩 프로젝트를 진행함.이커머스 사이트의 필수 기능을 구현하였고, 1차 2차로 나눠서 프로젝트를 구현하려고함1차 프로젝트 결과임으로 아직

kgw08003.tistory.com

 

2차 프로젝트 결과물을 하나씩 보면

기존 개인 페이지에서 회원 정보 수정 버튼을 누르면 개인정보 수정 폼을 통해 해당 내용들을 수정할 수 있게 처리

 

해당 내용이 잘 바뀐것을 확인할 수 있다.(추가로 적립금과 마일리지 또한 확인 가능)

적립금과 마일리지 부분을 개인페이지추가함.

 

다음으로는 Gmail SMTP를 사용해서 아이디, 비밀번호 찾기 기능을 추가한 것이다.

로그인 페이지에서 아이디 찾기, 비밀번호 찾기 버튼을 통해서 해당 기능이 작동하는데

 

 

아이디 찾기 버튼을 누르면 

 

위와 같이 해당창이 뜨고 

 

 

회원가입시 적었던 이메일 주소를 입력하게 되면 

해당 메일로 이메일 하나가 도착하며

이런식으로 자신의 아이디가 메일에 나타나게 된다.

 

 

비밀번호의 경우는 보안 문제로 인해서 2중의 장치를 해 두었다.

 

비밀번호 찾기 버튼을 누르게 되면 해당 창이 뜨고 여기에 아까 찾았던 아이디와 이메일 주소를 입력한다.

이후에는 동일하게 

비밀번호 재설정을 위한 링크가 담긴 메일이 도착한다.

 

위 링크를 클릭하게 되면 

 

 

해당 내용처럼 비밀번호를 재설정할 수 있는 창이 나타나게 된다. 이를 활용해서 아이디와 비밀번호를 찾을 수 있는 것이다.

 

다음으로 소셜 로그인 부분으로 

 

로그인 페이지에서 구글 로그인을 클릭하면 

 

 

계정을 선택할 수 있는 창이 나오게 되고 이를 활용해 구글 로그인을 진행한다.

 

계속을 누르면 로그인이 완료된다.

 

구글 로그인의 경우 아래 링크를 보면 보다 자세하게 나와있다.

https://kgw08003.tistory.com/103

 

# 24.10.24_ 마켓컬리 클론코딩6

오늘 개발한 내용은 Django 프로젝트에서 구글 쇼설 로그인을 적용한 것으로, django 웹 어플리케이션에 구글 OAuth 2.0을 통한 소셜 로그인 기능을 추가한 것입니다. 이를통해 별도의 회원가입 절차

kgw08003.tistory.com

 

다음으로는 선물특가에 타이머 부분으로

 

해당 내용은 아래 블로그를 참고하길 바란다.

https://kgw08003.tistory.com/101

 

# 24.10.22_ 마켓컬리 클론코딩4

오늘은 마켓컬리 클린코딩 중에서 저번 프로젝트 기간에 해결하지 못했던 선물특가에 타이머 기능을 수정했습니다 해당 타이머 기능은 설정 시간을 지정하면 그 시간부터 1초씩 떨어져 00:00:00

kgw08003.tistory.com

 

 

팝업창 부분은해당 내용과 같이 만들었으며 다음 포스팅에 정리해서 올릴 예정이다.

 

마지막으로 회원 탈퇴 기능 부분으로 

 

개인페이지 내 회원 탈퇴 버튼을 통해서 탈퇴를 진행할 수 있으며

비밀번호를 올바르게 입력하고 회원 탈퇴를 누르게 되면 탈퇴가 진행된다.

 

 

 


 

 

 

이번 프로젝트를 진행하면서 어려웠던 부분 : 

소셜 로그인 기능에서 많은 어려움이 있었는데, django에서 소셜 로그인 설정을 했을 때 django의 기본 사용자 모델은 비밀번호를 필요로 하지 않기 때문에, 구글 계정으로 로그인하게 되면 django의 사용자 모델에 비밀번호가 저장되지 않는 경우가 생겼다. 

이를 해결하기 위해 찾아보다가 소셜 로그인 계정을 사용한 경우 해당 사용자들에게만 비밀번호를 설정하는 것을 만들면 되겠다 생각했고, 소셜 로그인 계정을 사용한 경우는 비밀번호가 None 처리 되어있늘 것을 확인하고, 이를 이용해서 비밀번호 설정 페이지를 만들어 개인페이지에서 비밀번호 인증전에 버튼을 만들어 이를 연동하였고, 만약 비밀번호가 있는 사용자의 경우(정당한 회원절차에 의해 설정된 사람)은 해당 버튼 클릭시 403.html을 만들어 403오류페이지가 나오록 유도함으로서 이를 해결하였다.

아쉬운점:

 

홈페이지 검색어 입력 기능 연동 : 홈페이지 상단에 검색어를 통해서 해당 상품 검색하는 기능을 추가해보고 싶었는데 개발 시간 부족으로 개발하지 못했습니다.

쇼셜 로그인 : 소셜 로그인의 경우 카카오 로그인을 제일 처음 시도하였는데, 카카오 로그인에서는 동의항목에서 개인정보 관련으로 카카오계정(이메일) account_email이 권한없음으로 나와서 해당 상황 때문에 문제가 발생했었다. 

사업자 정보가 없는 상황에서는 개인 개발자 비즈앰전환이 필수인데 비즈니스인증 받는 시간이 프로젝트 완료 기간을 넘어서 개인정보 동의 설정 권한 요청을 하지 못하였기에 이는 반영하지 않았다.
네이버의 경우 계속 403에러의 늪에 빠져서 기간 내 개발을 포기하게 되었고 이에 구글 로그인 기능만 반영하여 홈페이지 제작을 하게 된 것이다. 

 

느낀점 :

기존 클론컬리 1차 프로젝트에서는 github 를 활용하지 못했지만, 2차 프로젝트를 진행하면서 github의 중요성을 깊이 깨달았습니다. github를 통해 작업의 효율성을 높이고, 오류 발생 시 신속하게 대처할 수 있었던 것 같습니다.
저번 프로젝트에서 느꼈던 소통의 문제 또한 코드 리뷰와 pull request 기능을 통해 팀원들 간의 소통이 보다 쉽게 이루어진 것 같습니다!

또한 이번 클론코딩을 통해 실제 비즈니스 모델과 고객의 요구를 이해하는데 큰 도움이 되었으며, 다양한 기능을 직접 구현해 봄으로서 각 기능의 복잡성을 체감함과 동시에 django의 유용성에 대해서 다시한번 생각해 볼 수 있는 계기가 되었던 것 같습니다.

728x90