Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💵 Account-System (계좌 관리 시스템)

프로젝트 소개

Account 시스템은 사용자와 계좌의 정보를 저장하고, 외부 시스템으로부터의 거래 요청을 처리하는 시스템입니다. 거래 요청에 따라 계좌의 잔액을 줄이거나(결제) 늘리는(결제 취소) 기능을 제공합니다. 이 시스템은 사용자, 계좌, 거래 정보를 관리합니다.

주요 기능

  • 사용자 관리: 사용자 정보 조회 기능 제공
  • 계좌 관리: 계좌 추가, 해지, 확인 기능 제공
  • 거래 관리: 잔액 사용, 잔액 사용 취소, 거래 확인 기능 제공

제한 사항

  • 사용자는 최대 10개의 계좌를 가질 수 있습니다.
  • 계좌 번호는 10자리의 정수로 중복이 불가능하며, 순차적으로 증가합니다.

기술 스택

  • 프레임워크: Spring Boot, Java
  • 데이터베이스: H2 DB (memory DB 모드)
  • 데이터 접근: Spring Data JPA
  • 캐시: Embedded Redis
  • API 요청/응답 형식: JSON

API 명세

사용자 관련 API

  1. 계좌 생성 API

    • URL: POST /account
    • 파라미터: 사용자 아이디, 초기 잔액
    • 응답: 사용자 아이디, 계좌번호, 등록일시
  2. 계좌 해지 API

    • URL: DELETE /account
    • 파라미터: 사용자 아이디, 계좌 번호
    • 응답: 사용자 아이디, 계좌번호, 해지일시
  3. 계좌 확인 API

    • URL: GET /account?user_id={userId}
    • 파라미터: 사용자 아이디
    • 응답: List<계좌번호, 잔액>

거래 관련 API

  1. 잔액 사용 API

    • URL: POST /transaction/use
    • 파라미터: 사용자 아이디, 계좌 번호, 거래 금액
    • 응답: 계좌번호, 거래 결과 코드, 거래 아이디, 거래금액, 거래일시
  2. 잔액 사용 취소 API

    • URL: POST /transaction/cancel
    • 파라미터: 거래 아이디, 계좌번호, 취소 요청 금액
    • 응답: 계좌번호, 거래 결과 코드, 거래 아이디, 거래금액, 거래일시
  3. 거래 확인 API

    • URL: GET /transaction/{transactionId}
    • 파라미터: 거래 아이디
    • 응답: 계좌번호, 거래종류, 거래 결과 코드, 거래 아이디, 거래금액, 거래일시

패키지 구조

  • aop: AOP 관련 클래스
  • config: Redis 및 JPA 설정
  • controller: API 엔드포인트 및 요청/응답 클래스
  • domain: JPA 엔티티
  • dto: DTO 클래스
  • exception: 커스텀 Exception 및 Exception Handler 클래스
  • repository: Repository 인터페이스
  • service: 비즈니스 로직 클래스
  • type: 다양한 enum 클래스

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages