Skip to content

Conversation

forkyy-dev
Copy link

안녕하세요 8조의 백엔드 개발을 맡은 데이브와 포키입니다.
바쁘신 와중에 시간 내주셔서 감사합니다 😊

Swagger를 통해서 api문서를 작성해봤는데 시간이 되신다면 해당 내용에 대해서도 리뷰해주시면 감사하겠습니다 🙇🏻‍♂️

구현 사항

  • 카드를 등록하는 기능 구현

참고

  • 현재 DB를 연동하지는 않은 상태고, 우선 메모리를 사용하는 레파지토리를 작성했습니다. 추후 DB를 연동해서 확장할 예정입니다.
  • 코드를 작성하다보니 실제 코드를 먼저 작성한 뒤, 테스트코드를 작성해서 모든 경우에 대한 테스트를 작성하지 못했습니다. 추후 완성도 있는 테스트 코드 작성을 위해 노력하겠습니다.

sally4405 and others added 16 commits April 4, 2022 10:55
- 카드 목록 조회에 대한 요청을 처리하는 getCards 메서드 작성
- 필드 추가
- 생성자 추가
- 변환 메서드 추가
- CardController에 post 요청을 처리하는 add 메서드 작성
- CardService에 request로 넘어온 cardDto를 레파지토리에 저장한 뒤 생성된 카드를 반환하는 메서드 작성
- CardDto의 생성자를 1개로 변경
- Card 클래스의 toCardDto 메서드에 setId를 추가
@forkyy-dev forkyy-dev added the review-BE Improvements or additions to documentation label Apr 6, 2022
@forkyy-dev forkyy-dev requested a review from sigridjineth April 6, 2022 07:44
@sigridjineth sigridjineth self-assigned this Apr 6, 2022
GangWoon pushed a commit that referenced this pull request Apr 6, 2022
Merge iOS branch to dev branch
Copy link

@sigridjineth sigridjineth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

안녕하세요, 이번 프로젝트에 함께 하게 된 리뷰어 Sigrid Jin입니다.
API 명세를 살펴보았는데, 크게 지적할 사항은 없어 보입니다.
몇 가지 학습할 만한 거리를 던져드렸는데, 우리 함께 디스커션 해보아요 :) 궁금하신 점이 있으면 언제나 슬랙 디엠 보내주세요. 감사합니다.


group = 'be'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오, 자바 11이군요!

@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

grade-wrapper.propertiesbe/gradlew 는 gitignore에 넣어주시면 좋을 것 같아요.

