PJ.레미코드_step.1 (User detail #1)

404·2022년 2월 23일
0

기획

목록 보기
2/3
post-thumbnail

유저정보 세부 기획 #1

목차

1-1 회원가입 - 정보입력 form
1-2 회원가입 - 인증방법
2 로그인 - 정보입력 form
3 회원정보 변경

  1. 회원가입

    1) 정보입력 form

    form 을 디자인 하기 전에 user 모델을 먼저 확인해야 한다.
    22-02-22 커밋한 user model은 아래와 같다.

    • 유저모델 셀프 피드백
      • 최소한의 정보만으로 회원가입을 할 수 있도록 필수 입력사항 조정을 고려해야 할것같다.
      • model schema에 phoneNumber & plateNumber에 unique : true 옵션 추가가 필요하다.
      • group.code 대신 group.name 으로 한글 문자열을 받도록 한다. (중기사명 or 상조회명)
      • group.manager 을 새로 만들어 관리자 ID 문자열을 저장한다. -> 동명의 그룹 구분

    위 모델에서 정의한대로 회원가입을 받기 위한 회원가입 입력 form은 아래와 같이 정했다.

    2) 인증방법

    • 아이디는 unique 인증만 한다
    • pw는 해시하여 저장하며 2차 확인 외 별도 인증 절차 없음
    • 전화번호 인증은 twilio api를 이용한다.
    • 차량번호는 사진인증이라도 받고싶지만 절차 간소화를 위해 앞으로도 가능하면 고려하지 말자.
  2. 로그인

    1) 정보입력 form

    기본적으로 아이디와 비밀번호를 사용하여 입력하되 사용자 편의성을 고려하여 전화번호 로그인을 계획중이다. 그러나 사용자가 매번 로그인시 전화번호를 사용한다면 문자 전송비용이 꽤 부담스러워질 염려가 있다.
    그렇기 때문에 현재 단계에서는 ID와 PW만을 이용한 로그인만 구현하고 전화번호 로그인 및 기타 소셜 로그인 방법에 대해서는 추후 고민하도록 과제로 남겨두도록 하자.

  3. 회원정보 변경

    1) 일반적인 변경

    기본적으로 아이디를 제외한 모든 회원정보는 변경 가능하도록 한다.
    전화번호는 변경시 재인증 받도록 하되 문자 발송 횟수는 가능하면 제한을 두는 편이 고의적 반복을 막는데 좋을것이다.

    2) 아이디 찾기

    아이디는 본인이 등록한 차량번호 (unique)와 이름 또는 전화번호를 통해 찾을 수 있도록 한다.

    3) 비밀번호 찾기

    이 부분이 가장 고민인데 비밀번호 찾는데는 반드시 인증을 거쳐야하기 때문이다. 우선 고려중인 방법은 휴대폰 문자인증에 성공하면 비밀번호 변경 url로 redirect 해주는 것이다.

  1. 회고

    1) 전화번호 인증에 관하여

    매번 로그인시마다 문자전송 비용을 부담하기 어렵다는게 1인 개발을 하고있는 본인의 입장이다.
    (물론 문자발송료가 부담스러워질 정도로 사용자가 있을때의 이야기 이지만...)
    고의적으로 문자 전송을 반복적으로 할 수 없도록 하는 장치도 만들어놔야겠다.

    2) 전화번호 및 소셜 로그인에 관하여

    소셜 로그인을 구현하겠다 하면 카카오톡 로그인 한 가지만 고려하고 있다. 네이버로그인 정도는 고려해볼만 하지만 과연 내 사용자들중 네이버 계정은 있으면서 카카오톡 계정은 없는 사람이 몇이나 될까 생각해보면 ... 구지 네이버로그인을 구현할 필요성은 없어보인다

    3) 그룹에 관하여

    회원가입시 그룹 정보를 어느정도까지 설정할 것인가를 결정하면서 더 심층적인 고민이 필요함을 느꼈다. 그룹별 관리 서비스를 제공하려고 하는 입장에서 그룹을 나눌 수 있는 확실한 방법이 필요하다. (그룹 고유번호 부여)

    하지만 현재 상황에서는 고유번호를 어떻게 부여할지 방법이 떠오르지 않는 상황이다.

    ex.1) 그룹코드에 난수 부여 - 사용자 입장에서 불편할 가능성 있음
    ex.2) 그룹코드를 관리자계정 가입시 본인이 직접 입력 - 관리자 측면에서 그룹코드에 규칙이 없어 접근이 불편함.
    ex.3) 관리자계정 가입시 활동지역을 기입하게 하여 지역 + 가입순번으로 지정 - 가입 편의성을 조금 저해하지만 가장 합리적인 방법이다. 이에 대해서는 User detail의 다음 고민 단계에서 다뤄봐야겠다.

    4) 공부할것

    로그인 및 인증에 대해 고민하고 있을 때 누군가 파이어베이스에 대해 알아볼 것을 추천해주셨다. 대강 알아보니 잘 공부해두면 앞으로 어떤 프로젝트를 하더라도 로그인 및 인증은 파베로 전부 퉁칠수 있을것 같다.

    포스팅을 마치며....

    • github 커밋에 너무 집착하지 말자. 필요한 공부를 해야한다. 꽤나 진지한 프로젝트지만 이건 나 스스로 하는 첫 작업이고 연습장이다.
    • 프로젝트 기획을 포스팅하면서 PM 실력이 곧 서비스의 완성도와 직결된다는 것을 느낀다.
    • 기획이 명확할수록 코드를 빌드하는 시간, 수정하는 시간, 필요한 기술에 대해 학습하는 시간 등 프로젝트 전체에 대한 부담이 줄어든다.
    • 천천히 오래 가자.
profile
T.T

0개의 댓글