This repository has been archived by the owner on Nov 8, 2023. It is now read-only.
forked from codesquad-members-2023/FineAnts-team-02
-
Notifications
You must be signed in to change notification settings - Fork 0
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* #2 feat: 프로젝트 초기화 (#12) * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 한국 투자증권 open api 연결 (#29) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가
* [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * [feat] 포트폴리오 목록 조회 구현 (#37) * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현
* [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영
* [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63)
* [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가
* [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선
* [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선
* [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결
* chore: Dependency 설치 및 프로젝트 초기화 * chore: Mock 초기화 * chore: vscode settings unignore * chore: React query 설치 및 설정 * feat: Router 설정 * feat: API response 및 status 타입 정의 * feat: SignUpPage 세팅 * chore: README 초기화 * docs: FE 브랜치 전략 수정 * [feat] Home/Dashboard 구현 (#13) * #5 feat: Nav Compound Component로 구현 * #5 feat: TickerTape 위젯 컴포넌트화 * #5 feat: Search 컴포넌트 구현 * #5 feat: UserControls 컴포넌트 구현 * #5 feat: Header 컴포넌트 구현 * #5 feat: Footer 컴포넌트 구현 * #5 feat: Dashboard UI 구현 * #5 feat: DateRange 추가 * #5 refactor: Nav 컴포넌트 Context 활용한 방식으로 수정 * #5 refactor: a태그 url 상수 사용 * #5 refactor: NavBar Item들을 직접 넘겨주는 방식으로 수정 * #5 feat: Dropdown 컴포넌트 Compound Component 구현 * #5 refactor: PR 피드백 반영한 수정 * #5 refactor: NavBar,Dropdown 수정 * [feat] SignUpPage 구현 (#26) * #4 fix: ProtectedRoute, PublicOnlyRoute 수정 * #4 chore: vite-tsconfig-paths 설치 * #4 feat: OAuthProvider type 수정 및 useOAuthSignInMutation 추가 * #4 chore: Path alias 추가 * #4 design: GlobalStyles 및 기본 css 적용 * #4 chore: Utils path alias 추가 * #4 feat: BasePage 구현 * #4 design: BasePage 구현 * #4 design: Sign up SubPage 구현 * #4 feat: NicknameSubPage 구현 * #4 feat: EmailSubPage 구현 * #4 feat: PasswordSubPage 구현 * #4 feat: VerificationCodeInput 컴포넌트 구현 * #4 feat: VerificationSubPage 구현 * #4 feat: Sign up MainSubPage 구현 * #4 feat: SignUpPage 구현 * [feat] my profile page 구현 (#27) * #11 refactor : route 관련 임시 작성 * #11 feat : 콤마 추가하는 유틸함수 구현 * #11 feat : MyProfilePage 구현 - App.tsx에 path 문제 수정 - PortfoliosPage 구현 - ProfileEditPage 구현 * #11 rename : profile 관련 파일 구조 변경 * #11 refactor : 변수, 함수 네이밍 피드백 반영 * merge dev-fe into fe/feat/#11-myProfile-page * #11 refactor : MyProfilePage 리팩토링 - 불필요한 state 제거 - MyProfilePage에 section 없이 이동시 portfoliosPage로 리다이렉트 --------- Co-authored-by: Daeram Chung <daeram.chung@gmail.com> * [feat] WatchlistPage 구현 (#28) * #24 refactor: TVTickerTape function 형식으로 수정 * #24 feat: WatchlistPage 구현 * #24 refactor: NavBar props 형식 수정 * #24 comment: 주석 삭제 * #24 refactor: 심볼 구성 변겅 * #24 chore: 드래그앤드롭 라이브러리 설치 * #24 refactor: PR 리뷰 피드백 반영 * [feat] Dashboard 포트폴리오 파이차트, 총 자산현황 라인차트 구현 (#34) * #30 refactor: currentValue 컴포넌트로 분리 * #30 feat: Portfolio Pie Chart 구현 * #30 feat: 총 자산 형황 추이 Line Chart 구현 * #30 style: 불필요한 console log 삭제 * #30 chore: 의존성 추가 및 주석처리 * #30 refactor: PR 피드백 반영한 수정 * [feat] OAuth SignIn 구현 (#42) * #4 feat: Sign up data에 passwordConfirm field 추가 * #4 feat: Sign up, 닉네임/이메일 중복검사 api 및 mock 추가 * #4 fix: useText 초기값 validate 적용 * #4 feat: NicknameSubPage "다음" 버튼 disabled 조건 적용 * #4 feat: Email verification code api 및 mock 추가 * #4 feat: Sign up subpage "다음" 버튼 disabled 조건 추가 * #4 feat: Signup nickname 중복 체크 기능 추가 * #4 feat: Signup email 중복 체크 기능 추가 * #4 feat: Signup password confirm mismatch 에러 메시지 추가 * #4 feat: Signup email verification code 요청 추가 * #4 feat: Google SignIn 추가 * #4 feat: Popup window 구현 * #4 feat: Kakao 로그인 버튼 구현 * #4 feat: Naver 로그인 버튼 구현 * #4 style: console.log 제거 * #4 fix: Window.naver doesn't exist type error * #4 refactor: KakaoSignInButton oAuthPopUpWindow type guard 적용 * #4 refactor: Env variables 상수화 * PortfolioPage API 공유를 위한 PR (#53) * #44 design: Plus icon 추가 * #44 feat: 포트폴리오 상세 조회 및 종목 조회 API 및 mock 추가 * #44 chore: MUI icons 패키지 설치 * #44 feat: PortfolioHoldingsTable 컴포넌트 구현 * #44 feat: PortfolioPage 기본 틀 구현 * #44 feat: Portfolio details data type 수정 * #44 feat: PortfolioHoldingsRow 컴포넌트 분리 * #44 fix: Portfolio holding mock data 수정 * Dependencies 공유를 위한 PR (#59) * #44 design: Plus icon 추가 * #44 feat: 포트폴리오 상세 조회 및 종목 조회 API 및 mock 추가 * #44 chore: MUI icons 패키지 설치 * #44 feat: PortfolioHoldingsTable 컴포넌트 구현 * #44 feat: PortfolioPage 기본 틀 구현 * #44 feat: Portfolio details data type 수정 * #44 feat: PortfolioHoldingsRow 컴포넌트 분리 * #44 fix: Portfolio holding mock data 수정 * #44 chore: Jest dependencies 설치 * #44 feat: formatDate 함수 추가 * #44 refactor: PortfolioHoldingLots 컴포넌트 분리 * [feat] 포트폴리오 페이지 차트 영역 구현 (#60) * #52 refactor: 자잘한 색깔 변경 및 코드 위치 수정 * #52 feat: 포트폴리오 종목별 파이차트 구현 * #52 feat: 월 배당금 막대 그래프 구현 * #52 feat: 섹터 Bar 구현 * #52 refactor: 데이터 받는 구조 수정 * #52 feat: 포트폴리오 페이지에 완성된 차트 조합 * #52 refactor: PR 피드백 반영한 수정 * #52 refactor: PR 피드백 반영한 수정 * [feat] 포트폴리오 종목 테이블 관련 기능 중간 공유 (#71) * #44 design: Plus icon 추가 * #44 feat: 포트폴리오 상세 조회 및 종목 조회 API 및 mock 추가 * #44 chore: MUI icons 패키지 설치 * #44 feat: PortfolioHoldingsTable 컴포넌트 구현 * #44 feat: PortfolioPage 기본 틀 구현 * #44 feat: Portfolio details data type 수정 * #44 feat: PortfolioHoldingsRow 컴포넌트 분리 * #44 fix: Portfolio holding mock data 수정 * #44 chore: Jest dependencies 설치 * #44 feat: formatDate 함수 추가 * #44 refactor: PortfolioHoldingLots 컴포넌트 분리 * #44 rename: textValidators -> authInputValidators 파일명 변경 * #44 feat: validateDateFormat util 함수 추가 * #44 fix: import path 수정 * #44 feat: Portfolio 매입이력 수정 컴포넌트 구현 * #44 fix: Auth query key import 수정 * #44 chore: package.json 수정 * #44 refactor: Portfolio holding lot 개별 수정 및 저장으로 변경 * #44 feat: Portfolio holding purchase add api 및 mutation 추가 * #44 feat: Portoflio holding purchase add 틀 구현 * #44 fix: usePortfolioHoldingPurchaseAddMutation filter 수정 * #44 feat: Portfolio holding purchase edit api 및 mutation 추가 * #44 fix: Portfolio holding purchase edit mutation key 수정 * #44 feat: Portfolio holding purchase delete api 및 mutation 추가 * #44 feat: Portfolio holding add api 및 mutation 추가 * #44 feat: Portfolio holding delete api 및 mutation 추가 * #44 style: 종목 삭제 버튼 todo 주석 추가 * [feat] 포트폴리오 상태 영역 구현 및 공용 컴포넌트 구현 (#72) * #39 feat : Portfolio base Page 구현 * #40 refactor : MUI 문제 해결 - @emotion/react, @emotion/styled 패키지 추가 - tsconfig resolve 삭제 - main에 StyledEngineProvider 추가 * #40 feat : 모달 관련 공용 컴포넌트 구현 - Confirm과 PortfolioModal에 공용으로 사용할 baseModal 구현 - Confirm, PortfolioModal 구현 * #40 feat : MUI를 활용한 ToggleSwitch 구현 * #40 refactor : 포트폴리오 data에 securitiesFirm 추가 * #40 feat : PortfolioOverview 컴포넌트 구현 * #40 rename : Confirm -> ConfirmAlert으로 변경 * #40 refactor : destructuring 컨벤션에 맞게 수정 * #40 refactor : destructuring 컨벤션에 맞게 수정 * #40 refactor : 불필요한 useEffect 제거 --------- Co-authored-by: Daeram Chung <daeram.chung@gmail.com> * style: Package.json 쉼표 제거 * chore: 누락된 dependencies 설치 및 기타 수정 * [chore] Husky 및 lint-staged setup (#78) * #76 chore: Husky, lint-staged 설치 및 설정 * #76 chore: Fix invalid husky pre-commit hook name * #76 fix: Type error 처리 * fix: ESLint unnamed export default 수정 * feat: 차트 분류 퍼센티지 표기 --------- Co-authored-by: bakhacode <bakhamitai@naver.com> Co-authored-by: Jay <chlwodnjs34@gmail.com>
* chore: Dependency 설치 및 프로젝트 초기화 * chore: Mock 초기화 * chore: vscode settings unignore * chore: React query 설치 및 설정 * feat: Router 설정 * feat: API response 및 status 타입 정의 * feat: SignUpPage 세팅 * chore: README 초기화 * docs: FE 브랜치 전략 수정 * [feat] Home/Dashboard 구현 (#13) * #5 feat: Nav Compound Component로 구현 * #5 feat: TickerTape 위젯 컴포넌트화 * #5 feat: Search 컴포넌트 구현 * #5 feat: UserControls 컴포넌트 구현 * #5 feat: Header 컴포넌트 구현 * #5 feat: Footer 컴포넌트 구현 * #5 feat: Dashboard UI 구현 * #5 feat: DateRange 추가 * #5 refactor: Nav 컴포넌트 Context 활용한 방식으로 수정 * #5 refactor: a태그 url 상수 사용 * #5 refactor: NavBar Item들을 직접 넘겨주는 방식으로 수정 * #5 feat: Dropdown 컴포넌트 Compound Component 구현 * #5 refactor: PR 피드백 반영한 수정 * #5 refactor: NavBar,Dropdown 수정 * [feat] SignUpPage 구현 (#26) * #4 fix: ProtectedRoute, PublicOnlyRoute 수정 * #4 chore: vite-tsconfig-paths 설치 * #4 feat: OAuthProvider type 수정 및 useOAuthSignInMutation 추가 * #4 chore: Path alias 추가 * #4 design: GlobalStyles 및 기본 css 적용 * #4 chore: Utils path alias 추가 * #4 feat: BasePage 구현 * #4 design: BasePage 구현 * #4 design: Sign up SubPage 구현 * #4 feat: NicknameSubPage 구현 * #4 feat: EmailSubPage 구현 * #4 feat: PasswordSubPage 구현 * #4 feat: VerificationCodeInput 컴포넌트 구현 * #4 feat: VerificationSubPage 구현 * #4 feat: Sign up MainSubPage 구현 * #4 feat: SignUpPage 구현 * [feat] my profile page 구현 (#27) * #11 refactor : route 관련 임시 작성 * #11 feat : 콤마 추가하는 유틸함수 구현 * #11 feat : MyProfilePage 구현 - App.tsx에 path 문제 수정 - PortfoliosPage 구현 - ProfileEditPage 구현 * #11 rename : profile 관련 파일 구조 변경 * #11 refactor : 변수, 함수 네이밍 피드백 반영 * merge dev-fe into fe/feat/#11-myProfile-page * #11 refactor : MyProfilePage 리팩토링 - 불필요한 state 제거 - MyProfilePage에 section 없이 이동시 portfoliosPage로 리다이렉트 --------- Co-authored-by: Daeram Chung <daeram.chung@gmail.com> * [feat] WatchlistPage 구현 (#28) * #24 refactor: TVTickerTape function 형식으로 수정 * #24 feat: WatchlistPage 구현 * #24 refactor: NavBar props 형식 수정 * #24 comment: 주석 삭제 * #24 refactor: 심볼 구성 변겅 * #24 chore: 드래그앤드롭 라이브러리 설치 * #24 refactor: PR 리뷰 피드백 반영 * [feat] Dashboard 포트폴리오 파이차트, 총 자산현황 라인차트 구현 (#34) * #30 refactor: currentValue 컴포넌트로 분리 * #30 feat: Portfolio Pie Chart 구현 * #30 feat: 총 자산 형황 추이 Line Chart 구현 * #30 style: 불필요한 console log 삭제 * #30 chore: 의존성 추가 및 주석처리 * #30 refactor: PR 피드백 반영한 수정 * [feat] OAuth SignIn 구현 (#42) * #4 feat: Sign up data에 passwordConfirm field 추가 * #4 feat: Sign up, 닉네임/이메일 중복검사 api 및 mock 추가 * #4 fix: useText 초기값 validate 적용 * #4 feat: NicknameSubPage "다음" 버튼 disabled 조건 적용 * #4 feat: Email verification code api 및 mock 추가 * #4 feat: Sign up subpage "다음" 버튼 disabled 조건 추가 * #4 feat: Signup nickname 중복 체크 기능 추가 * #4 feat: Signup email 중복 체크 기능 추가 * #4 feat: Signup password confirm mismatch 에러 메시지 추가 * #4 feat: Signup email verification code 요청 추가 * #4 feat: Google SignIn 추가 * #4 feat: Popup window 구현 * #4 feat: Kakao 로그인 버튼 구현 * #4 feat: Naver 로그인 버튼 구현 * #4 style: console.log 제거 * #4 fix: Window.naver doesn't exist type error * #4 refactor: KakaoSignInButton oAuthPopUpWindow type guard 적용 * #4 refactor: Env variables 상수화 * PortfolioPage API 공유를 위한 PR (#53) * #44 design: Plus icon 추가 * #44 feat: 포트폴리오 상세 조회 및 종목 조회 API 및 mock 추가 * #44 chore: MUI icons 패키지 설치 * #44 feat: PortfolioHoldingsTable 컴포넌트 구현 * #44 feat: PortfolioPage 기본 틀 구현 * #44 feat: Portfolio details data type 수정 * #44 feat: PortfolioHoldingsRow 컴포넌트 분리 * #44 fix: Portfolio holding mock data 수정 * Dependencies 공유를 위한 PR (#59) * #44 design: Plus icon 추가 * #44 feat: 포트폴리오 상세 조회 및 종목 조회 API 및 mock 추가 * #44 chore: MUI icons 패키지 설치 * #44 feat: PortfolioHoldingsTable 컴포넌트 구현 * #44 feat: PortfolioPage 기본 틀 구현 * #44 feat: Portfolio details data type 수정 * #44 feat: PortfolioHoldingsRow 컴포넌트 분리 * #44 fix: Portfolio holding mock data 수정 * #44 chore: Jest dependencies 설치 * #44 feat: formatDate 함수 추가 * #44 refactor: PortfolioHoldingLots 컴포넌트 분리 * [feat] 포트폴리오 페이지 차트 영역 구현 (#60) * #52 refactor: 자잘한 색깔 변경 및 코드 위치 수정 * #52 feat: 포트폴리오 종목별 파이차트 구현 * #52 feat: 월 배당금 막대 그래프 구현 * #52 feat: 섹터 Bar 구현 * #52 refactor: 데이터 받는 구조 수정 * #52 feat: 포트폴리오 페이지에 완성된 차트 조합 * #52 refactor: PR 피드백 반영한 수정 * #52 refactor: PR 피드백 반영한 수정 * [feat] 포트폴리오 종목 테이블 관련 기능 중간 공유 (#71) * #44 design: Plus icon 추가 * #44 feat: 포트폴리오 상세 조회 및 종목 조회 API 및 mock 추가 * #44 chore: MUI icons 패키지 설치 * #44 feat: PortfolioHoldingsTable 컴포넌트 구현 * #44 feat: PortfolioPage 기본 틀 구현 * #44 feat: Portfolio details data type 수정 * #44 feat: PortfolioHoldingsRow 컴포넌트 분리 * #44 fix: Portfolio holding mock data 수정 * #44 chore: Jest dependencies 설치 * #44 feat: formatDate 함수 추가 * #44 refactor: PortfolioHoldingLots 컴포넌트 분리 * #44 rename: textValidators -> authInputValidators 파일명 변경 * #44 feat: validateDateFormat util 함수 추가 * #44 fix: import path 수정 * #44 feat: Portfolio 매입이력 수정 컴포넌트 구현 * #44 fix: Auth query key import 수정 * #44 chore: package.json 수정 * #44 refactor: Portfolio holding lot 개별 수정 및 저장으로 변경 * #44 feat: Portfolio holding purchase add api 및 mutation 추가 * #44 feat: Portoflio holding purchase add 틀 구현 * #44 fix: usePortfolioHoldingPurchaseAddMutation filter 수정 * #44 feat: Portfolio holding purchase edit api 및 mutation 추가 * #44 fix: Portfolio holding purchase edit mutation key 수정 * #44 feat: Portfolio holding purchase delete api 및 mutation 추가 * #44 feat: Portfolio holding add api 및 mutation 추가 * #44 feat: Portfolio holding delete api 및 mutation 추가 * #44 style: 종목 삭제 버튼 todo 주석 추가 * [feat] 포트폴리오 상태 영역 구현 및 공용 컴포넌트 구현 (#72) * #39 feat : Portfolio base Page 구현 * #40 refactor : MUI 문제 해결 - @emotion/react, @emotion/styled 패키지 추가 - tsconfig resolve 삭제 - main에 StyledEngineProvider 추가 * #40 feat : 모달 관련 공용 컴포넌트 구현 - Confirm과 PortfolioModal에 공용으로 사용할 baseModal 구현 - Confirm, PortfolioModal 구현 * #40 feat : MUI를 활용한 ToggleSwitch 구현 * #40 refactor : 포트폴리오 data에 securitiesFirm 추가 * #40 feat : PortfolioOverview 컴포넌트 구현 * #40 rename : Confirm -> ConfirmAlert으로 변경 * #40 refactor : destructuring 컨벤션에 맞게 수정 * #40 refactor : destructuring 컨벤션에 맞게 수정 * #40 refactor : 불필요한 useEffect 제거 --------- Co-authored-by: Daeram Chung <daeram.chung@gmail.com> * style: Package.json 쉼표 제거 * chore: 누락된 dependencies 설치 및 기타 수정 * [chore] Husky 및 lint-staged setup (#78) * #76 chore: Husky, lint-staged 설치 및 설정 * #76 chore: Fix invalid husky pre-commit hook name * #76 fix: Type error 처리 * fix: ESLint unnamed export default 수정 * feat: 차트 분류 퍼센티지 표기 * style: 아직 안쓰는 변수 주석 및 기타 처리 --------- Co-authored-by: bakhacode <bakhamitai@naver.com> Co-authored-by: Jay <chlwodnjs34@gmail.com>
* [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선
* #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현
* #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거
* #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99)
* #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현
* #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * [feat] 목표수익금액/최대손실금액 알림 서비스 구현 (#110) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#95) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * [feat] 포트폴리오 상세 조회 및 종목 조회시 배당금 데이터 응답 구현 (#105) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현
* #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * #101 feat: 배당금 데이터 초기화 구현 * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 목표수익금액/최대손실금액 알림 서비스 구현 (#110) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#95) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * [feat] 포트폴리오 상세 조회 및 종목 조회시 배당금 데이터 응답 구현 (#105) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현
* #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * #101 feat: 배당금 데이터 초기화 구현 * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 목표수익금액/최대손실금액 알림 서비스 구현 (#110) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#95) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * [feat] 포트폴리오 상세 조회 및 종목 조회시 배당금 데이터 응답 구현 (#105) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 fix: cors 설정
* #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * #101 feat: 배당금 데이터 초기화 구현 * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 목표수익금액/최대손실금액 알림 서비스 구현 (#110) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#95) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * [feat] 포트폴리오 상세 조회 및 종목 조회시 배당금 데이터 응답 구현 (#105) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 fix: cors 설정 * #22 fix: @EnableWebMvc 제거
* #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * #101 feat: 배당금 데이터 초기화 구현 * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 목표수익금액/최대손실금액 알림 서비스 구현 (#110) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#95) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * [feat] 포트폴리오 상세 조회 및 종목 조회시 배당금 데이터 응답 구현 (#105) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 fix: cors 설정 * #22 fix: @EnableWebMvc 제거
* #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * #101 feat: 배당금 데이터 초기화 구현 * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 목표수익금액/최대손실금액 알림 서비스 구현 (#110) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#95) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * [feat] 포트폴리오 상세 조회 및 종목 조회시 배당금 데이터 응답 구현 (#105) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 fix: cors 설정 * #22 fix: @EnableWebMvc 제거 * #22 fix: @EnableWebMvc 제거 * #22 fix: corsFilter 추가 * #22 refactor: 주식 현재가 구독-발행 변경 - 기존 각각의 currentPrice 구독이 아닌 포트폴리오 단위로 변경
* #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * #101 feat: 배당금 데이터 초기화 구현 * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 목표수익금액/최대손실금액 알림 서비스 구현 (#110) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#95) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * [feat] 포트폴리오 상세 조회 및 종목 조회시 배당금 데이터 응답 구현 (#105) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 fix: cors 설정 * #22 fix: @EnableWebMvc 제거 * #22 fix: @EnableWebMvc 제거 * #22 fix: corsFilter 추가 * #22 refactor: 주식 현재가 구독-발행 변경 - 기존 각각의 currentPrice 구독이 아닌 포트폴리오 단위로 변경 * #22 feat: 웹소켓 엔드포인트 연결 url 변경 - stock -> portfolio
* #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * #101 feat: 배당금 데이터 초기화 구현 * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 목표수익금액/최대손실금액 알림 서비스 구현 (#110) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#95) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * [feat] 포트폴리오 상세 조회 및 종목 조회시 배당금 데이터 응답 구현 (#105) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 fix: cors 설정 * #22 fix: @EnableWebMvc 제거 * #22 fix: @EnableWebMvc 제거 * #22 fix: corsFilter 추가 * #22 refactor: 주식 현재가 구독-발행 변경 - 기존 각각의 currentPrice 구독이 아닌 포트폴리오 단위로 변경 * #22 feat: 웹소켓 엔드포인트 연결 url 변경 - stock -> portfolio * #121 fix: 브로드캐스팅 오타 수정
* chore: Dependency 설치 및 프로젝트 초기화 * chore: Mock 초기화 * chore: vscode settings unignore * chore: React query 설치 및 설정 * feat: Router 설정 * feat: API response 및 status 타입 정의 * feat: SignUpPage 세팅 * chore: README 초기화 * docs: FE 브랜치 전략 수정 * [feat] Home/Dashboard 구현 (#13) * #5 feat: Nav Compound Component로 구현 * #5 feat: TickerTape 위젯 컴포넌트화 * #5 feat: Search 컴포넌트 구현 * #5 feat: UserControls 컴포넌트 구현 * #5 feat: Header 컴포넌트 구현 * #5 feat: Footer 컴포넌트 구현 * #5 feat: Dashboard UI 구현 * #5 feat: DateRange 추가 * #5 refactor: Nav 컴포넌트 Context 활용한 방식으로 수정 * #5 refactor: a태그 url 상수 사용 * #5 refactor: NavBar Item들을 직접 넘겨주는 방식으로 수정 * #5 feat: Dropdown 컴포넌트 Compound Component 구현 * #5 refactor: PR 피드백 반영한 수정 * #5 refactor: NavBar,Dropdown 수정 * [feat] SignUpPage 구현 (#26) * #4 fix: ProtectedRoute, PublicOnlyRoute 수정 * #4 chore: vite-tsconfig-paths 설치 * #4 feat: OAuthProvider type 수정 및 useOAuthSignInMutation 추가 * #4 chore: Path alias 추가 * #4 design: GlobalStyles 및 기본 css 적용 * #4 chore: Utils path alias 추가 * #4 feat: BasePage 구현 * #4 design: BasePage 구현 * #4 design: Sign up SubPage 구현 * #4 feat: NicknameSubPage 구현 * #4 feat: EmailSubPage 구현 * #4 feat: PasswordSubPage 구현 * #4 feat: VerificationCodeInput 컴포넌트 구현 * #4 feat: VerificationSubPage 구현 * #4 feat: Sign up MainSubPage 구현 * #4 feat: SignUpPage 구현 * [feat] my profile page 구현 (#27) * #11 refactor : route 관련 임시 작성 * #11 feat : 콤마 추가하는 유틸함수 구현 * #11 feat : MyProfilePage 구현 - App.tsx에 path 문제 수정 - PortfoliosPage 구현 - ProfileEditPage 구현 * #11 rename : profile 관련 파일 구조 변경 * #11 refactor : 변수, 함수 네이밍 피드백 반영 * merge dev-fe into fe/feat/#11-myProfile-page * #11 refactor : MyProfilePage 리팩토링 - 불필요한 state 제거 - MyProfilePage에 section 없이 이동시 portfoliosPage로 리다이렉트 --------- Co-authored-by: Daeram Chung <daeram.chung@gmail.com> * [feat] WatchlistPage 구현 (#28) * #24 refactor: TVTickerTape function 형식으로 수정 * #24 feat: WatchlistPage 구현 * #24 refactor: NavBar props 형식 수정 * #24 comment: 주석 삭제 * #24 refactor: 심볼 구성 변겅 * #24 chore: 드래그앤드롭 라이브러리 설치 * #24 refactor: PR 리뷰 피드백 반영 * [feat] Dashboard 포트폴리오 파이차트, 총 자산현황 라인차트 구현 (#34) * #30 refactor: currentValue 컴포넌트로 분리 * #30 feat: Portfolio Pie Chart 구현 * #30 feat: 총 자산 형황 추이 Line Chart 구현 * #30 style: 불필요한 console log 삭제 * #30 chore: 의존성 추가 및 주석처리 * #30 refactor: PR 피드백 반영한 수정 * [feat] OAuth SignIn 구현 (#42) * #4 feat: Sign up data에 passwordConfirm field 추가 * #4 feat: Sign up, 닉네임/이메일 중복검사 api 및 mock 추가 * #4 fix: useText 초기값 validate 적용 * #4 feat: NicknameSubPage "다음" 버튼 disabled 조건 적용 * #4 feat: Email verification code api 및 mock 추가 * #4 feat: Sign up subpage "다음" 버튼 disabled 조건 추가 * #4 feat: Signup nickname 중복 체크 기능 추가 * #4 feat: Signup email 중복 체크 기능 추가 * #4 feat: Signup password confirm mismatch 에러 메시지 추가 * #4 feat: Signup email verification code 요청 추가 * #4 feat: Google SignIn 추가 * #4 feat: Popup window 구현 * #4 feat: Kakao 로그인 버튼 구현 * #4 feat: Naver 로그인 버튼 구현 * #4 style: console.log 제거 * #4 fix: Window.naver doesn't exist type error * #4 refactor: KakaoSignInButton oAuthPopUpWindow type guard 적용 * #4 refactor: Env variables 상수화 * PortfolioPage API 공유를 위한 PR (#53) * #44 design: Plus icon 추가 * #44 feat: 포트폴리오 상세 조회 및 종목 조회 API 및 mock 추가 * #44 chore: MUI icons 패키지 설치 * #44 feat: PortfolioHoldingsTable 컴포넌트 구현 * #44 feat: PortfolioPage 기본 틀 구현 * #44 feat: Portfolio details data type 수정 * #44 feat: PortfolioHoldingsRow 컴포넌트 분리 * #44 fix: Portfolio holding mock data 수정 * Dependencies 공유를 위한 PR (#59) * #44 design: Plus icon 추가 * #44 feat: 포트폴리오 상세 조회 및 종목 조회 API 및 mock 추가 * #44 chore: MUI icons 패키지 설치 * #44 feat: PortfolioHoldingsTable 컴포넌트 구현 * #44 feat: PortfolioPage 기본 틀 구현 * #44 feat: Portfolio details data type 수정 * #44 feat: PortfolioHoldingsRow 컴포넌트 분리 * #44 fix: Portfolio holding mock data 수정 * #44 chore: Jest dependencies 설치 * #44 feat: formatDate 함수 추가 * #44 refactor: PortfolioHoldingLots 컴포넌트 분리 * [feat] 포트폴리오 페이지 차트 영역 구현 (#60) * #52 refactor: 자잘한 색깔 변경 및 코드 위치 수정 * #52 feat: 포트폴리오 종목별 파이차트 구현 * #52 feat: 월 배당금 막대 그래프 구현 * #52 feat: 섹터 Bar 구현 * #52 refactor: 데이터 받는 구조 수정 * #52 feat: 포트폴리오 페이지에 완성된 차트 조합 * #52 refactor: PR 피드백 반영한 수정 * #52 refactor: PR 피드백 반영한 수정 * [feat] 포트폴리오 종목 테이블 관련 기능 중간 공유 (#71) * #44 design: Plus icon 추가 * #44 feat: 포트폴리오 상세 조회 및 종목 조회 API 및 mock 추가 * #44 chore: MUI icons 패키지 설치 * #44 feat: PortfolioHoldingsTable 컴포넌트 구현 * #44 feat: PortfolioPage 기본 틀 구현 * #44 feat: Portfolio details data type 수정 * #44 feat: PortfolioHoldingsRow 컴포넌트 분리 * #44 fix: Portfolio holding mock data 수정 * #44 chore: Jest dependencies 설치 * #44 feat: formatDate 함수 추가 * #44 refactor: PortfolioHoldingLots 컴포넌트 분리 * #44 rename: textValidators -> authInputValidators 파일명 변경 * #44 feat: validateDateFormat util 함수 추가 * #44 fix: import path 수정 * #44 feat: Portfolio 매입이력 수정 컴포넌트 구현 * #44 fix: Auth query key import 수정 * #44 chore: package.json 수정 * #44 refactor: Portfolio holding lot 개별 수정 및 저장으로 변경 * #44 feat: Portfolio holding purchase add api 및 mutation 추가 * #44 feat: Portoflio holding purchase add 틀 구현 * #44 fix: usePortfolioHoldingPurchaseAddMutation filter 수정 * #44 feat: Portfolio holding purchase edit api 및 mutation 추가 * #44 fix: Portfolio holding purchase edit mutation key 수정 * #44 feat: Portfolio holding purchase delete api 및 mutation 추가 * #44 feat: Portfolio holding add api 및 mutation 추가 * #44 feat: Portfolio holding delete api 및 mutation 추가 * #44 style: 종목 삭제 버튼 todo 주석 추가 * [feat] 포트폴리오 상태 영역 구현 및 공용 컴포넌트 구현 (#72) * #39 feat : Portfolio base Page 구현 * #40 refactor : MUI 문제 해결 - @emotion/react, @emotion/styled 패키지 추가 - tsconfig resolve 삭제 - main에 StyledEngineProvider 추가 * #40 feat : 모달 관련 공용 컴포넌트 구현 - Confirm과 PortfolioModal에 공용으로 사용할 baseModal 구현 - Confirm, PortfolioModal 구현 * #40 feat : MUI를 활용한 ToggleSwitch 구현 * #40 refactor : 포트폴리오 data에 securitiesFirm 추가 * #40 feat : PortfolioOverview 컴포넌트 구현 * #40 rename : Confirm -> ConfirmAlert으로 변경 * #40 refactor : destructuring 컨벤션에 맞게 수정 * #40 refactor : destructuring 컨벤션에 맞게 수정 * #40 refactor : 불필요한 useEffect 제거 --------- Co-authored-by: Daeram Chung <daeram.chung@gmail.com> * style: Package.json 쉼표 제거 * chore: 누락된 dependencies 설치 및 기타 수정 * [chore] Husky 및 lint-staged setup (#78) * #76 chore: Husky, lint-staged 설치 및 설정 * #76 chore: Fix invalid husky pre-commit hook name * #76 fix: Type error 처리 * fix: ESLint unnamed export default 수정 * feat: 차트 분류 퍼센티지 표기 * style: 아직 안쓰는 변수 주석 및 기타 처리 * [feat] Portfolio holding purchase history 삭제 기능 (#91) * #44: React query devtools 설치 * #44 fix: Portfolio 관련 invalidateQueries query key 수정 * #44 feat: Portfolio holding purchase history delete mock 추가 * #44 feat: Portfolio holding purchase history 삭제 기능 추가 * [feat] 검색바 UI에 검색 API 연동 (#96) * #93 feat: 검색바 UI에 검색 API 연동 * design: 자잘한 디자인 수정 * chore: 개발 환경 수정 * chore: eslint console.log error 처리 * refactor: search 쿼리 설정 수정 * refactor: PR 리뷰 피드백 수정 * [refactor] portfolioOverView 리팩토링 (#102) * #77 refactor : number input에 숫자 제외 입력 제한, 반복 로직 분리 * #77 refactor : ToggleSwitch 불필요한 margin 제거 * #77 feat : 포트폴리오 추가, 수정, 삭제 api 구현 * #77 refactor : 포트폴리오 추가, 수정, 삭제 api 적용 * #77 refactor : api에 맞게 구현 및 수정 - purchaseHistory에 memo api에 맞게 string | null로 수정 - msw에서 포트폴리오 추가, 삭제, 수정 기능 * #77 refactor : 불필요한 useEffect cleanup 삭제 * #77 refactor : 포트폴리오 추가시 모달이 닫히지 않는 문제 수정 * #77 refactor : 불필요한 invalidate 제거 * #77 refactor : mutate 명확한 이름으로 재정의 * #77 refactor : 반복적으로 사용하는 함수 utils로 이동 및 적용 * #77 refactor : pr 피드백 반영 - boolean 값 네이밍 is가 접두사로 오게 수정 - 함수명 더 명확하게 재정의 * #77 rename : calculate -> calculations * #77 refactor : 잘못 수정한 로직 변경 * #77 refactor : portfolioDetails 형태 변경 * [fix] Auth API 수정 및 User Context 구현 (#107) * fix: 로그인 상태 유지 안되는 버그 해결 - 후에 토큰 및 사용자 정보 API 분리 후 사용자 정보(user)는 localStorage가 아니라 query cache 사용 예정 * feat: 로그아웃 버튼 추가 및 로그아웃 mock 추가 * [feat] 포트폴리오 매입 이력 추가 및 수정 기능 구현 (#109) * #44 rename: Portfolio holdings 관련 파일 정리 * #44 chore: MUI date picker 및 Dayjs 설치 * #44 feat: 포트폴리오 매입 이력 추가 기능 및 mock 구현 * #44 feat: 포트폴리오 매입 이력 수정 기능 및 mock 추가 * [feat] StockPage 구현 및 포트폴리오 종목 추가,삭제 구현 (#123) * #108 feat: 검색결과와 StockPage 연결 구현 * rename: 포트폴리오 쿼리 이름 변경 * design: 포트폴리오 페이지 차트 컨테이너들에 그림자 추가 * feat: 포트폴리오 종목 추가,삭제 기능 추가 + msw * design: 포트폴리오 오버뷰 UI 디자인 적용 * rename: 포트폴리오 쿼리 이름 변경 * refactor: mutation onSuccess 위치 수정 * refactor: 함수명 컨벤션에 맞게 수정 * refactor: PR 리뷰 피드백 수정 * rename: PR 리뷰 피드백 수정 * [feat] 포트폴리오 상세 조회 및 종목 조회 WebSocket 구현 (#124) * fix: Sign out API 수정 * #113 chore: Stompjs 설치 * #113 feat: useStompSubWithRQ 구현 및 포트폴리오 페이지 websocket 구현 * refactor: Hooks 폴더 정리 및 포트폴리오 모달 usePortfolioAddMutation 수정 --------- Co-authored-by: bakhacode <bakhamitai@naver.com> Co-authored-by: Jay <chlwodnjs34@gmail.com>
* chore: Dependency 설치 및 프로젝트 초기화 * chore: Mock 초기화 * chore: vscode settings unignore * chore: React query 설치 및 설정 * feat: Router 설정 * feat: API response 및 status 타입 정의 * feat: SignUpPage 세팅 * chore: README 초기화 * docs: FE 브랜치 전략 수정 * [feat] Home/Dashboard 구현 (#13) * #5 feat: Nav Compound Component로 구현 * #5 feat: TickerTape 위젯 컴포넌트화 * #5 feat: Search 컴포넌트 구현 * #5 feat: UserControls 컴포넌트 구현 * #5 feat: Header 컴포넌트 구현 * #5 feat: Footer 컴포넌트 구현 * #5 feat: Dashboard UI 구현 * #5 feat: DateRange 추가 * #5 refactor: Nav 컴포넌트 Context 활용한 방식으로 수정 * #5 refactor: a태그 url 상수 사용 * #5 refactor: NavBar Item들을 직접 넘겨주는 방식으로 수정 * #5 feat: Dropdown 컴포넌트 Compound Component 구현 * #5 refactor: PR 피드백 반영한 수정 * #5 refactor: NavBar,Dropdown 수정 * [feat] SignUpPage 구현 (#26) * #4 fix: ProtectedRoute, PublicOnlyRoute 수정 * #4 chore: vite-tsconfig-paths 설치 * #4 feat: OAuthProvider type 수정 및 useOAuthSignInMutation 추가 * #4 chore: Path alias 추가 * #4 design: GlobalStyles 및 기본 css 적용 * #4 chore: Utils path alias 추가 * #4 feat: BasePage 구현 * #4 design: BasePage 구현 * #4 design: Sign up SubPage 구현 * #4 feat: NicknameSubPage 구현 * #4 feat: EmailSubPage 구현 * #4 feat: PasswordSubPage 구현 * #4 feat: VerificationCodeInput 컴포넌트 구현 * #4 feat: VerificationSubPage 구현 * #4 feat: Sign up MainSubPage 구현 * #4 feat: SignUpPage 구현 * [feat] my profile page 구현 (#27) * #11 refactor : route 관련 임시 작성 * #11 feat : 콤마 추가하는 유틸함수 구현 * #11 feat : MyProfilePage 구현 - App.tsx에 path 문제 수정 - PortfoliosPage 구현 - ProfileEditPage 구현 * #11 rename : profile 관련 파일 구조 변경 * #11 refactor : 변수, 함수 네이밍 피드백 반영 * merge dev-fe into fe/feat/#11-myProfile-page * #11 refactor : MyProfilePage 리팩토링 - 불필요한 state 제거 - MyProfilePage에 section 없이 이동시 portfoliosPage로 리다이렉트 --------- Co-authored-by: Daeram Chung <daeram.chung@gmail.com> * [feat] WatchlistPage 구현 (#28) * #24 refactor: TVTickerTape function 형식으로 수정 * #24 feat: WatchlistPage 구현 * #24 refactor: NavBar props 형식 수정 * #24 comment: 주석 삭제 * #24 refactor: 심볼 구성 변겅 * #24 chore: 드래그앤드롭 라이브러리 설치 * #24 refactor: PR 리뷰 피드백 반영 * [feat] Dashboard 포트폴리오 파이차트, 총 자산현황 라인차트 구현 (#34) * #30 refactor: currentValue 컴포넌트로 분리 * #30 feat: Portfolio Pie Chart 구현 * #30 feat: 총 자산 형황 추이 Line Chart 구현 * #30 style: 불필요한 console log 삭제 * #30 chore: 의존성 추가 및 주석처리 * #30 refactor: PR 피드백 반영한 수정 * [feat] OAuth SignIn 구현 (#42) * #4 feat: Sign up data에 passwordConfirm field 추가 * #4 feat: Sign up, 닉네임/이메일 중복검사 api 및 mock 추가 * #4 fix: useText 초기값 validate 적용 * #4 feat: NicknameSubPage "다음" 버튼 disabled 조건 적용 * #4 feat: Email verification code api 및 mock 추가 * #4 feat: Sign up subpage "다음" 버튼 disabled 조건 추가 * #4 feat: Signup nickname 중복 체크 기능 추가 * #4 feat: Signup email 중복 체크 기능 추가 * #4 feat: Signup password confirm mismatch 에러 메시지 추가 * #4 feat: Signup email verification code 요청 추가 * #4 feat: Google SignIn 추가 * #4 feat: Popup window 구현 * #4 feat: Kakao 로그인 버튼 구현 * #4 feat: Naver 로그인 버튼 구현 * #4 style: console.log 제거 * #4 fix: Window.naver doesn't exist type error * #4 refactor: KakaoSignInButton oAuthPopUpWindow type guard 적용 * #4 refactor: Env variables 상수화 * PortfolioPage API 공유를 위한 PR (#53) * #44 design: Plus icon 추가 * #44 feat: 포트폴리오 상세 조회 및 종목 조회 API 및 mock 추가 * #44 chore: MUI icons 패키지 설치 * #44 feat: PortfolioHoldingsTable 컴포넌트 구현 * #44 feat: PortfolioPage 기본 틀 구현 * #44 feat: Portfolio details data type 수정 * #44 feat: PortfolioHoldingsRow 컴포넌트 분리 * #44 fix: Portfolio holding mock data 수정 * Dependencies 공유를 위한 PR (#59) * #44 design: Plus icon 추가 * #44 feat: 포트폴리오 상세 조회 및 종목 조회 API 및 mock 추가 * #44 chore: MUI icons 패키지 설치 * #44 feat: PortfolioHoldingsTable 컴포넌트 구현 * #44 feat: PortfolioPage 기본 틀 구현 * #44 feat: Portfolio details data type 수정 * #44 feat: PortfolioHoldingsRow 컴포넌트 분리 * #44 fix: Portfolio holding mock data 수정 * #44 chore: Jest dependencies 설치 * #44 feat: formatDate 함수 추가 * #44 refactor: PortfolioHoldingLots 컴포넌트 분리 * [feat] 포트폴리오 페이지 차트 영역 구현 (#60) * #52 refactor: 자잘한 색깔 변경 및 코드 위치 수정 * #52 feat: 포트폴리오 종목별 파이차트 구현 * #52 feat: 월 배당금 막대 그래프 구현 * #52 feat: 섹터 Bar 구현 * #52 refactor: 데이터 받는 구조 수정 * #52 feat: 포트폴리오 페이지에 완성된 차트 조합 * #52 refactor: PR 피드백 반영한 수정 * #52 refactor: PR 피드백 반영한 수정 * [feat] 포트폴리오 종목 테이블 관련 기능 중간 공유 (#71) * #44 design: Plus icon 추가 * #44 feat: 포트폴리오 상세 조회 및 종목 조회 API 및 mock 추가 * #44 chore: MUI icons 패키지 설치 * #44 feat: PortfolioHoldingsTable 컴포넌트 구현 * #44 feat: PortfolioPage 기본 틀 구현 * #44 feat: Portfolio details data type 수정 * #44 feat: PortfolioHoldingsRow 컴포넌트 분리 * #44 fix: Portfolio holding mock data 수정 * #44 chore: Jest dependencies 설치 * #44 feat: formatDate 함수 추가 * #44 refactor: PortfolioHoldingLots 컴포넌트 분리 * #44 rename: textValidators -> authInputValidators 파일명 변경 * #44 feat: validateDateFormat util 함수 추가 * #44 fix: import path 수정 * #44 feat: Portfolio 매입이력 수정 컴포넌트 구현 * #44 fix: Auth query key import 수정 * #44 chore: package.json 수정 * #44 refactor: Portfolio holding lot 개별 수정 및 저장으로 변경 * #44 feat: Portfolio holding purchase add api 및 mutation 추가 * #44 feat: Portoflio holding purchase add 틀 구현 * #44 fix: usePortfolioHoldingPurchaseAddMutation filter 수정 * #44 feat: Portfolio holding purchase edit api 및 mutation 추가 * #44 fix: Portfolio holding purchase edit mutation key 수정 * #44 feat: Portfolio holding purchase delete api 및 mutation 추가 * #44 feat: Portfolio holding add api 및 mutation 추가 * #44 feat: Portfolio holding delete api 및 mutation 추가 * #44 style: 종목 삭제 버튼 todo 주석 추가 * [feat] 포트폴리오 상태 영역 구현 및 공용 컴포넌트 구현 (#72) * #39 feat : Portfolio base Page 구현 * #40 refactor : MUI 문제 해결 - @emotion/react, @emotion/styled 패키지 추가 - tsconfig resolve 삭제 - main에 StyledEngineProvider 추가 * #40 feat : 모달 관련 공용 컴포넌트 구현 - Confirm과 PortfolioModal에 공용으로 사용할 baseModal 구현 - Confirm, PortfolioModal 구현 * #40 feat : MUI를 활용한 ToggleSwitch 구현 * #40 refactor : 포트폴리오 data에 securitiesFirm 추가 * #40 feat : PortfolioOverview 컴포넌트 구현 * #40 rename : Confirm -> ConfirmAlert으로 변경 * #40 refactor : destructuring 컨벤션에 맞게 수정 * #40 refactor : destructuring 컨벤션에 맞게 수정 * #40 refactor : 불필요한 useEffect 제거 --------- Co-authored-by: Daeram Chung <daeram.chung@gmail.com> * style: Package.json 쉼표 제거 * chore: 누락된 dependencies 설치 및 기타 수정 * [chore] Husky 및 lint-staged setup (#78) * #76 chore: Husky, lint-staged 설치 및 설정 * #76 chore: Fix invalid husky pre-commit hook name * #76 fix: Type error 처리 * fix: ESLint unnamed export default 수정 * feat: 차트 분류 퍼센티지 표기 * style: 아직 안쓰는 변수 주석 및 기타 처리 * [feat] Portfolio holding purchase history 삭제 기능 (#91) * #44: React query devtools 설치 * #44 fix: Portfolio 관련 invalidateQueries query key 수정 * #44 feat: Portfolio holding purchase history delete mock 추가 * #44 feat: Portfolio holding purchase history 삭제 기능 추가 * [feat] 검색바 UI에 검색 API 연동 (#96) * #93 feat: 검색바 UI에 검색 API 연동 * design: 자잘한 디자인 수정 * chore: 개발 환경 수정 * chore: eslint console.log error 처리 * refactor: search 쿼리 설정 수정 * refactor: PR 리뷰 피드백 수정 * [refactor] portfolioOverView 리팩토링 (#102) * #77 refactor : number input에 숫자 제외 입력 제한, 반복 로직 분리 * #77 refactor : ToggleSwitch 불필요한 margin 제거 * #77 feat : 포트폴리오 추가, 수정, 삭제 api 구현 * #77 refactor : 포트폴리오 추가, 수정, 삭제 api 적용 * #77 refactor : api에 맞게 구현 및 수정 - purchaseHistory에 memo api에 맞게 string | null로 수정 - msw에서 포트폴리오 추가, 삭제, 수정 기능 * #77 refactor : 불필요한 useEffect cleanup 삭제 * #77 refactor : 포트폴리오 추가시 모달이 닫히지 않는 문제 수정 * #77 refactor : 불필요한 invalidate 제거 * #77 refactor : mutate 명확한 이름으로 재정의 * #77 refactor : 반복적으로 사용하는 함수 utils로 이동 및 적용 * #77 refactor : pr 피드백 반영 - boolean 값 네이밍 is가 접두사로 오게 수정 - 함수명 더 명확하게 재정의 * #77 rename : calculate -> calculations * #77 refactor : 잘못 수정한 로직 변경 * #77 refactor : portfolioDetails 형태 변경 * [fix] Auth API 수정 및 User Context 구현 (#107) * fix: 로그인 상태 유지 안되는 버그 해결 - 후에 토큰 및 사용자 정보 API 분리 후 사용자 정보(user)는 localStorage가 아니라 query cache 사용 예정 * feat: 로그아웃 버튼 추가 및 로그아웃 mock 추가 * [feat] 포트폴리오 매입 이력 추가 및 수정 기능 구현 (#109) * #44 rename: Portfolio holdings 관련 파일 정리 * #44 chore: MUI date picker 및 Dayjs 설치 * #44 feat: 포트폴리오 매입 이력 추가 기능 및 mock 구현 * #44 feat: 포트폴리오 매입 이력 수정 기능 및 mock 추가 * [feat] StockPage 구현 및 포트폴리오 종목 추가,삭제 구현 (#123) * #108 feat: 검색결과와 StockPage 연결 구현 * rename: 포트폴리오 쿼리 이름 변경 * design: 포트폴리오 페이지 차트 컨테이너들에 그림자 추가 * feat: 포트폴리오 종목 추가,삭제 기능 추가 + msw * design: 포트폴리오 오버뷰 UI 디자인 적용 * rename: 포트폴리오 쿼리 이름 변경 * refactor: mutation onSuccess 위치 수정 * refactor: 함수명 컨벤션에 맞게 수정 * refactor: PR 리뷰 피드백 수정 * rename: PR 리뷰 피드백 수정 * [feat] 포트폴리오 상세 조회 및 종목 조회 WebSocket 구현 (#124) * fix: Sign out API 수정 * #113 chore: Stompjs 설치 * #113 feat: useStompSubWithRQ 구현 및 포트폴리오 페이지 websocket 구현 * refactor: Hooks 폴더 정리 및 포트폴리오 모달 usePortfolioAddMutation 수정 * fix: import 누락 및 기타 잔버그 수정 --------- Co-authored-by: bakhacode <bakhamitai@naver.com> Co-authored-by: Jay <chlwodnjs34@gmail.com>
* #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * #101 feat: 배당금 데이터 초기화 구현 * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 목표수익금액/최대손실금액 알림 서비스 구현 (#110) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#95) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * [feat] 포트폴리오 상세 조회 및 종목 조회시 배당금 데이터 응답 구현 (#105) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 fix: cors 설정 * #22 fix: @EnableWebMvc 제거 * #22 fix: @EnableWebMvc 제거 * #22 fix: corsFilter 추가 * #22 refactor: 주식 현재가 구독-발행 변경 - 기존 각각의 currentPrice 구독이 아닌 포트폴리오 단위로 변경 * #22 feat: 웹소켓 엔드포인트 연결 url 변경 - stock -> portfolio * #121 fix: 브로드캐스팅 오타 수정 * #121 refactor: PortfolioSubscriptionManager 추가 * #121 refactor: publishPortfolioDetail 일반 메소드 개선 - CompleteFuture를 이용하여 비동기로 개선 * #121 refactor: publishPortfolioDetail 스케줄링 메소드 개선 - CompleteFuture를 이용하여 비동기적으로 수행하게 함
* #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * #101 feat: 배당금 데이터 초기화 구현 * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 목표수익금액/최대손실금액 알림 서비스 구현 (#110) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#95) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * [feat] 포트폴리오 상세 조회 및 종목 조회시 배당금 데이터 응답 구현 (#105) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 fix: cors 설정 * #22 fix: @EnableWebMvc 제거 * #22 fix: @EnableWebMvc 제거 * #22 fix: corsFilter 추가 * #22 refactor: 주식 현재가 구독-발행 변경 - 기존 각각의 currentPrice 구독이 아닌 포트폴리오 단위로 변경 * #22 feat: 웹소켓 엔드포인트 연결 url 변경 - stock -> portfolio * #121 fix: 브로드캐스팅 오타 수정 * #121 refactor: PortfolioSubscriptionManager 추가 * #121 refactor: publishPortfolioDetail 일반 메소드 개선 - CompleteFuture를 이용하여 비동기로 개선 * #121 refactor: publishPortfolioDetail 스케줄링 메소드 개선 - CompleteFuture를 이용하여 비동기적으로 수행하게 함 * #121 refactor: 주식 현재가 개선 - 비동기로 진행하도록 함 * #121 feat: 비동기에 예외 설정 * #121 test: 테스트 코드 실패 해결
* #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * #101 feat: 배당금 데이터 초기화 구현 * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 목표수익금액/최대손실금액 알림 서비스 구현 (#110) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 feat: 포트폴리오 알림 활성화/비활성화 설정 서비스 구현 * #22 test: 포트폴리오 활성화/비활성화 테스트 코드 작성 * #22 fix: 포트폴리오 손익 내역 문제 해결 - 갱신화된 현재 주식 가격을 받아서 손익 내역 추가에 사용되도록 개선하였습니다. * #22 feat: 포트폴리오의 최대손실금액 활성화/비활성화 서비스 구현 * #22 refacotor: 포트폴리오 현재 주식 시세 스케줄러 개선 * #22 fix: 포트폴리오 최대손실금액 메일 알림 문제 해결 * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#95) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * [feat] 포트폴리오 상세 조회 및 종목 조회시 배당금 데이터 응답 구현 (#105) * #75 fix: cors 설정 * #75 fix: 로그인 응답 결과 변경 - member -> user * [feat] 클라이언트 스톰프 연결 종료시 포트폴리오 구독 제거 구현 (#94) * [feat] 웹소켓 주식 현재가 시세 연결 (#74) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] 포트폴리오 종목 추가 및 삭제 서비스 구현 (#43) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * [feat] 종목 검색 구현 (#45) * [feat] 포트폴리오 추가 서비스 구현 (#32) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * [feat] 포트폴리오 수정 및 삭제 서비스 구현 (#33) * #2 feat: 프로젝트 초기화 (#12) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * [feat] 소셜 로그인 및 로그아웃 서비스 구현 (#14) * #6 chore: jwt 관련 라이브러리 추가 * #6 docs: gitignore에 푸시하지 말아야할 파일들 추가 * #6 docs: 로컬 환경 docker-compose.yml 추가 * #2 docs: applicatoin.yml 파일 설정 및 로그백 파일 추가 * #6 feat: 회원 엔티티 구현 * #6 feat: 에러관련 코드, 예외, 핸들러 추가 * #6 feat: 소셜 로그인 서비스 구현 * #6 rename: oauth 파일 이동 * #6 feat: Oauth 로그인 서비스 구현 * #6 feat: 로그아웃 및 액세스 토큰 갱신 구현 * #9 feat: 한국투자 증권 open api 연결 * #9 test: 한국투자 증권 open api 연결 테스트 작성 * #9 feat: 실시간 체결가 웹소켓 연결 구현 * #9 feat: stomp 추가 * #10 feat: 종목 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 엔티티 구현 * #15 feat: 포트폴리오 추가 서비스 구현 * #15 test: 포트롤리오 추가 서비스 테스트 추가 * #15 test: 포트폴리오 추가 컨트롤러 테스트 코드 작성 * #15 test: 포트폴리오 추가 입력형식 테스트 코드 추가 * #15 feat: 포트폴리오 추가시 동일한 이름 중복 검증 처리 * #15 test: 포트폴리오 추가시 동일한 이름 중복 검증 처리 테스트 코드 작성 * #17 feat: 포트폴리오 수정 및 삭제 서비스 구현 * #17 test: 포트폴리오 수정 및 삭제에 대한 테스트 코드 작성 * #17 style: 코드 정리 * [feat] CI/CD 설정 (#35) * #7 docs: cicd 워크플로우 설정 - 빌드 설정 및 s3 업로드 설정 * #7 docs: cicd 설정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: appspec.yml 파일 오타 수정 * #7 fix: 버킷 이름 수정 * #7 fix: deploy 이름 삭제 - 버킷 이름에 /를 지정할 수 없음 * #16 feat: 포트폴리오 목록 조회 구현 * #16 feat: 포트폴리오 목록 조회 페이징 구현 * #16 feat: 포트폴리오 목록 조회시 hasNext를 응답하도록 구현 - nextCursor가 null인 경우 hasNext는 false로 응답하도록 구현하였습니다. * #18 feat: 포트폴리오 종목 추가 서비스 구현 * #18 feat: 포트폴리오 종목 삭제 서비스 구현 * #18 style: 코드 정리 * #21 feat: 엘라스틱 서치 환경 구현 * #21 feat: 종목 검색 구현 * [feat] 포스트맨 변경 사항 반영 (#48) * #48 fix: 포스트맨에 맞추어 응답 형식 변경 * #48 style: 코드 정리 * [feat] 포트폴리오 종목 조회 구현 (#49) * #10 feat: 포트폴리오 종목 목록 조회 구현 * #10 feat: @JsonUnWraaped 적용 * [feat] ci/cd 파이프라인 개선 (#55) * #51 fix: cicd 개선 - docker 추가 * #51 fix: cicd 테스트 브랜치 추가 * #10 feat: getFile -> getInputStream으로 변경 * #10 feat: 엘라스틱 서치 코드 제거 및 REST API 검색 구현 * #10 feat: 엘라스틱 서치 컨테이너 제거 * #10 chore: 엘라스틱 서치 의존성 제거 * #51 fix: 경로 변경 * [fix] 포스트맨 변경 사항 반영 (#56) * #54 fix: postman 변경사항 반영 * #54 fix: postman 변경사항 반영 * [feat] 매입 이력 추가 서비스 구현 (#58) * #19 feat: 매입 입력 추가 서비스 구현 * #19 test: 매입 입력 추가 서비스 테스트 코드 추가 * [feat] 매입 이력 수정 및 삭제 서비스 구현 (#61) * #20 feat: 매입 입력 수정 서비스 구현 및 테스트 구현 * #20 docs: 샘플 데이터 추가 * #20 feat: 매입 이력 삭제 서비스 구현 및 테스트 코드 작성 * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #62 fix: 포트폴리오 목록 조회 응답에 securitiesFirm 프로퍼티 추가 (#63) * #41 feat: 포트폴리오 수익 내역 서비스 구현 * [feat] 포트폴리오 손익 내역 기록 서비스 구현 (#65) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * [feat] 포트폴리오 수익 내역 추가 서비스 구현 (#66) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * [feat] 매입 내역 목록 조회 구현 (#69) * #20 feat: 포트폴리오 손익 내역 기록 서비스 구현 * #41 feat: 포트폴리오 수익 내역 서비스 구현 * #41 fix: 포트폴리오 상세 조회시 securitiesFirm 프로퍼티 추가 * #68 feat: 포트폴리오 상세 조회시 매입 내역 목록 조회할 수 있도록 구현 * #68 feat: 포트폴리오 상세 조회시 알림에 대한 설정을 응답하도록 추가 * #68 feat: 포트폴리오 상세 조회시 총손익 공식 개선 * #68 feat: 주식 현재가 시세 클라이언트와 연결 구현 * [refactor] kis 서버 액세스 토큰 발급 만료 문제 해결 (#79) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * [fix] 주식 현재가가 0인 경우 비동기적으로 수행되는 문제 해결 (#81) * #75 feat: 실시간 포트폴리오 계산 데이터 응답 구현 * #75 refactor: accessToken 만료 개선 * #75 style: 불필요 코드 삭제 * #75 fix: 주식 현재가의 비동기적 실행 문제 해결 * #75 fix: 포트폴리오 목록 조회 문제 해결 * #75 fix: 병렬 스트림으로 변경 * #75 fix: 포트폴리오 상세 조회 API 개선 * #75 fix: 도커 컴포즈 빌드 명령어 추가 * #83 feat: 포트폴리오 구독 세션 연결 종료시 포트폴리오 구독 해시맵에서 제거하도록 구현 * #83 fix: 중복된 리스너 제거 * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 (#99) * [feat] 배당금 데이터 초기화 구현 (#103) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * [feat] 포트폴리오 상세 조회시 배당금 데이터를 응답하도록 구현 (#104) * #98 feat: 포트폴리오 추가시 응답으로 portfolioId 응답하도록 구현 * #101 feat: 배당금 데이터 초기화 구현 * #101 feat: 배당금 계산 데이터 개선 * #101 test: 포트폴리오 종목 상세 조회 테스트 코드 작성 * #101 feat: 포트폴리오 종목 상세 조회시 배당금 정보도 응답하도록 구현 * #22 fix: cors 설정 * #22 fix: @EnableWebMvc 제거 * #22 fix: @EnableWebMvc 제거 * #22 fix: corsFilter 추가 * #22 refactor: 주식 현재가 구독-발행 변경 - 기존 각각의 currentPrice 구독이 아닌 포트폴리오 단위로 변경 * #22 feat: 웹소켓 엔드포인트 연결 url 변경 - stock -> portfolio * #121 fix: 브로드캐스팅 오타 수정 * #121 refactor: PortfolioSubscriptionManager 추가 * #121 refactor: publishPortfolioDetail 일반 메소드 개선 - CompleteFuture를 이용하여 비동기로 개선 * #121 refactor: publishPortfolioDetail 스케줄링 메소드 개선 - CompleteFuture를 이용하여 비동기적으로 수행하게 함 * #121 refactor: 주식 현재가 개선 - 비동기로 진행하도록 함 * #121 feat: 비동기에 예외 설정 * #121 test: 테스트 코드 실패 해결 * #121 docs: ssl 인증서 추가
* chore: Dependency 설치 및 프로젝트 초기화 * chore: Mock 초기화 * chore: vscode settings unignore * chore: React query 설치 및 설정 * feat: Router 설정 * feat: API response 및 status 타입 정의 * feat: SignUpPage 세팅 * chore: README 초기화 * docs: FE 브랜치 전략 수정 * [feat] Home/Dashboard 구현 (#13) * #5 feat: Nav Compound Component로 구현 * #5 feat: TickerTape 위젯 컴포넌트화 * #5 feat: Search 컴포넌트 구현 * #5 feat: UserControls 컴포넌트 구현 * #5 feat: Header 컴포넌트 구현 * #5 feat: Footer 컴포넌트 구현 * #5 feat: Dashboard UI 구현 * #5 feat: DateRange 추가 * #5 refactor: Nav 컴포넌트 Context 활용한 방식으로 수정 * #5 refactor: a태그 url 상수 사용 * #5 refactor: NavBar Item들을 직접 넘겨주는 방식으로 수정 * #5 feat: Dropdown 컴포넌트 Compound Component 구현 * #5 refactor: PR 피드백 반영한 수정 * #5 refactor: NavBar,Dropdown 수정 * [feat] SignUpPage 구현 (#26) * #4 fix: ProtectedRoute, PublicOnlyRoute 수정 * #4 chore: vite-tsconfig-paths 설치 * #4 feat: OAuthProvider type 수정 및 useOAuthSignInMutation 추가 * #4 chore: Path alias 추가 * #4 design: GlobalStyles 및 기본 css 적용 * #4 chore: Utils path alias 추가 * #4 feat: BasePage 구현 * #4 design: BasePage 구현 * #4 design: Sign up SubPage 구현 * #4 feat: NicknameSubPage 구현 * #4 feat: EmailSubPage 구현 * #4 feat: PasswordSubPage 구현 * #4 feat: VerificationCodeInput 컴포넌트 구현 * #4 feat: VerificationSubPage 구현 * #4 feat: Sign up MainSubPage 구현 * #4 feat: SignUpPage 구현 * [feat] my profile page 구현 (#27) * #11 refactor : route 관련 임시 작성 * #11 feat : 콤마 추가하는 유틸함수 구현 * #11 feat : MyProfilePage 구현 - App.tsx에 path 문제 수정 - PortfoliosPage 구현 - ProfileEditPage 구현 * #11 rename : profile 관련 파일 구조 변경 * #11 refactor : 변수, 함수 네이밍 피드백 반영 * merge dev-fe into fe/feat/#11-myProfile-page * #11 refactor : MyProfilePage 리팩토링 - 불필요한 state 제거 - MyProfilePage에 section 없이 이동시 portfoliosPage로 리다이렉트 --------- Co-authored-by: Daeram Chung <daeram.chung@gmail.com> * [feat] WatchlistPage 구현 (#28) * #24 refactor: TVTickerTape function 형식으로 수정 * #24 feat: WatchlistPage 구현 * #24 refactor: NavBar props 형식 수정 * #24 comment: 주석 삭제 * #24 refactor: 심볼 구성 변겅 * #24 chore: 드래그앤드롭 라이브러리 설치 * #24 refactor: PR 리뷰 피드백 반영 * [feat] Dashboard 포트폴리오 파이차트, 총 자산현황 라인차트 구현 (#34) * #30 refactor: currentValue 컴포넌트로 분리 * #30 feat: Portfolio Pie Chart 구현 * #30 feat: 총 자산 형황 추이 Line Chart 구현 * #30 style: 불필요한 console log 삭제 * #30 chore: 의존성 추가 및 주석처리 * #30 refactor: PR 피드백 반영한 수정 * [feat] OAuth SignIn 구현 (#42) * #4 feat: Sign up data에 passwordConfirm field 추가 * #4 feat: Sign up, 닉네임/이메일 중복검사 api 및 mock 추가 * #4 fix: useText 초기값 validate 적용 * #4 feat: NicknameSubPage "다음" 버튼 disabled 조건 적용 * #4 feat: Email verification code api 및 mock 추가 * #4 feat: Sign up subpage "다음" 버튼 disabled 조건 추가 * #4 feat: Signup nickname 중복 체크 기능 추가 * #4 feat: Signup email 중복 체크 기능 추가 * #4 feat: Signup password confirm mismatch 에러 메시지 추가 * #4 feat: Signup email verification code 요청 추가 * #4 feat: Google SignIn 추가 * #4 feat: Popup window 구현 * #4 feat: Kakao 로그인 버튼 구현 * #4 feat: Naver 로그인 버튼 구현 * #4 style: console.log 제거 * #4 fix: Window.naver doesn't exist type error * #4 refactor: KakaoSignInButton oAuthPopUpWindow type guard 적용 * #4 refactor: Env variables 상수화 * PortfolioPage API 공유를 위한 PR (#53) * #44 design: Plus icon 추가 * #44 feat: 포트폴리오 상세 조회 및 종목 조회 API 및 mock 추가 * #44 chore: MUI icons 패키지 설치 * #44 feat: PortfolioHoldingsTable 컴포넌트 구현 * #44 feat: PortfolioPage 기본 틀 구현 * #44 feat: Portfolio details data type 수정 * #44 feat: PortfolioHoldingsRow 컴포넌트 분리 * #44 fix: Portfolio holding mock data 수정 * Dependencies 공유를 위한 PR (#59) * #44 design: Plus icon 추가 * #44 feat: 포트폴리오 상세 조회 및 종목 조회 API 및 mock 추가 * #44 chore: MUI icons 패키지 설치 * #44 feat: PortfolioHoldingsTable 컴포넌트 구현 * #44 feat: PortfolioPage 기본 틀 구현 * #44 feat: Portfolio details data type 수정 * #44 feat: PortfolioHoldingsRow 컴포넌트 분리 * #44 fix: Portfolio holding mock data 수정 * #44 chore: Jest dependencies 설치 * #44 feat: formatDate 함수 추가 * #44 refactor: PortfolioHoldingLots 컴포넌트 분리 * [feat] 포트폴리오 페이지 차트 영역 구현 (#60) * #52 refactor: 자잘한 색깔 변경 및 코드 위치 수정 * #52 feat: 포트폴리오 종목별 파이차트 구현 * #52 feat: 월 배당금 막대 그래프 구현 * #52 feat: 섹터 Bar 구현 * #52 refactor: 데이터 받는 구조 수정 * #52 feat: 포트폴리오 페이지에 완성된 차트 조합 * #52 refactor: PR 피드백 반영한 수정 * #52 refactor: PR 피드백 반영한 수정 * [feat] 포트폴리오 종목 테이블 관련 기능 중간 공유 (#71) * #44 design: Plus icon 추가 * #44 feat: 포트폴리오 상세 조회 및 종목 조회 API 및 mock 추가 * #44 chore: MUI icons 패키지 설치 * #44 feat: PortfolioHoldingsTable 컴포넌트 구현 * #44 feat: PortfolioPage 기본 틀 구현 * #44 feat: Portfolio details data type 수정 * #44 feat: PortfolioHoldingsRow 컴포넌트 분리 * #44 fix: Portfolio holding mock data 수정 * #44 chore: Jest dependencies 설치 * #44 feat: formatDate 함수 추가 * #44 refactor: PortfolioHoldingLots 컴포넌트 분리 * #44 rename: textValidators -> authInputValidators 파일명 변경 * #44 feat: validateDateFormat util 함수 추가 * #44 fix: import path 수정 * #44 feat: Portfolio 매입이력 수정 컴포넌트 구현 * #44 fix: Auth query key import 수정 * #44 chore: package.json 수정 * #44 refactor: Portfolio holding lot 개별 수정 및 저장으로 변경 * #44 feat: Portfolio holding purchase add api 및 mutation 추가 * #44 feat: Portoflio holding purchase add 틀 구현 * #44 fix: usePortfolioHoldingPurchaseAddMutation filter 수정 * #44 feat: Portfolio holding purchase edit api 및 mutation 추가 * #44 fix: Portfolio holding purchase edit mutation key 수정 * #44 feat: Portfolio holding purchase delete api 및 mutation 추가 * #44 feat: Portfolio holding add api 및 mutation 추가 * #44 feat: Portfolio holding delete api 및 mutation 추가 * #44 style: 종목 삭제 버튼 todo 주석 추가 * [feat] 포트폴리오 상태 영역 구현 및 공용 컴포넌트 구현 (#72) * #39 feat : Portfolio base Page 구현 * #40 refactor : MUI 문제 해결 - @emotion/react, @emotion/styled 패키지 추가 - tsconfig resolve 삭제 - main에 StyledEngineProvider 추가 * #40 feat : 모달 관련 공용 컴포넌트 구현 - Confirm과 PortfolioModal에 공용으로 사용할 baseModal 구현 - Confirm, PortfolioModal 구현 * #40 feat : MUI를 활용한 ToggleSwitch 구현 * #40 refactor : 포트폴리오 data에 securitiesFirm 추가 * #40 feat : PortfolioOverview 컴포넌트 구현 * #40 rename : Confirm -> ConfirmAlert으로 변경 * #40 refactor : destructuring 컨벤션에 맞게 수정 * #40 refactor : destructuring 컨벤션에 맞게 수정 * #40 refactor : 불필요한 useEffect 제거 --------- Co-authored-by: Daeram Chung <daeram.chung@gmail.com> * style: Package.json 쉼표 제거 * chore: 누락된 dependencies 설치 및 기타 수정 * [chore] Husky 및 lint-staged setup (#78) * #76 chore: Husky, lint-staged 설치 및 설정 * #76 chore: Fix invalid husky pre-commit hook name * #76 fix: Type error 처리 * fix: ESLint unnamed export default 수정 * feat: 차트 분류 퍼센티지 표기 * style: 아직 안쓰는 변수 주석 및 기타 처리 * [feat] Portfolio holding purchase history 삭제 기능 (#91) * #44: React query devtools 설치 * #44 fix: Portfolio 관련 invalidateQueries query key 수정 * #44 feat: Portfolio holding purchase history delete mock 추가 * #44 feat: Portfolio holding purchase history 삭제 기능 추가 * [feat] 검색바 UI에 검색 API 연동 (#96) * #93 feat: 검색바 UI에 검색 API 연동 * design: 자잘한 디자인 수정 * chore: 개발 환경 수정 * chore: eslint console.log error 처리 * refactor: search 쿼리 설정 수정 * refactor: PR 리뷰 피드백 수정 * [refactor] portfolioOverView 리팩토링 (#102) * #77 refactor : number input에 숫자 제외 입력 제한, 반복 로직 분리 * #77 refactor : ToggleSwitch 불필요한 margin 제거 * #77 feat : 포트폴리오 추가, 수정, 삭제 api 구현 * #77 refactor : 포트폴리오 추가, 수정, 삭제 api 적용 * #77 refactor : api에 맞게 구현 및 수정 - purchaseHistory에 memo api에 맞게 string | null로 수정 - msw에서 포트폴리오 추가, 삭제, 수정 기능 * #77 refactor : 불필요한 useEffect cleanup 삭제 * #77 refactor : 포트폴리오 추가시 모달이 닫히지 않는 문제 수정 * #77 refactor : 불필요한 invalidate 제거 * #77 refactor : mutate 명확한 이름으로 재정의 * #77 refactor : 반복적으로 사용하는 함수 utils로 이동 및 적용 * #77 refactor : pr 피드백 반영 - boolean 값 네이밍 is가 접두사로 오게 수정 - 함수명 더 명확하게 재정의 * #77 rename : calculate -> calculations * #77 refactor : 잘못 수정한 로직 변경 * #77 refactor : portfolioDetails 형태 변경 * [fix] Auth API 수정 및 User Context 구현 (#107) * fix: 로그인 상태 유지 안되는 버그 해결 - 후에 토큰 및 사용자 정보 API 분리 후 사용자 정보(user)는 localStorage가 아니라 query cache 사용 예정 * feat: 로그아웃 버튼 추가 및 로그아웃 mock 추가 * [feat] 포트폴리오 매입 이력 추가 및 수정 기능 구현 (#109) * #44 rename: Portfolio holdings 관련 파일 정리 * #44 chore: MUI date picker 및 Dayjs 설치 * #44 feat: 포트폴리오 매입 이력 추가 기능 및 mock 구현 * #44 feat: 포트폴리오 매입 이력 수정 기능 및 mock 추가 * [feat] StockPage 구현 및 포트폴리오 종목 추가,삭제 구현 (#123) * #108 feat: 검색결과와 StockPage 연결 구현 * rename: 포트폴리오 쿼리 이름 변경 * design: 포트폴리오 페이지 차트 컨테이너들에 그림자 추가 * feat: 포트폴리오 종목 추가,삭제 기능 추가 + msw * design: 포트폴리오 오버뷰 UI 디자인 적용 * rename: 포트폴리오 쿼리 이름 변경 * refactor: mutation onSuccess 위치 수정 * refactor: 함수명 컨벤션에 맞게 수정 * refactor: PR 리뷰 피드백 수정 * rename: PR 리뷰 피드백 수정 * [feat] 포트폴리오 상세 조회 및 종목 조회 WebSocket 구현 (#124) * fix: Sign out API 수정 * #113 chore: Stompjs 설치 * #113 feat: useStompSubWithRQ 구현 및 포트폴리오 페이지 websocket 구현 * refactor: Hooks 폴더 정리 및 포트폴리오 모달 usePortfolioAddMutation 수정 * fix: import 누락 및 기타 잔버그 수정 * fix: 포트폴리오 종목 추가 시 모달 닫히지 않는 문제 해결 * feat: 종목 삭제 확인 알럿 추가 * style: 테스트용 버튼 제거 * fix: 테스트용 코드 제 * feat: LandingPage 구현 --------- Co-authored-by: bakhacode <bakhamitai@naver.com> Co-authored-by: Jay <chlwodnjs34@gmail.com>
bakhacode
approved these changes
Nov 2, 2023
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
구현한 것