@RequiredArgsConstructor
public class CardController {

private final CardService cardService;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

constructor injection vs field injection 에 대한 차이를 고민해보시면 어떨까요?

https://yaboong.github.io/spring/2019/08/29/why-field-injection-is-bad/


public CardDto toCardDto() {
CardDto cardDto = new CardDto(section, title, content);
cardDto.setId(id);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

생성자에서 id 를 설정해줄 수 있는데, 굳이 setId 라고 하는 setter 를 설정하신 이유가 있으실까요?

Copy link

@nak253 nak253 Apr 7, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요청과 응답시 CardDto 객체를 사용하게 되는데,
요청 시에 전달받는 데이터에는 id가 없고, 응답시에는 id를 세팅하고 넘겨주게 됩니다.

요청시 전달받는 데이터를 CardDto객체에 저장하기 위해서,
id 파라미터가 없는 생성자를 먼저 정의하게 되었습니다.

이후 id값을 가진 Card객체를 CardDto 객체로 변환하기 위해서,
id 파라미터를 가진 생성자를 CardDto 클래스에 정의하였습니다.

이때, 요청으로 넘어온 데이터를 CardDto로 변환하는 과정에서 오류가 발생하였습니다.
생성자가 여러 개라서 발생하는 오류라 생각하였고,
id 파라미터가 없는 생성자만 두고 id값을 가진 Card객체를 CardDto 객체로 변환할 때, setId를 통해서 id값을 세팅하도록 하였습니다.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

다음과 같은 경우, id 필드가 없는 RequestCardDto 와 id 필드가 있는 ResponseCardDto를
작성하는 경우가 일반적일까요?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nak253 네, 저라면 RequestDto와 ResponseDto를 나누어 구현할 것 같습니다. 읽는 사람 입장에서도 역할과 책임이 구분된다는 느낌을 받을 수 있고, 추후 요청과 응답에 대한 요구사항이 달라진다면 Dto를 별도로 관리해야 할 테니까요. 매우 훌륭합니다!

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

감사합니다! 바로 적용해보겠습니다

import todolist.domain.Card;

@Getter
@Setter

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lombok이라... 롬복을 쓰는 이유가 무엇인가요? 편하게 코딩하기 위해서? 그냥 다 으악! 하고 만들어 주니까? 이에 대해 한 번 고민해보시고, 저와 같이 디스커션을 해보죠.
참고할 만한 링크

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

별도로, Setter를 어노테이션으로 다 만드셨네요. 세터의 사용에 대해 한 번 고민해보세요.
생각해볼 거리

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

사실 큰 고민없이 롬복을 한번 써보자 라는 생각으로 사용했습니다..ㅎ
보내주신 링크들을 참고해서 추가적으로 학습하겠습니다.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

네, 한 번 롬복 없이 사용해보시는 것을 개인적으로 추천드립니다.
물론 학습 과정에서는 롬복 사용이 금지되었다고 알고 있고, 프로젝트 단계에서는 롬복 사용이 허가되었다고 알고 있는데요.
그럼에도 불구하고 최대한 롬복 없이 사용하는 것이 좋다고 생각합니다. 현재 단계는 순수 객체지향을 연습하는 것이 목적이니 그렇습니다. 하지만, 일정 수준 이상으로 요구사항이 복잡해진다고 하면 사용하는 것이 더 나을 수도 있겠지요. 어짜피 실무로 들어가시면 코틀린을 사용하실 것 같으니까요.
롬복을 제대로 쓰려면 Weaving 등에 대한 지식과 이해가 있어야 하는데요. 이 지점에 대해서도 시간과 여건이 허락하는 날에 공부해보시길 추천드립니다.

private TodoRepository<Card> repository = new CardMemoryRepository();

@Test
@DisplayName("Card 객체를 저장한다.")

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

훌륭합니다. @DisplayName 을 앞으로 적극적으로 사용하시길 권장드립니다.
제가 코드스쿼드 과정을 수료한 것이 2년 전인데요. 이 당시의 코드를 다시 한번 복기하고 싶을 때 테스트 코드의 @DisplayName 이 아주 큰 도움이 되었습니다.

그런 의미에서, 하기의 save() 메소드 명을 한글로 작성해보는 것도 좋겠습니다.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

감사합니다. 😀
DisplayName을 작성할 지, 메서드 명을 한글로 작성할 지 고민해봤는데
다음에는 메서드 명을 한글로 작성하여 여러 방법으로 시도해보겠습니다!


@Test
@DisplayName("Card 객체를 저장한다.")
void save() {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
void save() {
void 투두_카드_한개를_저장한다() {


Card result = repository.save(card);

assertThat(result.getId()).isEqualTo(1L);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

assertAll() 에 대해 학습해보고, 이를 적용해보시면 어떨까요?
참고할 만한 링크

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

주신 링크 참고해서 학습해보겠습니다! 감사합니다 🙇🏻‍♂️


CardDto result = service.addCard(cardDto);

assertThat(result.getId()).isEqualTo(1L);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

테스트를 잘 짜시는 모습이 인상적입니다. 👍
상기 리뷰와 마찬가지로 assertAll() 을 적용해보시면 어떨까요?

@@ -0,0 +1,361 @@
// !$*UTF8*$!
{
archiveVersion = 1;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

iOS 파일이 함께 들어가는군요...

Copy link
Author

@forkyy-dev forkyy-dev Apr 7, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저희도 pr을 날리고 발견했습니다..ㅠ
처음 브랜치를 나누는 과정에서 ios 폴더가 생성된 시점에 브랜치 생성이 된것 같습니다. 다음 pr때는 조심하겠습니다!

wooody92 pushed a commit that referenced this pull request Apr 7, 2022
[BE] 도메인 객체 다이어그램 그리기
@forkyy-dev
Copy link
Author

안녕하세요 데이브, 포키입니다!
꼼꼼하게 리뷰해주셔서 감사합니다~
말씀해주신 고민거리들과 주신 링크들에 대한 학습을 진행한 뒤, 코드를 개선해보겠습니다ㅎㅎ

@forkyy-dev forkyy-dev merged commit c8812c1 into codesquad-members-2022:team-08 Apr 7, 2022
@sally4405 sally4405 deleted the dev-BE branch April 7, 2022 06:00
mogooee added a commit that referenced this pull request Apr 7, 2022
* Update issue templates

* docs: Update Readme

Readme 1차 업데이트

* docs: Update Readme

기술 스택 추가

* Design: reset scss 적용

* HTML, CSS 작업 - Header, Sidebar (#11)

* design: header HTML markup
Related to: #8

* design: header css style
Related to: #8

* design: sidebar HTML markup
Related to: #8

* design: sidebar css style
Related to: #8

* 메뉴 - 우측 히든 레이어 생성, 애니메이션 구현 (#12)

* feat: sidebar 메뉴 버튼
사이드바 메뉴 버튼 클릭시 사이드바 숨김,보임 기능 구현
Related to: #10

* design: sidebar 애니메이션
왼쪽방향으로 나타나고 오른쪽 방향으로 숨겨지는 애니메이션 구현
Related to: #10

* 메뉴 - 우측 히든 레이어 생성, 애니메이션 구현 (#13)

* feat: sidebar 메뉴 버튼
사이드바 메뉴 버튼 클릭시 사이드바 숨김,보임 기능 구현
Related to: #10

* design: sidebar 애니메이션
왼쪽방향으로 나타나고 오른쪽 방향으로 숨겨지는 애니메이션 구현
Related to: #10

* feat: action분리
action에 따라 sidebar 리스트의 comment를 다르게 출력함
Related to: #10

* feat: timestamp 기능 구현
현재 시간을 기준으로 투두리스트 작성 및 변경 시간을 보여주는 timestamp 구현
Related to: #10

* feat: 을/를, 으로/로 구분
단어의 마지막 글자 종성에 따라 모음을 다르게 렌더하는 기능 구현
Related to: #10

* HTML, CSS 작업 - Card List (#14)

* design: main column list html markup

Related to : #9

* move: svg file move to public/svg

* 기존 public 에 있던 svg 파일을 svg 폴더 내로 이동
* icon-add.svg 파일 추가

Related to : #9

* Design: font mixin 함수 추가

Related to : #9

* design: column list scss style 작성

Related to: #9

* design: column task list scss style 작성

Related to: #9

* design: task commnet padding 을 margin 으로 변경

Related to: #9

* design: sccs convert to css

Related to: #9

* fix: icon svg 파일 경로 수정

Related to: #9

* chore: 빌드환경구성 (#16)

babel, webpack 적용
Related to: #15

* 메뉴 - 사용자 액션 리스트 구현 (#19)

* feat: sidebar 액션 리스트
히든레이어 영역을 애니메이션 효과와 함께 숨김,보임 기능 구현
Related to: #17

* design: sidebar 액션리스트 애니메이션
Related to: #17

* move: package.json, gitignore

* feat: sidebar 스크롤 기능 구현
액션리스트 기록이 많아지면 스크롤을 이용하여 다음 기록을 확인할 수 있음
Related to: #17

* design: 액션리스트 스크롤 구현
Related to: #17

* feature: json server 생성 및 db.json 추가 (#21)

* json server 설치하고 db.json 에 필요한 데이터들을 추가함
Related to: #18

* HTML, CSS 작업 - Card (#22)

* feat: todo-list 입력창 높이 자동 조절
todo-list를 입력하거나 지울 때 입력창의 높이를 자동으로 조절하는 기능 구현
Related to: #20

* design: column button hover color
칼럼 타이틀의 +,x 버튼을 hover할 때 버튼 색상 변경
Related to: #20

* design: 수정카드 디자인 구현
Related to: #20

* 리팩토링 - 1주차 리뷰 반영  (#24)

* refactor: getFinalConsonant 매직넘버 제거
Related to: #23

* refactor: calcTimeForToday 함수 리팩토링
* 매직 넘버 제거
* DayDifference 식 수정
* 몇 년전 조건 추가
Related to: #23

* refactor: writeTime -> timeStamp
Related to: #23

* refactor: identifyCategory 함수 리팩토링

* 구조 분해 할당 적용

Related to: #23

* refactor: svg 파일 경로 변수로 분리

* svg 파일 경로를 constants의 imagePath에 변수로 생성해서 관리하도록 변경

Related to: #23

* feat: fetchData 함수 구현

Related to: #23

* chore: bundle.js

Related to: #23

* refactor: sidebar model 리팩토링

Related to: #23

* refactor: activationStore import 방식 변경

Related to: #23

Co-authored-by: Hemdi <[email protected]>
Co-authored-by: Hemudi <[email protected]>
@sigridjineth
Copy link

수고 많으셨습니다.
위에 답변되지 않은 질문이 몇 개 있는데요. 다음 PR에서 함께 디스커션 해볼 수 있기를 희망합니다.
그러면, 즐거운 한 주 보내세요. 다음 리뷰에서 뵙겠습니다.

Dae-Hwa pushed a commit that referenced this pull request Apr 7, 2022
[BE][#15] 카드 기능 컨트롤러 및 도메인 구현
astraum pushed a commit that referenced this pull request Apr 9, 2022
Revert "POST 요청 로직 추가변경 "
snowjang24 pushed a commit that referenced this pull request Apr 9, 2022
GangWoon pushed a commit that referenced this pull request Apr 10, 2022
eve712 pushed a commit that referenced this pull request Apr 10, 2022
* 카드 등록 - 새로운 카드 등록 기능 구현 (#29)

* feat: todolist column과 task를 스크립트로 렌더링
list view와 task view를 클래스로 생성하고 db.json의 todolist를 하나의 배열로 묶음

* feat: column add button
칼럼의 추가버튼으로 등록카드 생성,삭제 기능 구현

* feat: task cancle button
등록카드의 취소버튼을 누르면 등록카드를 삭제하는 기능 구현

* refactor: 메인 렌더링 영역을 list에서 main으로 수정
entry point에서 mainInit의 parent를 list에서 main으로 리팩토링

* refactor: input event를 메인에서 task 모듈로 분리
입력창을 autoResize하는 이벤트를 task 모듈로 분리함

* rename: index.js

* 카드 등록 - 새로운 카드 입력창 생성 기능 구현(1) (#32)

* feat: 등록버튼 활성화 기능 구현
등록카드에 내용을 입력하면 등록버튼을 활성화, 입력할 수 있는 최대 글자수는 500자

* refactor: registration activation을 todoListStore에서 관리
activiation관리를 task에서 todoListStore로 변경

* 카드 이동 - 드래그앤드랍으로 카드 이동 구현(1) (#33)

* design: task cursor 변경

* task -> grab
* delete button -> pointer

* feat: mousedown 시 copyTask 생성 기능 구현

* Task 에 mousedown 이벤트 발생 시 드래그 할 복사본 Task 요소를 생성하는 기능 구현

* feat: index에서 todoList render 후에 dragEvent 등록 기능 구현

* 카드 등록 기능 구현 된 로직에 dragEvent 설정 로직 병합
* 그 외 자잘한 수정 포함

* feat: task 요소 좌표 설정 기능 구현

* 클릭 이벤트가 발생한 좌표로 task 요소의 좌표를 설정하는 로직 구현

* feat: drag 기능 구현

* body에 mousemove 이벤트 등록해서 이벤트가 발생할때마다 해당 이벤트의 좌표로 task 요소를 이동되도록 구현

* feat: mouseup 이벤트 발생 시 드랍 & 복사 task 요소 삭제 기능 구현

* 복사한 task 요소에 mouseup 이벤트 설정

* Design: column task list height, hidden 클래스 추가

* Design: 잔상 처리용 클래스 blur 추가

* feat: drag and drop 기능 구현

* 선택 된 origin task item , 드래그 되고 있는 task item, 이동 된 task item 3개의 요소를 활용

* remove: todolistStore.js

* rename: todolistStore -> todoListStore

* 카드 이동 - 드래그앤드랍으로 카드 이동 구현(2) (#34)

* design: task cursor 변경

* task -> grab
* delete button -> pointer

* feat: mousedown 시 copyTask 생성 기능 구현

* Task 에 mousedown 이벤트 발생 시 드래그 할 복사본 Task 요소를 생성하는 기능 구현

* feat: index에서 todoList render 후에 dragEvent 등록 기능 구현

* 카드 등록 기능 구현 된 로직에 dragEvent 설정 로직 병합
* 그 외 자잘한 수정 포함

* feat: task 요소 좌표 설정 기능 구현

* 클릭 이벤트가 발생한 좌표로 task 요소의 좌표를 설정하는 로직 구현

* feat: drag 기능 구현

* body에 mousemove 이벤트 등록해서 이벤트가 발생할때마다 해당 이벤트의 좌표로 task 요소를 이동되도록 구현

* feat: mouseup 이벤트 발생 시 드랍 & 복사 task 요소 삭제 기능 구현

* 복사한 task 요소에 mouseup 이벤트 설정

* Design: column task list height, hidden 클래스 추가

* Design: 잔상 처리용 클래스 blur 추가

* feat: drag and drop 기능 구현

* 선택 된 origin task item , 드래그 되고 있는 task item, 이동 된 task item 3개의 요소를 활용

* remove: todolistStore.js

* rename: todolistStore -> todoListStore

* feat: set drag and drop event

* 카드 등록 - 새로운 카드 입력창 생성 기능 구현(2) (#35)

* feat: 등록버튼 활성화 기능 구현
등록카드에 내용을 입력하면 등록버튼을 활성화, 입력할 수 있는 최대 글자수는 500자

* refactor: registration activation을 todoListStore에서 관리
activiation관리를 task에서 todoListStore로 변경

* 카드 등록 - 새로운 카드 입력창 생성 기능 구현(1) (#30)

* [team-19] Todo-list 1주차 #1 코드리뷰 요청 (#32)

* Update issue templates

* docs: Update Readme

Readme 1차 업데이트

* docs: Update Readme

기술 스택 추가

* Design: reset scss 적용

* HTML, CSS 작업 - Header, Sidebar (#11)

* design: header HTML markup
Related to: #8

* design: header css style
Related to: #8

* design: sidebar HTML markup
Related to: #8

* design: sidebar css style
Related to: #8

* 메뉴 - 우측 히든 레이어 생성, 애니메이션 구현 (#12)

* feat: sidebar 메뉴 버튼
사이드바 메뉴 버튼 클릭시 사이드바 숨김,보임 기능 구현
Related to: #10

* design: sidebar 애니메이션
왼쪽방향으로 나타나고 오른쪽 방향으로 숨겨지는 애니메이션 구현
Related to: #10

* 메뉴 - 우측 히든 레이어 생성, 애니메이션 구현 (#13)

* feat: sidebar 메뉴 버튼
사이드바 메뉴 버튼 클릭시 사이드바 숨김,보임 기능 구현
Related to: #10

* design: sidebar 애니메이션
왼쪽방향으로 나타나고 오른쪽 방향으로 숨겨지는 애니메이션 구현
Related to: #10

* feat: action분리
action에 따라 sidebar 리스트의 comment를 다르게 출력함
Related to: #10

* feat: timestamp 기능 구현
현재 시간을 기준으로 투두리스트 작성 및 변경 시간을 보여주는 timestamp 구현
Related to: #10

* feat: 을/를, 으로/로 구분
단어의 마지막 글자 종성에 따라 모음을 다르게 렌더하는 기능 구현
Related to: #10

* HTML, CSS 작업 - Card List (#14)

* design: main column list html markup

Related to : #9

* move: svg file move to public/svg

* 기존 public 에 있던 svg 파일을 svg 폴더 내로 이동
* icon-add.svg 파일 추가

Related to : #9

* Design: font mixin 함수 추가

Related to : #9

* design: column list scss style 작성

Related to: #9

* design: column task list scss style 작성

Related to: #9

* design: task commnet padding 을 margin 으로 변경

Related to: #9

* design: sccs convert to css

Related to: #9

* fix: icon svg 파일 경로 수정

Related to: #9

* chore: 빌드환경구성 (#16)

babel, webpack 적용
Related to: #15

* 메뉴 - 사용자 액션 리스트 구현 (#19)

* feat: sidebar 액션 리스트
히든레이어 영역을 애니메이션 효과와 함께 숨김,보임 기능 구현
Related to: #17

* design: sidebar 액션리스트 애니메이션
Related to: #17

* move: package.json, gitignore

* feat: sidebar 스크롤 기능 구현
액션리스트 기록이 많아지면 스크롤을 이용하여 다음 기록을 확인할 수 있음
Related to: #17

* design: 액션리스트 스크롤 구현
Related to: #17

* feature: json server 생성 및 db.json 추가 (#21)

* json server 설치하고 db.json 에 필요한 데이터들을 추가함
Related to: #18

* HTML, CSS 작업 - Card (#22)

* feat: todo-list 입력창 높이 자동 조절
todo-list를 입력하거나 지울 때 입력창의 높이를 자동으로 조절하는 기능 구현
Related to: #20

* design: column button hover color
칼럼 타이틀의 +,x 버튼을 hover할 때 버튼 색상 변경
Related to: #20

* design: 수정카드 디자인 구현
Related to: #20

* 리팩토링 - 1주차 리뷰 반영  (#24)

* refactor: getFinalConsonant 매직넘버 제거
Related to: #23

* refactor: calcTimeForToday 함수 리팩토링
* 매직 넘버 제거
* DayDifference 식 수정
* 몇 년전 조건 추가
Related to: #23

* refactor: writeTime -> timeStamp
Related to: #23

* refactor: identifyCategory 함수 리팩토링

* 구조 분해 할당 적용

Related to: #23

* refactor: svg 파일 경로 변수로 분리

* svg 파일 경로를 constants의 imagePath에 변수로 생성해서 관리하도록 변경

Related to: #23

* feat: fetchData 함수 구현

Related to: #23

* chore: bundle.js

Related to: #23

* refactor: sidebar model 리팩토링

Related to: #23

* refactor: activationStore import 방식 변경

Related to: #23

Co-authored-by: Hemdi <[email protected]>
Co-authored-by: Hemudi <[email protected]>

* 카드 등록 - 새로운 카드 등록 기능 구현 (#29)

* feat: todolist column과 task를 스크립트로 렌더링
list view와 task view를 클래스로 생성하고 db.json의 todolist를 하나의 배열로 묶음

* feat: column add button
칼럼의 추가버튼으로 등록카드 생성,삭제 기능 구현

* feat: task cancle button
등록카드의 취소버튼을 누르면 등록카드를 삭제하는 기능 구현

* refactor: 메인 렌더링 영역을 list에서 main으로 수정
entry point에서 mainInit의 parent를 list에서 main으로 리팩토링

* refactor: input event를 메인에서 task 모듈로 분리
입력창을 autoResize하는 이벤트를 task 모듈로 분리함

* rename: index.js

* feat: 등록버튼 활성화 기능 구현
등록카드에 내용을 입력하면 등록버튼을 활성화, 입력할 수 있는 최대 글자수는 500자

* refactor: registration activation을 todoListStore에서 관리
activiation관리를 task에서 todoListStore로 변경

Co-authored-by: Hemdi <[email protected]>
Co-authored-by: Hemudi <[email protected]>

* Revert "카드 등록 - 새로운 카드 입력창 생성 기능 구현(1) (#30)" (#31)

This reverts commit 7155f85.

* merge develop2

* feature: +버튼으로 등록 카드 생성
등록 카드가 이미 생성된 상황에서 다른 탭을 누르면, 기존의 카드가 사라지고 해당 탭에 새로운 카드를 생성

* feature: task에 이벤트 등록
task 인스턴스를 생성할때 이벤트 등록

Co-authored-by: Hemdi <[email protected]>
Co-authored-by: Hemudi <[email protected]>

Co-authored-by: mogooee <[email protected]>
wnsxor1993 pushed a commit that referenced this pull request Apr 11, 2022
[iOS] �TableView, TableHeader 구현 위치 변경
piggyse added a commit that referenced this pull request Apr 11, 2022
piggyse pushed a commit that referenced this pull request Apr 11, 2022
Contents
 - Rename & refactor setCardText() -> loadCardInfo()

Todo
 - Refactoring UITableViewController
piggyse added a commit that referenced this pull request Apr 11, 2022
content
- HttpMethod Delete 추가
- response NetworkError serverError로 변환.
- invalilURL, transportError, noData 추가.
- isResponseClear 제거 및 getStatusCode(response:URLResponse?)
piggyse added a commit that referenced this pull request Apr 11, 2022
contents
- Endpoint Protocol 생성
- 각 EndpointCases 별로 switch문 처리
- NetworkManger Class에서 baseURL기능 Endpoint의url로대체
- getRequest메서드, post메서드 매개변수로 endpoint추가
- post메서드에서 body 매개변수 제거 및 Endpoint의 body 프로퍼티로 대체.

Todo
- 유닛 테스트 작성을 위한 Mock Data생성
- get, post함수 테스트
piggyse added a commit that referenced this pull request Apr 11, 2022
content
- EndPoint 프로토콜 이름 EndPointable로 변경
piggyse pushed a commit that referenced this pull request Apr 11, 2022
Contents
 - CustomTableView 를 만들어서ChildVC 에적용

Todo
 - Autoresizing cell 적용하기
Min-92 pushed a commit that referenced this pull request Apr 13, 2022
* feat : 테이블 인덱스 컬럼 추가

closes #15

* refactor: [BE] 1주차 금요일 pr 피드백 적용

closes #16

* feat : 로그로직 작성

- 로그 조회 기능 구현
- 로그 저장 기능 구현

closes #19

* feat: 카드 Status별로 조회 기능 구현

Closes #23

* feat: CardListDto 생성하고 관련 로직 수정

Closes #29

* refactor: 카드 생성 로직 변경

- addDto에 인덱스값과 스테이터스값 같이 받아서 생성

closes #31

* test: CardRepositoryTest 작성

* test: 테스트 작성하기

- 카드 컨트롤러와 리퍼지토리 테스트 하기

closes #21

* Build: build.gradle, application.properties 수정

- mysql 의존성 추가
- yml 파일 생성

Co-authored-by: leekm0310 <[email protected]>
ink-0 pushed a commit that referenced this pull request Apr 13, 2022
jeonyeonkyu pushed a commit that referenced this pull request Apr 13, 2022
* refactor: set event 함수 event별로 분리

* 카드 등록 구현 (#9)

* refactor: set event 함수 event별로 분리
* feat: 카드 등록 버튼을 누르면 새 카드 등록하는 기능 추가
* feat: 새 카드를 등록하면 카드 등록 박스 사라지도록 함
* feat: scheduleModel 추가

* feat: card data에 id 키 추가

* 일정 카드 삭제 (#12)

* feat: schedule card delete btn에 mouseenter mouseleave 시 카드색 변경
* feat: schedule delete confirm UI 구현 및 delete btn 클릭 시 delete confirm 창 render
* fix: register card 추가 시 입력된 enter 반영하도록 수정
* feat: delet confirm 창 취소 버튼 클릭 시 창 제거
* feat: delete confirm 창 삭제 버튼 클릭 시 card 삭제 및 model data 삭제
    removeCard method 전달을 위해 scheduleCard class 매개변수 변경,
    removeCard method 는 sceduleColumn -> scheduleCard -> schduleDeleteConfirm 으로 전달,
    model data는 schedule card data-cardId 를 사용해 index 를 찾아 삭제
* fix: schedule column id 중복 문제 수정
    id 부여 방식을 Date.getTime -> uuid 를 활용한 방식

* 일정 카드 수정 (#13)

* feat: 등록된 카드를 더블 클릭하면 카드 수정 블록으로 변경
* chore: 더블 클릭 후 일정 카드가 카드 수정 블록으로 변경될 때 기존의 내용(title, body)를 갖고 있게 수정
* feat: 취소 버튼을 누르면 카드 수정 블록이 사라지고 원래 카드가 보이게 함
* refactor: 카드 수정 부분 ScheduleCard 클래스에서 ScheduleEditCard 클래스로 이동
* feat: 카드 수정 버튼 클릭 이벤트 구현
    - 카드 제목의 글자수가 0이되면 수정 버튼 비활성화
    - 수정 버튼이 비활성화되면 수정 버튼 클릭 할 수 없음
* feat: 등록된 카드를 더블 클릭하면 카드 수정 블록으로 변경
* chore: 더블 클릭 후 일정 카드가 카드 수정 블록으로 변경될 때 기존의 내용(title, body)를 갖고 있게 수정
* feat: 취소 버튼을 누르면 카드 수정 블록이 사라지고 원래 카드가 보이게 함
* refactor: 카드 수정 부분 ScheduleCard 클래스에서 ScheduleEditCard 클래스로 이동
* feat: 카드 수정 버튼 클릭 이벤트 구현
    - 카드 제목의 글자수가 0이되면 수정 버튼 비활성화
    - 수정 버튼이 비활성화되면 수정 버튼 클릭 할 수 없음
* refactor: 카드 삭제 관련 코드가 반영된 develop을 가져온 후 일부분 수정
* feat: 카드 수정 시 model에도 반영하도록 함
* chore: LIMIT utils.js로 옮김, template() 으로 할당되는 변수명 변경

* chore: eslint 설치

* Edit 기능 리팩토링 (#15)

* refactor: 리뷰 반영
* refactor: 카드 당 EditCard 객체 하나씩만 생성하도록 함

* delete confirm 및 register card 리팩토링 (#16)

* refactor: schedule delete confirm class 및 관련 schedule card, schedule model 메서드 수정
    마우스 엔터, 리브 시 active red 로직 통일,
    schedule card 에서 삭제 버튼 클릭 마다 delete confirm class 생성 -> 생성된 class 모듈을 가지고 init 메서드만 실행
* refactor: schedule delete confirm 코드 포맷 변경, class -> 함수
* refactor: register card class 생성 시점 변경
    add btn click 시마다 생성 -> schedul column 생성 시 1회 생성하여 메서드만 사용
* chore: merge 시 잘못 반영된 부분 수정

* feat: 카드 이동을 위해 카드를 누르면 잔상이 생기고 이동하는 카드 생성

* feat: 카드 드래그 후 드랍 시 카드가 더이상 따라오지 않음

* refactor: mouseDownEventHandler 함수를 잘게 쪼갬

* feat: drag 후 mouseenter 시 해당 카드 기준으로 위치가 위인지 아래인지 확인 함수 구현

* refactor: schedule card drag 파일 생성, 관련 부분 집어넣음

* feat: 드래그 카드를 위로 이동하면 드래그 카드가 올라간 카드 위로 잔상이 옮겨짐

* fix: 잔상카드가 정확한 위치로 이동한다

* refactor: mouseMoveOnDraggingEventHandler 내부 로직을 작은 함수로 쪼갬

* feat: 드래그 카드를 드롭(마우스업)하면 잔상카드에서 일정 카드로 바뀜

* feat: 드래그 카드를 드롭하면 마우스를 따라다니던 드래그 카드 사라짐

* refactor: scheduleModel 변경

- ScheduleColumn에 각각 있던 scheduleModel을 하나의 scheduleModel로 바꿈
- schedulModel 구조 변화 : columnId 키 추가

* fix: 카드 삭제를 위한 x 버튼 클릭 이벤트가 발생하지 않는 문제 수정(마우스 다운과 중복 이벤트)

* feat: 드래그 드랍 시 모델에 이동하는 데이터 반영

mousedown 시 기존 컬럼의 카드 데이터 삭제,
mouseup 시 잔상 카드가 있는 컬럼의 카드 위치에 카드 데이터 추가

* fix: 마우스 다운 이벤트 등록 후 더블 클릭 이벤트 안되던 것 다시 동작하게 수정

- 더블 클릭 이벤트도 main에 걸어줌
- EditCard를 객체로 만들지 않고 함수로 변경

* refactor: 임시로 만든 EditCard2를 EditCard 파일로 변경, ScheduleCard에서 EditCard 생성하는 부분 삭제

* 카드 이동 구현(드래그 앤 드랍) (#19)

* feat: 카드 이동을 위해 카드를 누르면 잔상이 생기고 이동하는 카드 생성
* feat: 카드 드래그 후 드랍 시 카드가 더이상 따라오지 않음
* refactor: mouseDownEventHandler 함수를 잘게 쪼갬
* feat: drag 후 mouseenter 시 해당 카드 기준으로 위치가 위인지 아래인지 확인 함수 구현
* refactor: schedule card drag 파일 생성, 관련 부분 집어넣음
* feat: 드래그 카드를 위로 이동하면 드래그 카드가 올라간 카드 위로 잔상이 옮겨짐
* fix: 잔상카드가 정확한 위치로 이동한다
* refactor: mouseMoveOnDraggingEventHandler 내부 로직을 작은 함수로 쪼갬
* feat: 드래그 카드를 드롭(마우스업)하면 잔상카드에서 일정 카드로 바뀜
* feat: 드래그 카드를 드롭하면 마우스를 따라다니던 드래그 카드 사라짐
* refactor: scheduleModel 변경
    - ScheduleColumn에 각각 있던 scheduleModel을 하나의 scheduleModel로 바꿈
    - schedulModel 구조 변화 : columnId 키 추가
* fix: 카드 삭제를 위한 x 버튼 클릭 이벤트가 발생하지 않는 문제 수정(마우스 다운과 중복 이벤트)
* feat: 드래그 드랍 시 모델에 이동하는 데이터 반영
    - mousedown 시 기존 컬럼의 카드 데이터 삭제,
    - mouseup 시 잔상 카드가 있는 컬럼의 카드 위치에 카드 데이터 추가
* fix: 마우스 다운 이벤트 등록 후 더블 클릭 이벤트 안되던 것 다시 동작하게 수정
    - 더블 클릭 이벤트도 main에 걸어줌
    - EditCard를 객체로 만들지 않고 함수로 변경
* refactor: 임시로 만든 EditCard2를 EditCard 파일로 변경, ScheduleCard에서 EditCard 생성하는 부분 삭제

* refactor: 다시 ScheduleCard에서 EditCard 생성하도록 변경

* 카드 스타일 관련 수정 (#21)

* chore: 마우스 드래그 스타일 막기
* chore: 긴 글자 입력 시 카드 등록 후에도 입력에 따라 카드 길어지게 변경
* chore: 내용에 따라 달라진 카드 높이를 잔상 카드, 드래그 카드에도 적용

* feat: 카드 추가,이동,삭제 시 칼럼의 카드 숫자 변경

* feat: 바로 위 카드를 거치지 않아도 맨 마지막에 카드 이동할 수 있게 변경

Co-authored-by: bangdler <[email protected]>
Co-authored-by: bangdler <[email protected]>
dev-Lena pushed a commit that referenced this pull request Apr 13, 2022
dev-Lena pushed a commit that referenced this pull request Apr 13, 2022
dev-Lena pushed a commit that referenced this pull request Apr 13, 2022
…프로토콜을 채택하도록 설정

해당 팩토리가 Card 뿐 아니라, 로그 테이블뷰에서 사용될 로그 셀의 모델도 생성하는 역할을 가지도록 하기 위해 이름 수정
dev-Lena pushed a commit that referenced this pull request Apr 13, 2022
ModelFactory를 사용하는 상위 객체에서는 어떤 타입의 객체가 생성될지 알 수 없도록 하기 위해, ModelFactory가 모델 객체를 생성하는 메서드에서 사용할 make(title:body:data:)메서드를 Card 객체 내에서 정의
dev-Lena pushed a commit that referenced this pull request Apr 13, 2022
CardListViewController의 프로퍼티 cardManager의 타입을 추상 타입인 CardManagable로 변경
CardManager의 의존성을 MainViewController에서 CardListViewController를 초기화할 때 주입할 수 있도록 수정
guswns1659 pushed a commit that referenced this pull request Apr 14, 2022
* feat: 오류 반환 형식을 정의하는 클래스 추가

* refactor: GlobalExceptionHandler 가 오류 반환 형식으로 반환하도록 변경
eve712 pushed a commit that referenced this pull request Apr 14, 2022
* 카드 등록 - 새로운 카드 입력창 생성 기능 구현 (#36)

* feature: 등록버튼을 누르면 새로운 카드, 카드 개수 렌더링
등록카드의 등록버튼으로 리스트에 새로운 카드를 추가하고 리스트의 카드 개수를 렌더링한다.

* rename: todolistStore.js->todoListStore.js

* feat: 새로운 카드 데이터 post 요청
등록버튼을 누르면 새로운 카드의 데이터를 post 요청하여 업데이트

* 카드 수정 - 내용 수정 기능 구현 (#37)

* feat: 더블 클릭시 수정카드 전환, 수정버튼 활성화
롱클릭과 더블 클릭을 구분하고 수정카드에 기존과 다른 데이터가 입력되면 수정버튼을 활성화

* feat: 등록카드, 수정카드 데이터 fetch 요청
put 메소드로 변경된 카드 데이터를 서버에 보냄

* refactor: activationStore -> todoListStore
모델의 state를 todoListStore모듈에서 관리함

* 카드 삭제 - X 버튼 마우스 오버 이벤트 & 삭제 알럿창 구현 (#41)

* design: delete alert 창 구현

* feat: task x delete button mouseover 이벤트 구현

* mouseover 시 task item 색 변화
* mouseout 시 원래대로 돌아옴

* feat: task title을 이용하여 task 를 삭제하는 함수 구현

* feat: 삭제 Alert 창 생성 기능 구현

* design: delete-button hover 이벤트 클래스로 분리

* feat: Alert 창 결과에 따른 Task 스타일 변화 기능 구현

* remove: todolistStore.js

* rename: todoListStore.js

* 카드 이동 - 리스트 중간에 카드 추가 기능 구현(1) (#42)

* 카드 등록 - 새로운 카드 입력창 생성 기능 구현(1) (#30)

* [team-19] Todo-list 1주차 #1 코드리뷰 요청 (#32)

* Update issue templates

* docs: Update Readme

Readme 1차 업데이트

* docs: Update Readme

기술 스택 추가

* Design: reset scss 적용

* HTML, CSS 작업 - Header, Sidebar (#11)

* design: header HTML markup
Related to: #8

* design: header css style
Related to: #8

* design: sidebar HTML markup
Related to: #8

* design: sidebar css style
Related to: #8

* 메뉴 - 우측 히든 레이어 생성, 애니메이션 구현 (#12)

* feat: sidebar 메뉴 버튼
사이드바 메뉴 버튼 클릭시 사이드바 숨김,보임 기능 구현
Related to: #10

* design: sidebar 애니메이션
왼쪽방향으로 나타나고 오른쪽 방향으로 숨겨지는 애니메이션 구현
Related to: #10

* 메뉴 - 우측 히든 레이어 생성, 애니메이션 구현 (#13)

* feat: sidebar 메뉴 버튼
사이드바 메뉴 버튼 클릭시 사이드바 숨김,보임 기능 구현
Related to: #10

* design: sidebar 애니메이션
왼쪽방향으로 나타나고 오른쪽 방향으로 숨겨지는 애니메이션 구현
Related to: #10

* feat: action분리
action에 따라 sidebar 리스트의 comment를 다르게 출력함
Related to: #10

* feat: timestamp 기능 구현
현재 시간을 기준으로 투두리스트 작성 및 변경 시간을 보여주는 timestamp 구현
Related to: #10

* feat: 을/를, 으로/로 구분
단어의 마지막 글자 종성에 따라 모음을 다르게 렌더하는 기능 구현
Related to: #10

* HTML, CSS 작업 - Card List (#14)

* design: main column list html markup

Related to : #9

* move: svg file move to public/svg

* 기존 public 에 있던 svg 파일을 svg 폴더 내로 이동
* icon-add.svg 파일 추가

Related to : #9

* Design: font mixin 함수 추가

Related to : #9

* design: column list scss style 작성

Related to: #9

* design: column task list scss style 작성

Related to: #9

* design: task commnet padding 을 margin 으로 변경

Related to: #9

* design: sccs convert to css

Related to: #9

* fix: icon svg 파일 경로 수정

Related to: #9

* chore: 빌드환경구성 (#16)

babel, webpack 적용
Related to: #15

* 메뉴 - 사용자 액션 리스트 구현 (#19)

* feat: sidebar 액션 리스트
히든레이어 영역을 애니메이션 효과와 함께 숨김,보임 기능 구현
Related to: #17

* design: sidebar 액션리스트 애니메이션
Related to: #17

* move: package.json, gitignore

* feat: sidebar 스크롤 기능 구현
액션리스트 기록이 많아지면 스크롤을 이용하여 다음 기록을 확인할 수 있음
Related to: #17

* design: 액션리스트 스크롤 구현
Related to: #17

* feature: json server 생성 및 db.json 추가 (#21)

* json server 설치하고 db.json 에 필요한 데이터들을 추가함
Related to: #18

* HTML, CSS 작업 - Card (#22)

* feat: todo-list 입력창 높이 자동 조절
todo-list를 입력하거나 지울 때 입력창의 높이를 자동으로 조절하는 기능 구현
Related to: #20

* design: column button hover color
칼럼 타이틀의 +,x 버튼을 hover할 때 버튼 색상 변경
Related to: #20

* design: 수정카드 디자인 구현
Related to: #20

* 리팩토링 - 1주차 리뷰 반영  (#24)

* refactor: getFinalConsonant 매직넘버 제거
Related to: #23

* refactor: calcTimeForToday 함수 리팩토링
* 매직 넘버 제거
* DayDifference 식 수정
* 몇 년전 조건 추가
Related to: #23

* refactor: writeTime -> timeStamp
Related to: #23

* refactor: identifyCategory 함수 리팩토링

* 구조 분해 할당 적용

Related to: #23

* refactor: svg 파일 경로 변수로 분리

* svg 파일 경로를 constants의 imagePath에 변수로 생성해서 관리하도록 변경

Related to: #23

* feat: fetchData 함수 구현

Related to: #23

* chore: bundle.js

Related to: #23

* refactor: sidebar model 리팩토링

Related to: #23

* refactor: activationStore import 방식 변경

Related to: #23

Co-authored-by: Hemdi <[email protected]>
Co-authored-by: Hemudi <[email protected]>

* 카드 등록 - 새로운 카드 등록 기능 구현 (#29)

* feat: todolist column과 task를 스크립트로 렌더링
list view와 task view를 클래스로 생성하고 db.json의 todolist를 하나의 배열로 묶음

* feat: column add button
칼럼의 추가버튼으로 등록카드 생성,삭제 기능 구현

* feat: task cancle button
등록카드의 취소버튼을 누르면 등록카드를 삭제하는 기능 구현

* refactor: 메인 렌더링 영역을 list에서 main으로 수정
entry point에서 mainInit의 parent를 list에서 main으로 리팩토링

* refactor: input event를 메인에서 task 모듈로 분리
입력창을 autoResize하는 이벤트를 task 모듈로 분리함

* rename: index.js

* feat: 등록버튼 활성화 기능 구현
등록카드에 내용을 입력하면 등록버튼을 활성화, 입력할 수 있는 최대 글자수는 500자

* refactor: registration activation을 todoListStore에서 관리
activiation관리를 task에서 todoListStore로 변경

Co-authored-by: Hemdi <[email protected]>
Co-authored-by: Hemudi <[email protected]>

* Revert "카드 등록 - 새로운 카드 입력창 생성 기능 구현(1) (#30)" (#31)

This reverts commit 7155f85.

* feat: 칼럼 사이 카드 이동
마우스 포인터를 기준으로 드래그중인 카드 아래 새로운 카드 존재 여부에 따라 해당 카드 앞 또는 가장 아래에 드래그 카드 추가

* rename: deleteMenu.js->alertDelete.js

* feat: 드래그앤 드랍 적용
task 인스턴스에 드래그앤드랍 기능 적용

* refactor: export 방식 변경

Co-authored-by: Hemdi <[email protected]>
Co-authored-by: Hemudi <[email protected]>

* feat: task id 추가 + id를 이용한 삭제 기능 구현 (#44)

* 기존 task title 을 이용해 삭제했던 기능을 id 를 이용해 삭제하는 방식으로 변경

Co-authored-by: Hemdi <[email protected]>
Co-authored-by: Hemudi <[email protected]>
tmdgusya pushed a commit that referenced this pull request Apr 14, 2022
[BE-pio] feat: Swagger 세팅 및 적용
@forkyy-dev forkyy-dev changed the title [team-8][BE] todo-list 1주차 #1 [team-08][BE] todo-list 1주차 #1 Apr 15, 2022
jeonyeonkyu pushed a commit that referenced this pull request Apr 16, 2022
* refactor: set event 함수 event별로 분리

* 카드 등록 구현 (#9)

* refactor: set event 함수 event별로 분리
* feat: 카드 등록 버튼을 누르면 새 카드 등록하는 기능 추가
* feat: 새 카드를 등록하면 카드 등록 박스 사라지도록 함
* feat: scheduleModel 추가

* feat: card data에 id 키 추가

* 일정 카드 삭제 (#12)

* feat: schedule card delete btn에 mouseenter mouseleave 시 카드색 변경
* feat: schedule delete confirm UI 구현 및 delete btn 클릭 시 delete confirm 창 render
* fix: register card 추가 시 입력된 enter 반영하도록 수정
* feat: delet confirm 창 취소 버튼 클릭 시 창 제거
* feat: delete confirm 창 삭제 버튼 클릭 시 card 삭제 및 model data 삭제
    removeCard method 전달을 위해 scheduleCard class 매개변수 변경,
    removeCard method 는 sceduleColumn -> scheduleCard -> schduleDeleteConfirm 으로 전달,
    model data는 schedule card data-cardId 를 사용해 index 를 찾아 삭제
* fix: schedule column id 중복 문제 수정
    id 부여 방식을 Date.getTime -> uuid 를 활용한 방식

* 일정 카드 수정 (#13)

* feat: 등록된 카드를 더블 클릭하면 카드 수정 블록으로 변경
* chore: 더블 클릭 후 일정 카드가 카드 수정 블록으로 변경될 때 기존의 내용(title, body)를 갖고 있게 수정
* feat: 취소 버튼을 누르면 카드 수정 블록이 사라지고 원래 카드가 보이게 함
* refactor: 카드 수정 부분 ScheduleCard 클래스에서 ScheduleEditCard 클래스로 이동
* feat: 카드 수정 버튼 클릭 이벤트 구현
    - 카드 제목의 글자수가 0이되면 수정 버튼 비활성화
    - 수정 버튼이 비활성화되면 수정 버튼 클릭 할 수 없음
* feat: 등록된 카드를 더블 클릭하면 카드 수정 블록으로 변경
* chore: 더블 클릭 후 일정 카드가 카드 수정 블록으로 변경될 때 기존의 내용(title, body)를 갖고 있게 수정
* feat: 취소 버튼을 누르면 카드 수정 블록이 사라지고 원래 카드가 보이게 함
* refactor: 카드 수정 부분 ScheduleCard 클래스에서 ScheduleEditCard 클래스로 이동
* feat: 카드 수정 버튼 클릭 이벤트 구현
    - 카드 제목의 글자수가 0이되면 수정 버튼 비활성화
    - 수정 버튼이 비활성화되면 수정 버튼 클릭 할 수 없음
* refactor: 카드 삭제 관련 코드가 반영된 develop을 가져온 후 일부분 수정
* feat: 카드 수정 시 model에도 반영하도록 함
* chore: LIMIT utils.js로 옮김, template() 으로 할당되는 변수명 변경

* chore: eslint 설치

* Edit 기능 리팩토링 (#15)

* refactor: 리뷰 반영
* refactor: 카드 당 EditCard 객체 하나씩만 생성하도록 함

* delete confirm 및 register card 리팩토링 (#16)

* refactor: schedule delete confirm class 및 관련 schedule card, schedule model 메서드 수정
    마우스 엔터, 리브 시 active red 로직 통일,
    schedule card 에서 삭제 버튼 클릭 마다 delete confirm class 생성 -> 생성된 class 모듈을 가지고 init 메서드만 실행
* refactor: schedule delete confirm 코드 포맷 변경, class -> 함수
* refactor: register card class 생성 시점 변경
    add btn click 시마다 생성 -> schedul column 생성 시 1회 생성하여 메서드만 사용
* chore: merge 시 잘못 반영된 부분 수정

* feat: 카드 이동을 위해 카드를 누르면 잔상이 생기고 이동하는 카드 생성

* feat: 카드 드래그 후 드랍 시 카드가 더이상 따라오지 않음

* refactor: mouseDownEventHandler 함수를 잘게 쪼갬

* feat: drag 후 mouseenter 시 해당 카드 기준으로 위치가 위인지 아래인지 확인 함수 구현

* refactor: schedule card drag 파일 생성, 관련 부분 집어넣음

* feat: 드래그 카드를 위로 이동하면 드래그 카드가 올라간 카드 위로 잔상이 옮겨짐

* fix: 잔상카드가 정확한 위치로 이동한다

* refactor: mouseMoveOnDraggingEventHandler 내부 로직을 작은 함수로 쪼갬

* feat: 드래그 카드를 드롭(마우스업)하면 잔상카드에서 일정 카드로 바뀜

* feat: 드래그 카드를 드롭하면 마우스를 따라다니던 드래그 카드 사라짐

* refactor: scheduleModel 변경

- ScheduleColumn에 각각 있던 scheduleModel을 하나의 scheduleModel로 바꿈
- schedulModel 구조 변화 : columnId 키 추가

* fix: 카드 삭제를 위한 x 버튼 클릭 이벤트가 발생하지 않는 문제 수정(마우스 다운과 중복 이벤트)

* feat: 드래그 드랍 시 모델에 이동하는 데이터 반영

mousedown 시 기존 컬럼의 카드 데이터 삭제,
mouseup 시 잔상 카드가 있는 컬럼의 카드 위치에 카드 데이터 추가

* fix: 마우스 다운 이벤트 등록 후 더블 클릭 이벤트 안되던 것 다시 동작하게 수정

- 더블 클릭 이벤트도 main에 걸어줌
- EditCard를 객체로 만들지 않고 함수로 변경

* refactor: 임시로 만든 EditCard2를 EditCard 파일로 변경, ScheduleCard에서 EditCard 생성하는 부분 삭제

* 카드 이동 구현(드래그 앤 드랍) (#19)

* feat: 카드 이동을 위해 카드를 누르면 잔상이 생기고 이동하는 카드 생성
* feat: 카드 드래그 후 드랍 시 카드가 더이상 따라오지 않음
* refactor: mouseDownEventHandler 함수를 잘게 쪼갬
* feat: drag 후 mouseenter 시 해당 카드 기준으로 위치가 위인지 아래인지 확인 함수 구현
* refactor: schedule card drag 파일 생성, 관련 부분 집어넣음
* feat: 드래그 카드를 위로 이동하면 드래그 카드가 올라간 카드 위로 잔상이 옮겨짐
* fix: 잔상카드가 정확한 위치로 이동한다
* refactor: mouseMoveOnDraggingEventHandler 내부 로직을 작은 함수로 쪼갬
* feat: 드래그 카드를 드롭(마우스업)하면 잔상카드에서 일정 카드로 바뀜
* feat: 드래그 카드를 드롭하면 마우스를 따라다니던 드래그 카드 사라짐
* refactor: scheduleModel 변경
    - ScheduleColumn에 각각 있던 scheduleModel을 하나의 scheduleModel로 바꿈
    - schedulModel 구조 변화 : columnId 키 추가
* fix: 카드 삭제를 위한 x 버튼 클릭 이벤트가 발생하지 않는 문제 수정(마우스 다운과 중복 이벤트)
* feat: 드래그 드랍 시 모델에 이동하는 데이터 반영
    - mousedown 시 기존 컬럼의 카드 데이터 삭제,
    - mouseup 시 잔상 카드가 있는 컬럼의 카드 위치에 카드 데이터 추가
* fix: 마우스 다운 이벤트 등록 후 더블 클릭 이벤트 안되던 것 다시 동작하게 수정
    - 더블 클릭 이벤트도 main에 걸어줌
    - EditCard를 객체로 만들지 않고 함수로 변경
* refactor: 임시로 만든 EditCard2를 EditCard 파일로 변경, ScheduleCard에서 EditCard 생성하는 부분 삭제

* refactor: 다시 ScheduleCard에서 EditCard 생성하도록 변경

* 카드 스타일 관련 수정 (#21)

* chore: 마우스 드래그 스타일 막기
* chore: 긴 글자 입력 시 카드 등록 후에도 입력에 따라 카드 길어지게 변경
* chore: 내용에 따라 달라진 카드 높이를 잔상 카드, 드래그 카드에도 적용

* feat: 카드 추가,이동,삭제 시 칼럼의 카드 숫자 변경

* feat: 바로 위 카드를 거치지 않아도 맨 마지막에 카드 이동할 수 있게 변경

* refactor: model column data 순서와 보여지는 card 순서를 맞춤

* refactor: 리뷰 반영

* chore: 카드를 드롭하면 칼럼의 카드 카운트 업데이트 하도록 수정

- 원래 마우스 다운에서 카운트 업데이트 했었음

* json server 생성 및 연결 (#25)

* feat: json server 설치
* feat: json-server 에 delete 요청
* feat: 카드 추가하면 서버에도 반영하기
    - json server에 post 요청
* feat: json-server 에 card data 반영하는 시기 변경
    - history 에 데이터 변경 발생을 기록하여 주기적으로 server에 요청
    - window 창 종료 직전 남아있는 History 모두 server에 요청
* heroku 배포 설정 (#24)
    - build: heroku로 배포하기 위한 파일 설정
    - refactor: 파일 구조 변경, 정적 파일을 app 폴더에 모아 넣음
    - chore: json server dependencies로 이동
    - chore: 정적 파일 설정 추가
    - chore: api 주소 변경
* refactor: model 에서 처리하던 post, delete history를 분리
* build: webpack 실행 후 index.html에 bundle.js 연결

* chore: 카드 컨테이너 높이 변경

* chore: 카드 컨테이너 높이 변경

Co-authored-by: Eunji Lee <[email protected]>
Co-authored-by: nanjeong <[email protected]>
Min-92 pushed a commit that referenced this pull request Apr 17, 2022
* feat : 테이블 인덱스 컬럼 추가

closes #15

* refactor: CardController 응답시 List 보내줄 수 있도록 수정

- sample data에 cardIndex가 status별로 0번만 있게 수정

closes #36

* refactor: 구글 코딩 컨벤션을 사용하여 코드 포매팅 설정하기

- 불필요한 임포트, 컨벤션 삭제

* refactor: controller 메소드이름 변경

* refactor: queryParameter를 사용

* refactor: addValues 메소드 사용

* refactor: cardRepository변경

- rowMapper를 재사용
- 요청에 사용되는 dto와 응답에 사용되는 dto를 분리
- repository 레이어에서는 도메인 객체사용하도록 변경

* refactor: jdbcTemplate에서 object를 반환하는 메소드 사용하도록 변경

* refactor: creatTime메소드 삭제

closes #38

* refactor: MYSQL 사용을 위한 schema.sql 수정

closes #40

* Bug: 배포 뒤 서버 오류 해결

* feat: 서버 cors에러 해결

Co-authored-by: leekm0310 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review-BE Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants