https://github.com/evgeniac10/TeamProject

도커 관련 설정

데이터베이스 관련 설정

회원가입

회원가입 컨트롤러

UserJoinController는 회원가입 관련 요청을 처리하는 REST API 컨트롤러로 아이디 중복 확인 , 이메일 인증 코드 발송 , 이메일 인증 코드 검증 등의 기능을 제공합니다.

스크린샷 2024-12-28 오전 9.12.17.png

아이디 중복 확인

클라이언트가 전달한 userid가 이미 존재하는지 확인합니다. 핵심로직은 userService 객체에서 처리 할 수 있도록 계층을 분리하였습니다. 책임 분리를 통해 추후 유지보수성을 생각해서 설계하였습니다. 또한 다른 컨트롤러에서 재사용을 할 가능성을 염두해두고 작성하였습니다.

이메일 인증 코드 발송

클라이언트로부터 받은 이메일 주소를 받아 인증 코드를 전송합니다. 인증코드는 savedVerificationCode에 저장합니다.

여기서 아쉬운 점은 서버 메모리 savedVerificationCode로 저장하는 방법은 좋지 않다는것을 알았습니다. 현재는 1개의 서버에 배포가 되어 있었기 때문에 서비스 시연중에 큰 문제가 되지 않았지만 만약 여러 서버에 배포된 상태라면 클라이언트의 요청이 어느 서버로 라우팅 되는지에 따라 인증 코드가 저장된 서버가 달라질 수 있습니다. 예를들어 인증 요청을 서버 A로 보냈지만 검증 요청은 서버 B로 보낸 경우 인증이 실패하게 됩니다.

또한 서버 메모리에 저장된 데이터는 서버가 재시작 되거나 장애가 발생하면 사라집니다.