Teamproject -11

조형찬·2023년 5월 10일

TeamProject 일지

목록 보기
11/34

5.10. 팀프로젝트 진행상황

  • 소셜로그인,비밀번호수정(비밀번호 확인) 기능구현
  • 이메일 중복 회원가입 등 오류 수정
  • 권한별 메뉴 이동 수정중

  • 생각해볼만한 내용

  • 레시피 등록 관련 중

우리 프로젝트의 메인 기능인 레시피 등록과정에서 Talble과 clolmn 설정을 어떻게 할 것인지에 대한 논의가 있었다.

선생님이 말씀하신 문제점
1. 레시피 등록 페이지 안에 크게 레시피 기본내용, 레시피 재료 내용(추가 가능), 레시피 단계내용(추가 가능)등의 내용 작성이 요구된다.
2. 각각의 DTO 별로 내용이 다를텐데 이를 하나의 폼으로 보내는데 문제가 있을 수 있다.
3. 각각의 DTO별로 Table을 만들고 main table에서 합치는 방식도 고려해 볼 수 있다.

내가 고민해본 방법
하나의 테이블에 예) 이름, 설명, 재료메인, 재료단위,레시피내용,레시피사진 등의 컬럼으로 고정을 하고 내용이 추가 될때 구분자를 두어 계속 저장되게 하는게 어떤가 싶었다.
예) 1번 열 재료_메인 : A(1)/A'(2)/A''(3)
그런데 이럴경우 문제가 있다.
추후 새로운 컬럼이 추가될 경우 null/null/null로 인식할 수 없고, 구분자에 대한 방식도 아예 새롭게 만든것이기 때문에 다른 사람이 배워야 하는 문제가 있다.

따라서 추가됨에 따라 열이 늘어나는 방식이 적합해 보였다.
예) 1번열 재료메인 : A(1)
2번열 재료
메인 : A'(2)
3번열 재료_메인 : A''(3)

이와 같이 나누고 모든 내용이 하나의 값을 같는 컬럼을 추가하여 조회할 수 있다.

하지만 이런 방식 역시 아직 생각해볼 여지가 많은 것 같다.

  • 스프링 시큐리티 관련 내용중

로그인, 로그아웃 버튼을 로그인 여부를 확인하여 보이거나 숨기게 하는 기능을 구현하려 했다.
로그인을 한 사용자만 보이도록 하는 기능이 있다.
#authentication.isAuthenticated()를 활용하는 방법이다.
그러나 이와 같은 방법을 사용할 경우 로그아웃이 된 경우에도 로그아웃 버튼이 보인다거나, 로그인이 되어있는 경우에도 로그인 버튼이 보이는 문제가 생겼다.
알아보니 이는 캐시가 남아있기 때문에 문제가 생기는 것이었고 해결방법으로 캐시를 새로운 페이지마다 지우는 방식 등이 있다.
하지만 추후 최근본 상품 페이지 등을 만들 예정이기 때문에 캐시를 모두 지우는 것은 적합하지 않아보인다.
따라서 로그인이 되어야 보이는 로그아웃의 경우 규정해둔 모든 권한인 USER,CHEF,ADMIN,STOP 중 권한을 가지고 있을때만 보이도록 수정하였고 로그인의 경우 그 반대로 해주었다.


  • 내일 해야할 일

-마이페이지(회원 정보, 내가쓴 게시물, 정보 수정 페이지로 이동) 구현
-회원 정보 수정 구현
-권한에 따른 메뉴 및 전체 내용 다듬기
-소셜로그인 가져오는 정보 주소, 전화번호, 이름 등 추가하여 저장
-아이디 비밀번호 찾기, 비밀번호 틀렸을 때 제한 등 추가 고려

profile
서버개발 공부중

0개의 댓글