Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[47기 하준수] Add: 어드민유저 등록을 위한 기능 및 제반사항 추가 #19

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

joonsooha123
Copy link
Contributor

1. 본 PR이 우리 팀의 웹 서비스 제품성에 어떠한 기여를 하였고,
사용자에게 어떠한 기대효과를 전달하는지 작성해주세요.

  • 내 PR이 제품 내 어떠한 기능적인 배경/전후맥락 가운데 개발되었나요?
    -> 이커머스를 서비스하는 조직 입장에서, 이커머스를 운영하는 데 필요한 여러가지 실무적, 행정적 절차를 처리하기 위한 어드민 기능을 지원하기 위해 개발되었습니다.

  • 내 PR이 Merge 됨으로써 유저에게 전달되는 편익/기대효과는 무엇일까요?
    -> 이커머스 서비스 주체의 입장에서도 엔드유저(이하 어드민유저)가 존재하며, 웹페이지에 어드민유저로서 필요한 행동을 처리하기 위해 어드민유저를 일반엔드유저와 구분하여 웹페이지에 접근시킬 수 있습니다.


2. 이 브랜치에서 어떤 내용을 개발했는지 큰 제목과 상세 내역을 적어주세요.

어드민유저 db 등록 절차(adminuser signup) 및 이에 필요한 제반 기능 개발

  • db 테이블 구성 추가: insider_emails 테이블, admin_users 테이블 추가
  1. insider_emails 테이블: 어드민유저가 될 수 있는 자격을 갖추었는지 확인할 수 있는 데이터를 저장해둔 테이블
  2. admin_users 테이블: 어드민유저를 등록하는 테이블
  • 어드민유저 등록 api 개발
  1. 어드민유저는 이커머스 웹페이지에 대해 일반엔드유저보다 더 넓고 중대한 사안에 대해 행동을 하므로, 일반엔드유저의 등록절차와 비교하여
  2. 어드민유저로 등록될 수 있는 자격을 갖추었는지 선행적인 확인이 필요하며(자격 하나 당 어드민유저 하나 등록 가능),
  3. 로그인 조건으로 account name, password(bcrypt), personal code를 지정하여 보안성을 더 높였습니다.

3. 개발한 화면을 캡쳐해서 첨부 해 주세요.


1. 어드민유저 등록 성공 시 db에 저장되는 데이터

image

  1. 어드민유저 등록 성공 시 표시 메세지
    image

  2. 어드민유저 등록에 필요한 정보를 완전히 입력하지 않았을 시 표시 메세지(키에러)
    image

  3. 어드민유저 등록에 필요한 자격(insider email)이 없는 유저가 등록 시도시(INVALID APPROACH)
    image

  4. account name 유효성 검사(알파벳&&숫자)를 통과하지 못한 경우(INVALID ACCOUNT NAME)
    image

  5. password 유효성 검사(알파벳&&특수문자&&숫자&&길이10~16)를 통과하지 못한 경우(INVALID PASSWORD)
    image

  6. personal code 유효성 검사(숫자&&길이6)를 통과하지 못한 경우(INVALID PERSONAL CODE)
    image

  7. account name 중복의 경우(ACCOUNT NAME EXIST)
    image

  8. email 중복의 경우(이미 등록된 어드민유저가 또 등록하려는 경우)(EMAIL EXIST)
    image

  9. phone number 중복의 경우(PHONE NUMBER EXIST)
    image


4. 이 브랜치에서 개발하면서 느꼇던 개발 성장포인트를 적어주세요.

  • PET 분석에서 고려되지 않는 어드민유저의 특성에 대해 생각해 볼 수 있는 기회가 되었습니다.
  • 일반적인 보안수준보다 높은 유저권한을 설정해야 하는 상황에 대해 생각해 볼 수 있었습니다.
  • 다른 팀원이 작성한 코드를 읽어보는 연습을 할 수 있었습니다.
  • mysql 문법 중 SELECT EXIST 에 대해 공부하게 되었습니다.
  • 레이어드 패턴을 사용할 때, 각 레이어 별로 함수 및 인자 전달에 있어 타입오류가 나지 않게 하는 것이 중요하다는 것을 깨달았습니다.

api/models/adminUserDao.js Outdated Show resolved Hide resolved
api/models/adminUserDao.js Outdated Show resolved Hide resolved
api/models/adminUserDao.js Outdated Show resolved Hide resolved
api/models/adminUserDao.js Outdated Show resolved Hide resolved
api/services/adminUserService.js Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants