프로젝트 시작

산기슭곰발자·2024년 1월 15일


(망했다)

아는거 없는녀석이 덜컥 5주간의 기간, 최종 프로젝트의 팀장이 되었다.
평소에 짬짬히 기획을 하고 있던터라 시작은 쉽게 될 줄 알았는데
간단하게 시작할 수 있는게 아님을 깨닫게 되었다.

초보자들도 쉽게 접할 수 있는 개발자의 커뮤니티를 베이스로 기존에도 활성화 되어있는 커뮤니티들을 레퍼런스 하여서 나름의 커뮤니티를 구성하고자 한다.

맡고자 하는 부분은 Auth 즉 회원관리에 대한 부분을 다루게 되었으며, 해당 태스크를 충족시키기 위해 공부해야할 부분을 정리하였다.

  1. database와 상호작용을 위하여, TS를 사용할 예정이기에 TypeORM을 사용하기로 하였다.

  2. Passport 또는 @nestJs/passport
    2.1 JWT (JSON Web tokens)

3.(Passport와 jwt를 사용하지 않는 가정하에) Guard를 이용한 인증 및 권한 부여를 처리할 수도 있다.

  1. Bcrypt 또는 Argon2
  • 패스워드 해싱을 위해 암호화 알고리즘
  1. Validation 라이브러리
  • 입력 한 데이터 유효성을 검사키 위해 class-validator와 같은 라이브러리를 사용할 예정이다. @nestJs/common 패키지 내장된 'ValidationPipe' 를 사용해서 간단하게 유효성 검사도 할 수 있을 것 같다.


(초기 ERD작성, 보면 쉽게 이해 가능하겠지만 테이블을 최소화 하기위해 타입이나 카테고리를 enum타입으로 지정하여 삽입을 하였는데 유지보수에서의 취약점을 깨닫고 모두 Table 화 시켜버렸다. db의 이름들도 PascalCase, camelCase snake_case등 지멋대로 섞여있다.)

(보완된 ERD 여전히 복수네이밍등 고쳐야 할 부분이 있지만 enum타입을 최대한 배제하고 table화 시켜서 정보들이 추가되거나 수정되어도 유지 보수가 용이하도록 변경처리하였다.)

ERD 작성을 해보았으니 와이어 프레임을 어떻게 작성하였는지에 대해 앞으로 기재할 예정이다. 최종 프로젝트를 만듬과 거기에 따라오는 문제 및 해결방안들을 TIL로 작성할 예정이다.

막막하다.

PM이라고 부를 수도 없겠지만 PM의 역할을 부여받은 이상 필요한 조건에 대해서도 기재할 예정이다.

프로젝트 ERD를 작성하는데 있어서 유지보수 및 관계에 대해서 한번더 깨닫게 되는시간이었다.

profile
곰처럼 개발해보자.

0개의 댓글