Thanks to visit codestin.com
Credit goes to github.com

Skip to content

MangKyu/moim-hexagonal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

모임 애플리케이션

구조 설명

패키지 구조 설명

  • adapter: 외부와의 통신을 위한 패키지
    • 인커밍 어댑터: 외부로부터 요청이 들어옴 Ex) API 요청
    • 아웃고잉 어댑터: 외부로 요청을 보냄 Ex) DB 저장
  • application: 도메인 객체들의 협력을 위한 서비스 계층
  • converter: 계층 별로 객체 변환을 위한 컨버터
  • domain: 도메인 객체 및 포트(핵심 비즈니스 로직)가 존재하는 계층
    • 포트: 인터페이스로써 요청의 입/출력에 대한 명세를 담당
    • 도메인 객체: 영속성 객체로부터 분리된 비즈니스 로직을 갖는 객체
  • errors: 해당 도메인에서 발생 가능한 에러가 존재함
    • Exception: 해당 도메인에서만 사용하는 에러
    • ErrorCode: 해당 도메인에서만 발생하는 에러 코드

요청 흐름

  • 입력 유효성 에러: 웹 어댑터 -> throws
  • 비즈니스 로직 에러: 웹 어댑터 -> 입력 포트 -> 애플리케이션 -> 비즈니스 로직 처리 -> 예외 발생 -> throws
  • 성공: 웹 어댑터 -> 입력 포트 -> 애플리케이션 -> 비즈니스 로직 처리 -> 출력 포트 -> 디비 어댑터

TODO

기능 목록

  • 회원 가입
    • 회원가입 시에 제출한 비밀번호가 비밀번호 정책에 부합하는지 검사함
    • 비밀번호 정책은 문자 + 숫자 + 특수문자 + 7자리 이상에 해당함
    • 모임 주체자로 회원가입을 함
    • 모임 참여자로 회원가입을 함
  • 로그인
    • 유효한 아이디와 비밀번호를 제출하면 인증 토큰을 발급받음
    • 유효하지 않은 아이디와 비밀번호 제출 시에 에러 응답
    • 토큰에 사용자 역할 넣어서 API 인가 처리
    • [] Refresh 토큰 처리
  • 회원 정보 조회
    • 유효한 인증 토큰으로 회원 가입 시에 제출한 정보를 조회할 수 있음
    • 정보 조회 시에 비밀번호는 노출되지 않아야 함
    • 모임 주최자이면서 참여자인 경우 추가 데이터 노출
    • 모임 참여자이면서 주최자인 경우 추가 데이터 노출
    • 유효하지 않은 인증 토큰으로 정보 조회 시에 에러 응답
  • 회원 정보 수정
    • 회원 정보 수정 시에 제출한 비밀번호가 비밀번호 정책에 부합하는지 검사함
    • 유효한 인증 토큰으로 회원 가입 시에 제출한 정보를 수정할 수 있음
    • 유효하지 않은 인증 토큰으로 정보 수정 시에 에러 응답
  • 추가 활동하기
    • 모임 주최자는 모임 참여자로도 활동할 수 있으며 추가 정보 제출이 필요함
    • 모임 참여자는 모임 주최자로도 활동할 수 있으며 추가 정보 제출이 필요함
    • 유효하지 않은 인증 토큰으로 정보 수정 시에 에러 응답

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages