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.4.7 배포 #224

Merged
merged 35 commits into from
Dec 10, 2023
Merged

[Server] 0.4.7 배포 #224

merged 35 commits into from
Dec 10, 2023

Conversation

yangdongsuk
Copy link
Collaborator

완료한 기능 혹은 수정 기능

  • 피드 api, 어드민 페이지 차트 기능 업데이트, ai 서버 api 추가

pminsung12 and others added 30 commits November 9, 2023 18:40
* build: open-list-server init

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

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

* chore: NestJs 개발 환경 세팅

* chore: @nestjs/config class-validator class-transformer 설치
* chore: postgresql, nestjs docker 세팅

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

* chore: Typeorm 세팅 및 TestModel 테이블 생성
* 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 리팩토링
* chore: test 경로 설정

* feature: TestCommonModule 구현

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

* feature: users.controller.spec.ts 의존성 주입
* style: usersController 네이밍에 컨벤션 맞게 변경

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

* style: UsersModel -> UserModel 컨벤션에 따른 네이밍 변경
* feat: folders crud 구현

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

* feat: folders.controller.spec.ts 삭제, folders.service.spec.ts 구현
* 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퍼센트
* refactor: checklists를 private, shared폴더로 분리.

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

* fix: 빈문자열 검증 추가
* chore: nest-winston winston winston-daily-rotate-file 설치

* feat: winston logger 설정 파일 구현

* feat: winston logger middleware 구현

* feat: 요청 logger middleware 구현

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

* chore: PR 템플릿 수정

* chore: PR 템플릿 수정
* 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 <[email protected]>
* 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 발급받는 로직추가
* 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도 함께 반환해주도록 로직 수정
* 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: 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: 테스트 코드 수정
* 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: 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: 소켓 주석 추가
* fix: 공유 체크리스트 아이템 권한 없으면 접근 못하게 수정

* fix: 체크리스트 추가시 사용자가 있는지 검사

* fix: 공유 체크리스트 생성시 uuid가 아니면 서버가 죽는 현상 수정

* style: 불필요한 코드 제거
* chore: docker-compose.yaml에 레디스 추가

* chore: redis 모듈 추가

* feature: nest 다중 포트 서버 구성

* feature: redis.module.ts 구현 및 적용

* feature: 소켓에 레디스 삽입

* feature: 소켓 pub/sub 구현

* feat: 소켓 레디스에 총 접속자수 증감 기능 추가

* feat: 소켓 히스토리 기능 레디스 적용

* refactor: shared-checklists.gateway.ts 리팩토링
* 🐛fix: 웹소켓 data를 json으로 변경 후 emit

* 🐛fix: history []제거

* 🐛fix: data[0] -> data
* fix: docker-compose 레디스 설정 오류 해결

* feat: 소켓 console.log 추가

* fix: 소켓 히스토리 저장시 형식 오류 수정
* feat: no auth 버그 -> password 주석 해제

* feat: 로그에 한국 시간대 추가

* feat: 로그파일이 dist 내부에 존재해 한 단계 위로 옮겨줌.

* feat: 응답로그는 interceptor에서 처리하도록 로직 수정

* feat: 로그 인터셉터 app.module.ts 프로바이더에 추가
pminsung12 and others added 5 commits December 7, 2023 03:32
* chore: import 문 최적화

* feat: 피드 resource 생성

* feat: checklist entity에 카테고리 컬럼 추가

* feat: feedmodel 정의

private checklist model에서 likeCount와 downloadCount 컬럼 추가

* chore: 사용하지 않는 dto 파일 삭제

* chore: 카테고리 데이터 추가

* chore: 안쓰는 테스트 파일 삭제

* feat: 피드 화면 api 구현

* feat: feeds.service.spec.ts 테스트 코드 작성

* feat: api 에러 핸들링 로직 추가

* test: feeds.service.spec.ts 예외 케이스에 대한 테스트 코드 추가

* feat: 에러메시지 수정
* feat: admin resource 구현

* feat: 관리자 페이지 추가

* feat: cors 설정 추가

* feat: 임시로 관리자 페이지 권한 제거

* feat: admin sse api 구현

* refactor: redis sub 서비스 구현

* feat: 어드민 페이지 api 기능 추가

* feat: redis pub 서비스 추가

* refactor: admin controller에 redis service로 교체

* feat: log interceptor에 redis pub 추가

* refactor: channels const로 분리

* style: 불필요한 주석 제거

* feat: ws 로그 redis pub 추가

* feat: admin page 박스 누르면 펼치기/접기 기능 추가

* feat: admin 페이지 색깔 변경

* feat: 관리자 페이지 로그인 기능 구현
* feat: socket 빈 히스토리면 [] 보내기

* feat: 로그인시 유저 닉네임도 같이 보내주기
* refactor: 경로 이름 수정 entity->entities

* feat: category 엔티티 생성

* feat: reason 모델 생성 및 각 테이블 relation 설정

* feat: 각 테이블 relation 수정 및 의존성 주입

* feat: relation 방식 변경으로 인한folders.service.ts 메서드 수정, 의존성 주입
* feat: serverStatus 확인 기능 추가

* feat: serverStatus 확인 기능 추가

* feat: 모든 구독을 받아오는 기능 추가

