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

Feature/soo step1 #2

Merged
merged 66 commits into from
Feb 26, 2024
Merged

Feature/soo step1 #2

merged 66 commits into from
Feb 26, 2024

Conversation

youngsoosoo
Copy link

@youngsoosoo youngsoosoo commented Jan 29, 2024

ERD

image

회원 가입 및 인증

사용자 정보는 평범하게 구현했습니다.

  • 로그인: 로그인 시 회원의 기본키 정보가 담긴 JWT 토큰을 반환하도록 진행
  • 회원가입: 회원가입 시 회원의 계좌를 생성해주기 위해 이벤트 리스너 등록

개선점

  • 로그인 시 하나의 JWT 토큰이 아닌 RefreshToken, AccessToken으로 나누어 보안성을 높이는 것이 좋을 거 같습니다.

계좌

  • 계좌 Type: Enum을 통해 계좌의 형태를 나타내주었습니다.
  • 1일 충전 한도: 관계형 데이터베이스에 컬럼을 추가해 관리할 수 있도록 만들었습니다.
  • 계좌 간 거래: 특정 엔티티(행)에 대한 동시성 제어를 위해 비관적 락 사용, 메인 계좌에 잔액이 부족할 시 에러 처리
    • 트랜잭션 격리 수준 중 SERIALIZABLE 수준과 REPEATABLE_READ 수준을 적용하면 데드락이 발생합니다. 그래서 READ_COMMITED 수준과 락을 통해 동시성 제어를 해주었습니다.

개선점

  • 현재는 1일 충전 한도를 관계형 데이터 베이스에 저장하고 있습니다. 이후에 Redis의 TTL(Time To Live) 이라는 기능을 통해 관리해주면 좋을 거 같습니다.

@youngsoosoo youngsoosoo self-assigned this Feb 17, 2024
@youngsoosoo youngsoosoo added the enhancement New feature or request label Feb 17, 2024
- 시큐리티 CORS 설정 변경, swagger 사용을 위해 permitAll url 추가

- @Email로 변경

- ErrorCode 수정(HTTP STATUS CODE를 올바르게 수정)
- 토큰 생성 시 memberId를 저장하고 이를 통해 member 데이터에 접근 단축
- 토큰 생성 시 memberId를 저장하고 이를 통해 member 데이터에 접근을 단축
Copy link

@youngsoosoo youngsoosoo requested a review from VSFe February 22, 2024 18:44
@youngsoosoo youngsoosoo merged commit a771d96 into base/soo Feb 26, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants