Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Server] 0.3.3 배포 (#143) #267

Merged
merged 1 commit into from
Dec 14, 2023
Merged

Conversation

pminsung12
Copy link
Collaborator

  • [Server] 개발환경 세팅 ([Server] 개발환경 세팅 #4)

  • build: open-list-server init

  • chore: @nestjs/config class-validator class-transformer 설치

  • chore: 루트 레벨에서 설치한 패키지 삭제

  • chore: NestJs 개발 환경 세팅

  • chore: @nestjs/config class-validator class-transformer 설치

  • Server/feature/[Server] server 기본세팅 #13 ([Server] server 기본세팅  #25)

  • chore: postgresql, nestjs docker 세팅

  • chore: @nestjs/typeorm, typeorm, pg 설치

  • chore: Typeorm 세팅 및 TestModel 테이블 생성

  • 테스트용 유저 API 구현 (테스트용 유저 API 구현 #30)

  • chore: common resource 추가

  • chore: users resource 추가

  • feature: base entity 구현

  • feature: usersEntity 구현

  • feature: 모듈에 usersModel 추가

  • style: entity,dto의 users -> user로 변경

  • feature: CreateUserDto 구현

  • feature: userEntity 이메일 필드 추가

  • feature: createUserDto 이메일 필드 추가

  • feature: user patch->put으로 변경

  • feature: updateUserDto 구현

  • feature : create user 구현

  • feature: 모든 유저의 정보를 가져오는 API 구현

  • feature: 특정 유저의 정보를 가져오는 API 구현

  • feature: user 정보 수정 API 구현

  • feature: user 삭제 API 구현

  • feature: ValidationPipe 적용

  • refactor: usersService 리팩토링

  • [Server] 유닛 테스트 환경 세팅 ([Server] 유닛 테스트 환경 세팅 #32)

  • chore: test 경로 설정

  • feature: TestCommonModule 구현

  • feature: users.service.spec.ts 의존성 주입

  • feature: users.controller.spec.ts 의존성 주입

  • [Server] Users resource 이름 변경 ([Server] Users resource 이름 변경 #34)

  • style: usersController 네이밍에 컨벤션 맞게 변경

  • style: usersService 컨벤션에 따른 네이밍 변경

  • style: UsersModel -> UserModel 컨벤션에 따른 네이밍 변경

  • feature: usersService 테스트 코드 작성 ([Server] 테스트용 유저 API 테스트 #39)

  • [Server] Folder entity 생성 및 crud 구현 ([Server] Folder entity 생성 및 crud 구현 #42)

  • feat: folders crud 구현

  • chore: TestModel 삭제 및 관련된 종속성 제거

  • feat: folders.controller.spec.ts 삭제, folders.service.spec.ts 구현

  • feature: docker파일 수정 ([Server] nest docker파일 수정 #57)

  • feat: private checklist entity 생성 및 crud 구현 (feat: private checklist entity 생성 및 crud 구현 #61)

  • chore: 개발용 postgres 포트변경 5432->5433, .env도 port 5433으로 변경필요

  • feat: checklists res 생성

  • feat: checklist, private-checklist, shared-checklisst 엔티티 생성, user모델과 folder모델과의 의존관계 주입

  • feat: author->editor로 수정, 공유체크리스트와 사용자의 relation을 many to many로 업데이트

  • feat: 개인, 공유 체크리스트에 대해 생성과 업데이트 시 dto 생성

  • fix: class 이름 오타 수정

  • refactor: rest api 방식에 따라 함수명 변경

  • feat: CheckListModel에서 진행률 컬럼 삭제

  • feat: folder와 user간의 manyToOne relation적용

  • feat: private-checklist crud 작성

  • feat: folder service 커버리지 100 달성

  • test: private-checklist test code 작성, 커버리지 92퍼센트

  • feat: checklist 폴더 분리 & dto 빈문자열 검증 추가 ([Server] checklist 폴더 분리 #66)

  • refactor: checklists를 private, shared폴더로 분리.

  • refactor: private-checklists를 folders 하위로 이동

  • fix: 빈문자열 검증 추가

  • [Server] Winston으로 로그 관리 ([Server] Winston으로 로그 관리 #70)

  • chore: nest-winston winston winston-daily-rotate-file 설치

  • feat: winston logger 설정 파일 구현

  • feat: winston logger middleware 구현

  • feat: 요청 logger middleware 구현

  • feat: 로그에 요청 처리 시간 추가되도록 개선

  • chore: PR 템플릿 수정

  • chore: PR 템플릿 수정

  • feat: jwt access, refresh token 기반 인가 구현

  • chore: auth resource 추가

  • chore: jwt 모듈 추가

  • feature: signToken 구현

  • feature: 토큰 검증, 토큰 재발급 기능 구현

  • feature: 로그인 기능 구현

  • feature: 로그인 관련 서비스 구현

  • feature: login 컨트롤러 구현

  • style: loginDto -> loginUserDto로 변경

  • feature: access 토큰 재발급 컨트롤러 구현

  • refactor: access토큰 재발급 형식 변경

  • feature: 유저 register 기능 구현

  • feature: auth.service.ts 테스트 코드 작성

  • fix: 이메일 중복시 에러 메시지 수정


  • [Server] shared-checklist 소켓 구현 ([Server] shared-checklist 소켓 구현 #78)

  • [Server] apple oauth api 구현 ([Server] apple oauth api 구현 #86)

  • chore: @nestjs/axios 설치

  • chore: axios 설치

  • chore: axios 설치

  • feat: dto수정, userId 컬럼추가, providerId 수정, fullName 컬럼 추가

  • feat: entity에 따라 dto 항목 수정

  • feat: apple oauth 로그인 서비스 함수 추가

client secret 만들고, axios post로 user 정보 가지고옴.

  • feat: apple oauth 로그인 엔드포인트 추가

  • feat: apple 유저에대해 create, update 함수 구현

  • feat: publicKey 발급받는 로직추가

  • [Server] access 토큰 재발급시 유저 정보 없는 버그 수정 ([Server] access 토큰 재발급시 유저 정보 없는 버그 수정 #83)

  • [Server] privateChecklist의 내용 저장 api 구현 ([Server] privateChecklist의 내용 저장 api 구현 #88)

  • [Server] apple oauth 로그인 로직 수정 ([Server] apple oauth 로그인 로직 수정 #118)

  • feat: env 사용방식 변경 + idToken 검증로직 추가

  • chore: jwk를 pem으로 변환하기 위한 jose 라이브러리 설치

  • chore: jose 라이브러리 제거 @panva/jose 설치

  • feat: request body로 들어오는 auth-user.dto.ts 수정

  • feat: 애플 유저 등록 로직 수정

  • docs: jsdoc return type 수정

  • feat: apple login 로직 수정(appleToken, clientSecret 로직 삭제)

  • feat: refreshAccessToken 함수에서 refreshToken도 함께 반환해주도록 로직 수정

  • [Server] Clova Studio api 구현 ([Server] Clova Studio api 구현 #126)

  • feat: checklist-ai 리소스 생성

  • feat: create-checklist-items.dto.ts 요청 dto 생성

  • feat: 문자열 및 각종 옵션 상수화

  • feat: user-role const 파일 삭제 => 함수화

  • feat: /checklist-ai POST 요청 api 생성

대,중,소 카테고리를 body로 받아오면 clova studio에서 체크리스트 항목 10개를 반환한다.

  • feat: AccessTokenGuard 구현 및 적용 ([Server] AccessTokenGuard 구현 및 적용 #129)

  • feat: access token guard 구현

  • feat: access token guard 전역 적용

  • style: access-token.guard.ts 주석 추가

  • feat: userId decorator 구현

  • feat: folders controller에 userId 데코레이터 추가

  • feat: 폴더 서비스에 user 데코레이터 추가

  • feat: 개인 체크리스트 컨트롤러에 유저 데코레이터 추가

  • feat: private-checklists service에 user 데코레이터 추가

  • fix: 테스트 코드 수정

  • Server/feature/[Server] AI 추천용 카테고리 api 구현 #128 (feat: 체크리스트 api 구현 #139)

  • feat: json 구조로 카테고리 데이터 정의

  • feat: categories 의존성 주입

  • feat: endpoint만들고, 실제 존재하는 id인지 검증하는 dto 생성

  • fix: 오타수정 forder->folder

  • feat: param에 dto 적용하지 못해 삭제

  • feat: 카테고리 json 데이터 변수명 변경, 대문자로

  • feat: 대,중,소 카테고리 반환 api 구현

  • test: categories.service.spec.ts 테스트 코드 작성

  • test: categories.service.spec.ts 테스트 코드 수정 커버리지 100

  • feat: 공유 체크리스트 API 및 소켓 작업 구현 ([Server] 공유 체크리스트 API 및 소켓 작업 구현 #140)

  • feat: shared checklist item entity 구현

  • style: SharedChecklistItemModel 오타 수정

  • feat: shared checklist id uuid로 변경

  • feat: create shared checklist 디티오 수정

  • feat: shared-checklists 생성 구현

  • refactor: shared-checklists 저장하는 함수 분리

  • feat: shared-checklists 1개, 전부 가져오는 기능 추가

  • feat: 유저 초대 기능 추가

  • feat: 공유 체크리스트 삭제 기능 구현

  • style: shared-checklists service 주석 추가

  • feature: 공유 체크리스트 소켓에 데이터 누적 기능 추가

  • feat: shared-checklists 소켓 통신 시 데이터 데베에 저장 구현

  • feat: 소켓 연결시 방의 데이터 히스토리를 전송하는 기능 추가

  • style: 소켓 주석 추가

  • 🔐feat: 개발용 임시로 액세스,리프레시 토큰들 만료기한 일주일로 설정 (🔐feat: 개발용 임시로 액세스,리프레시 토큰들 만료기한 일주일로 설정 #142)


🚀 완료한 기능 혹은 수정 기능


💡 고민과 해결 과정

배경

고민

해결과정


📸 스크린샷


✅ 테스트 결과(커버리지/테스트 결과)

* [Server] 개발환경 세팅 (#4)

* build: open-list-server init

* chore: @nestjs/config class-validator class-transformer 설치

* chore: 루트 레벨에서 설치한 패키지 삭제

* chore: NestJs 개발 환경 세팅

* chore: @nestjs/config class-validator class-transformer 설치

* Server/feature/#13 (#25)

* chore: postgresql, nestjs docker 세팅

* chore: @nestjs/typeorm, typeorm, pg 설치

* chore: Typeorm 세팅 및 TestModel 테이블 생성

* 테스트용 유저 API 구현 (#30)

* chore: common resource 추가

* chore: users resource 추가

* feature: base entity 구현

* feature: usersEntity 구현

* feature: 모듈에 usersModel 추가

* style: entity,dto의 users -> user로 변경

* feature: CreateUserDto 구현

* feature: userEntity 이메일 필드 추가

* feature: createUserDto 이메일 필드 추가

* feature: user patch->put으로 변경

* feature: updateUserDto 구현

* feature : create user 구현

* feature: 모든 유저의 정보를 가져오는 API 구현

* feature: 특정 유저의 정보를 가져오는 API 구현

* feature: user 정보 수정 API 구현

* feature: user 삭제 API 구현

* feature: ValidationPipe 적용

* refactor: usersService 리팩토링

* [Server] 유닛 테스트 환경 세팅 (#32)

* chore: test 경로 설정

* feature: TestCommonModule 구현

* feature: users.service.spec.ts 의존성 주입

* feature: users.controller.spec.ts 의존성 주입

* [Server] Users resource 이름 변경 (#34)

* style: usersController 네이밍에 컨벤션 맞게 변경

* style: usersService 컨벤션에 따른 네이밍 변경

* style: UsersModel -> UserModel 컨벤션에 따른 네이밍 변경

* feature: usersService 테스트 코드 작성 (#39)

* [Server] Folder entity 생성 및 crud 구현 (#42)

* feat: folders crud 구현

* chore: TestModel 삭제 및 관련된 종속성 제거

* feat: folders.controller.spec.ts 삭제, folders.service.spec.ts 구현

* feature: docker파일 수정 (#57)

* feat: private checklist entity 생성 및 crud 구현 (#61)

* chore: 개발용 postgres 포트변경 5432->5433, .env도 port 5433으로 변경필요

* feat: checklists res 생성

* feat: checklist, private-checklist, shared-checklisst 엔티티 생성, user모델과 folder모델과의 의존관계 주입

* feat: author->editor로 수정, 공유체크리스트와 사용자의 relation을 many to many로 업데이트

* feat: 개인, 공유 체크리스트에 대해 생성과 업데이트 시 dto 생성

* fix: class 이름 오타 수정

* refactor: rest api 방식에 따라 함수명 변경

* feat: CheckListModel에서 진행률 컬럼 삭제

* feat: folder와 user간의 manyToOne relation적용

* feat: private-checklist crud 작성

* feat: folder service 커버리지 100 달성

* test: private-checklist test code 작성, 커버리지 92퍼센트

* feat: checklist 폴더 분리 & dto 빈문자열 검증 추가 (#66)

* refactor: checklists를 private, shared폴더로 분리.

* refactor: private-checklists를 folders 하위로 이동

* fix: 빈문자열 검증 추가

* [Server] Winston으로 로그 관리 (#70)

* chore: nest-winston winston winston-daily-rotate-file 설치

* feat: winston logger 설정 파일 구현

* feat: winston logger middleware 구현

* feat: 요청 logger middleware 구현

* feat: 로그에 요청 처리 시간 추가되도록 개선

* chore: PR 템플릿 수정

* chore: PR 템플릿 수정

* feat: jwt access, refresh token 기반 인가 구현

* chore: auth resource 추가

* chore: jwt 모듈 추가

* feature: signToken 구현

* feature: 토큰 검증, 토큰 재발급 기능 구현

* feature: 로그인 기능 구현

* feature: 로그인 관련 서비스 구현

* feature: login 컨트롤러 구현

* style: loginDto -> loginUserDto로 변경

* feature: access 토큰 재발급 컨트롤러 구현

* refactor: access토큰 재발급 형식 변경

* feature: 유저 register 기능 구현

* feature: auth.service.ts 테스트 코드 작성

* fix: 이메일 중복시 에러 메시지 수정

---------

Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>

* [Server] shared-checklist 소켓 구현 (#78)

* [Server] apple oauth api 구현 (#86)

* chore: @nestjs/axios 설치

* chore: axios 설치

* chore: axios 설치

* feat: dto수정, userId 컬럼추가, providerId 수정, fullName 컬럼 추가

* feat: entity에 따라 dto 항목 수정

* feat: apple oauth 로그인 서비스 함수 추가

client secret 만들고, axios post로 user 정보 가지고옴.

* feat: apple oauth 로그인 엔드포인트 추가

* feat: apple 유저에대해 create, update 함수 구현

* feat: publicKey 발급받는 로직추가

* [Server] access 토큰 재발급시 유저 정보 없는 버그 수정 (#83)

* [Server] privateChecklist의 내용 저장 api 구현 (#88)

* [Server] apple oauth 로그인 로직 수정 (#118)

* feat: env 사용방식 변경 + idToken 검증로직 추가

* chore: jwk를 pem으로 변환하기 위한 jose 라이브러리 설치

* chore: jose 라이브러리 제거 @panva/jose 설치

* feat: request body로 들어오는 auth-user.dto.ts 수정

* feat: 애플 유저 등록 로직 수정

* docs: jsdoc return type 수정

* feat: apple login 로직 수정(appleToken, clientSecret 로직 삭제)

* feat: refreshAccessToken 함수에서 refreshToken도 함께 반환해주도록 로직 수정

* [Server] Clova Studio api  구현 (#126)

* feat:  checklist-ai 리소스 생성

* feat: create-checklist-items.dto.ts 요청 dto 생성

* feat: 문자열 및 각종 옵션 상수화

* feat: user-role const 파일 삭제 => 함수화

* feat: /checklist-ai POST 요청 api 생성

대,중,소 카테고리를 body로 받아오면 clova studio에서 체크리스트 항목 10개를 반환한다.

* feat: AccessTokenGuard 구현 및 적용 (#129)

* feat: access token guard 구현

* feat: access token guard 전역 적용

* style: access-token.guard.ts 주석 추가

* feat: userId decorator 구현

* feat: folders controller에 userId 데코레이터 추가

* feat: 폴더 서비스에 user 데코레이터 추가

* feat: 개인 체크리스트 컨트롤러에 유저 데코레이터 추가

* feat: private-checklists service에 user 데코레이터 추가

* fix: 테스트 코드 수정

* Server/feature/#128 (#139)

* feat: json 구조로 카테고리 데이터 정의

* feat: categories 의존성 주입

* feat: endpoint만들고, 실제 존재하는 id인지 검증하는 dto 생성

* fix: 오타수정 forder->folder

* feat: param에 dto 적용하지 못해 삭제

* feat: 카테고리 json 데이터 변수명 변경, 대문자로

* feat: 대,중,소 카테고리 반환 api 구현

* test: categories.service.spec.ts 테스트 코드 작성

* test: categories.service.spec.ts 테스트 코드 수정 커버리지 100

* feat: 공유 체크리스트 API 및 소켓 작업 구현 (#140)

* feat: shared checklist item entity 구현

* style: SharedChecklistItemModel 오타 수정

* feat: shared checklist id uuid로 변경

* feat: create shared checklist 디티오 수정

* feat: shared-checklists 생성 구현

* refactor: shared-checklists 저장하는 함수 분리

* feat: shared-checklists 1개, 전부 가져오는 기능 추가

* feat: 유저 초대 기능 추가

* feat: 공유 체크리스트 삭제 기능 구현

* style: shared-checklists service 주석 추가

* feature: 공유 체크리스트 소켓에 데이터 누적 기능 추가

* feat: shared-checklists 소켓 통신 시 데이터 데베에 저장 구현

* feat: 소켓 연결시 방의 데이터 히스토리를 전송하는 기능 추가

* style: 소켓 주석 추가

* 🔐feat: 개발용 임시로 액세스,리프레시 토큰들 만료기한 일주일로 설정 (#142)

---------

Co-authored-by: Minseong Park <52368015+pminsung12@users.noreply.github.com>
@pminsung12 pminsung12 added server 서버 쪽 이슈 release 배포 labels Dec 14, 2023
@pminsung12 pminsung12 added this to the 0.5.0 milestone Dec 14, 2023
@pminsung12 pminsung12 self-assigned this Dec 14, 2023
@yangdongsuk
Copy link
Collaborator

수고하셨습니다.

@yangdongsuk yangdongsuk merged commit a9cb2bf into release/0.3.0 Dec 14, 2023
@yangdongsuk yangdongsuk deleted the server/release/#0.3.3 branch December 14, 2023 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release 배포 server 서버 쪽 이슈
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

2 participants