* chore: 불필요한 상수 제거

* feat: admin page 서버 상태 확인 기능 추가
@yangdongsuk yangdongsuk added the server 서버 쪽 이슈 label Dec 10, 2023
@yangdongsuk yangdongsuk added this to the 0.4.0 milestone Dec 10, 2023
@yangdongsuk yangdongsuk self-assigned this Dec 10, 2023
@yangdongsuk yangdongsuk merged commit 332e4e0 into server/release/#0.4.8 Dec 10, 2023
yangdongsuk added a commit that referenced this pull request Dec 14, 2023
* [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: 이메일 중복시 에러 메시지 수정

---------



* [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)

* feat: 공유 체크리스트 아이템 권한 문제 및 uuid 문제 해결 (#146)

* fix: 공유 체크리스트 아이템 권한 없으면 접근 못하게 수정

* fix: 체크리스트 추가시 사용자가 있는지 검사

* fix: 공유 체크리스트 생성시 uuid가 아니면 서버가 죽는 현상 수정

* style: 불필요한 코드 제거

* feat: 소켓 다중 서버 지원  (#159)

* chore: docker-compose.yaml에 레디스 추가

* chore: redis 모듈 추가

* feature: nest 다중 포트 서버 구성

* feature: redis.module.ts 구현 및 적용

* feature: 소켓에 레디스 삽입

* feature: 소켓 pub/sub 구현

* feat: 소켓 레디스에 총 접속자수 증감 기능 추가

* feat: 소켓 히스토리 기능 레디스 적용

* refactor: shared-checklists.gateway.ts 리팩토링

* feat: 소켓 editing 이벤트 추가 (#164)

* fix: 레디스 연결 수정 (#168)

* [Server] object 형태가 들어오면 redis에 저장 안되는 문제 수정 (#171)

* 🐛fix: 웹소켓 data를 json으로 변경 후 emit

* 🐛fix: history []제거

* 🐛fix: data[0] -> data

* feat: 웹소켓 히스토리 버그 수정 및 콘솔 로그 추가 (#175)

* fix: docker-compose 레디스 설정 오류 해결

* feat: 소켓 console.log 추가

* fix: 소켓 히스토리 저장시 형식 오류 수정

* [Server] 로거 기능 확대 (#176)

* feat: no auth 버그 -> password 주석 해제

* feat: 로그에 한국 시간대 추가

* feat: 로그파일이 dist 내부에 존재해 한 단계 위로 옮겨줌.

* feat: 응답로그는 interceptor에서 처리하도록 로직 수정

* feat: 로그 인터셉터 app.module.ts 프로바이더에 추가

* 🐛fix: redis module password 부분 주석처리 (#180)

* [Server] 피드화면 api 구현 (#196)

* chore: import 문 최적화

* feat: 피드 resource 생성

* feat: checklist entity에 카테고리 컬럼 추가

* feat: feedmodel 정의

private checklist model에서 likeCount와 downloadCount 컬럼 추가

* chore: 사용하지 않는 dto 파일 삭제

* chore: 카테고리 데이터 추가

* chore: 안쓰는 테스트 파일 삭제

* feat: 피드 화면 api 구현

* feat: feeds.service.spec.ts 테스트 코드 작성

* feat: api 에러 핸들링 로직 추가

* test: feeds.service.spec.ts 예외 케이스에 대한 테스트 코드 추가

* feat: 에러메시지 수정

* feat: 관리 페이지와 api 구현 (#197)

* feat: admin resource 구현

* feat: 관리자 페이지 추가

* feat: cors 설정 추가

* feat: 임시로 관리자 페이지 권한 제거

* feat: admin sse api 구현

* refactor: redis sub 서비스 구현

* feat: 어드민 페이지 api 기능 추가

* feat: redis pub 서비스 추가

* refactor: admin controller에 redis service로 교체

* feat: log interceptor에 redis pub 추가

* refactor: channels const로 분리

* style: 불필요한 주석 제거

* feat: ws 로그 redis pub 추가

* feat: admin page 박스 누르면 펼치기/접기 기능 추가

* feat: admin 페이지 색깔 변경

* feat: 관리자 페이지 로그인 기능 구현

* [Server] 클라이언트와 api 연동 작업 (login, socket history)  (#209)

* feat: socket 빈 히스토리면 [] 보내기

* feat: 로그인시 유저 닉네임도 같이 보내주기

* [Server] ai와 관련한 db 구조 개선 (#220)

* refactor: 경로 이름 수정 entity->entities

* feat: category 엔티티 생성

* feat: reason 모델 생성 및 각 테이블 relation 설정

* feat: 각 테이블 relation 수정 및 의존성 주입

* feat: relation 방식 변경으로 인한folders.service.ts 메서드 수정, 의존성 주입

* feat: admin 페이지 항목 자동 추가 , 시스템 상태 그래프 추가 (#223)

* feat: serverStatus 확인 기능 추가

* feat: serverStatus 확인 기능 추가

* feat: 모든 구독을 받아오는 기능 추가

* chore: 불필요한 상수 제거

* feat: admin page 서버 상태 확인 기능 추가

---------

Co-authored-by: yangdongsuk <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
server 서버 쪽 이슈
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

2 participants