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/develop #0.5.8 AWS 배포 #282

Merged
merged 41 commits into from
Mar 11, 2024
Merged

Conversation

pminsung12
Copy link
Collaborator

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


💡 고민과 해결 과정

배경

고민

해결과정


📸 스크린샷


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

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 11 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 서버 상태 확인 기능 추가
* feat: 카테고리별 아이템 개수 반환해주는 api 생성

* feat: 카테고리별 아이템 개수 itemCount로 pub도 하고 응답도 반환하는 서비스 함수 구현

* feat: generate-item api에 대한 controller 함수 구현

* feat: generate-item api에 대한 service 함수 구현
* feat: category service 함수 수정

* feat: category service 함수 요청 형태 변경

* feat: ai 체크리스트 항목 응답 api db 캐싱 구조로 변경
* feat: admin페이지 cpu 사용량 통합해서 보여주기

* refactor: serverStatus 네트워크 관련 제거

* fix: 체크리스트 ai 생성 관리자만 가능하도록 수정

* feat: admin 페이지 ai 연동
@pminsung12 pminsung12 self-assigned this Mar 11, 2024
@pminsung12 pminsung12 merged commit ef8e773 into server/release/#0.5.8 Mar 11, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants