-
Notifications
You must be signed in to change notification settings - Fork 12
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
feature: [피드 조회] 게시글 카드 컴포넌트 #58
Conversation
- react-native-swiper 모듈 추가
- state변경 시 깜빡거리는 문제 해결
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수고하셨습니다 👍
기능 구현을 잘 해주셨네요. 몇 가지 피드백만 남겨두었습니다 :)
return ( | ||
<Swiper | ||
loadMinimal={true} | ||
loop={false} | ||
dot={Dot()} | ||
activeDot={ActiveDot()} | ||
paginationStyle={styles.pagination} | ||
centerContent={true} | ||
> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
엇 저는 나누는게 좋다고 생각해요.
정말 작은 컴포넌트이고, 애플리케이션 전체 규모로 생각해본다면 사진이나 스와이퍼가 사용되는 곳에 재사용될 가능성이 있다고 생각해요.
잠깐 생각해본거지만 게시글 상세 조회에서 사진을 눌러 전체화면으로 볼때도 사용할 수 있을 것 같네요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
그렇네요 :) 컴포넌트를 직접 만드는게 아니고 스타일 변경만 할꺼라 굳이 컴포넌트 만들어서 줄 필요가 없겠네요 :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@begaonnuri , @lxxjn0 그렇네요 모든 사진 슬라이드 부분에서 같은 형식에 dot, activedot 을 사용할 수 있겠네요.
다시 분리 할께요 터틀말 들어보니 나누는게 좋을 것 같네요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아 근데 제가 생각하기에 저기에 컴포넌트를 주는 것은 dot 디자인이 아니라 추가적인 작업이 필요한 경우 적용하는 것이 아닐까요??
단순히 디자인적인 차이만 컴포넌트에 존재한다면 이는 스타일 속성을 따로 파일로 추출하고 그 속성값을 가져가서 사용하는 것이 더 옳다고 생각합니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
react-native-swiper 의 changelog 보면 dotStyle이
dot prop이후에 Added easily accessible pagination point manipulation 를 위해 추가된걸 볼 수 있는데 그냥 어떻게 사용하느냐에 관점 차이인 것 같아요.
이제부터 사용할 dot이 제가 사용한 스타일을 계쏙해서 똑같이 사용하는것이면 컴포넌트로 분리해서 사용하는게 좋지 않을까 조심스럽게 생각해 봅니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
관점의 차이라는 점 동의해요.
다만 저는 컴포넌트에 좀 더 무게가 실리는 것이,
'제목'에 쓰이는 컴포넌트처럼 별다른 기능이 없더라도 스타일만으로도 컴포넌트화 하는 것이 확장성도 고려했을 때 적절하다고 생각해요.
또한 스티치가 말한 스타일 속성을 파일로 추출하는것은 html 태그들의 기본 속성 초기화작업이나 브라우저별(저흰 ios, android별) 스타일처리 등이 들어가는 것이 적절하다고 생각해요.
front/src/replacePriceWithCommas.ts
Outdated
export default function replacePriceWithCommas(price: string) { | ||
return price.replace(/\B(?=(\d{3})+(?!\d))/g, ","); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 함수의 경우 저도 똑같이 사용하는 함수네요 :)
나중에 코드를 같이 모아두면 좋을 것 같아요!!!
front/package.json
Outdated
@@ -15,8 +15,10 @@ | |||
"@react-navigation/bottom-tabs": "^5.6.1", | |||
"@react-navigation/native": "^5.6.1", | |||
"@react-navigation/stack": "^5.6.2", | |||
"@types/recompose": "^0.30.7", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 부분 지우겠습니다 모듈 지운다고지웠는데 안지워졌네요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
어려운 기능인데 잘해주셨어요 👍
변경사항 확인 부탁드려요.
front/package.json
Outdated
@@ -15,8 +15,10 @@ | |||
"@react-navigation/bottom-tabs": "^5.6.1", | |||
"@react-navigation/native": "^5.6.1", | |||
"@react-navigation/stack": "^5.6.2", | |||
"@types/recompose": "^0.30.7", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
무슨 기능을 하는 모듈인가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
위에 커맨트로 달아놨는데 까먹고 지우질 못했습니다.
@@ -17,7 +17,7 @@ type ArticleAdditional = { | |||
chatCount: number; | |||
}; | |||
|
|||
export interface ArticleCardProps { | |||
export interface CategoryArticleCardProps { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
types.ts가 아닌 여기에 두신 이유가 있나요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
앗 까먹고 안옮겨둔거 같네요 :<
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아 아니다 제가 해둔게 아니에요 ㅠ 저는 이름만 바꿔서 변경된거 같은데 제 코드가 아니라 못본 것 같네요
import React from "react"; | ||
import { StyleSheet, View } from "react-native"; | ||
|
||
export default function ActiveDot() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
컴포넌트 분리 👍
const clickValue = useRef(new Animated.Value(1)).current; | ||
|
||
const clickArticle = () => { | ||
clickValue.setValue(0.98); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
0.98과 1의 차이가 무엇일까요?
상수화해서 의미를 나타내주면 더 좋을것같아요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
애니메이션의 시작 값 입니다 :) 1이 현재 값(크기)을 나타내더라구요.
0.98 에서 1의 값 차이만큼 애니메이션 행위를 합니다.
상수 값으로 변경할께요
Animated.timing(clickValue, { | ||
toValue: 1, | ||
duration: 150, | ||
useNativeDriver: true, | ||
}).start(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
toValue의 의미와 useNativeDriver 속성의 이유를 알 수 있을까요?
이벤트 효과를 사용하려면 NativeDriver가 필요해서인가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
toValue 는 위에서 setValue 로 0.98로 값을 변경하고 1의 값으로 애니메이션을 하겠다 라는 의미이고
useNativeDriver는 해당 애니메이션을 네이티브로 어떤 설정없이 실행하게 해주는 설정이라고 합니다 :)
이벤트 효과를 사용하려면 필요하다고 생각할 수 있겠네요
혹시 몰라 문서에 있는 말을 남겨드릴께요!
By using the native driver, we send everything about the animation to native before starting the animation, allowing native code to perform the animation on the UI thread without having to go through the bridge on every frame.
setIsFavorite(false); | ||
setFavorite(favorite - 1); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
지금은 나쁘지 않지만 추가적인 로직이 생길 경우 메소드 분리가 필요해보여요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
한단계 더 추상화 했습니다 :)
<Swiper | ||
loadMinimal={true} | ||
loop={false} | ||
dot={Dot()} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{Dot}
또는 {() => Dot()}
이 적절해보여요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Swiper api 문서를 보면 Dot Prop 의 타입이 element 이고 default 값으로
<View style={{backgroundColor:'rgba(0,0,0,.2)', width: 8, height: 8,borderRadius: 4, marginLeft: 3, marginRight: 3, marginTop: 3, marginBottom: 3,}} />
의 값이 들어가 있는거로 나와있는걸 볼 수있습니다.
따라서 jsx문법을 이용해서 으로 엘리먼트 타입으로 나타내 주는게 맞는거 같아서 이렇게 변경할께요 :)
return ( | ||
<Swiper | ||
loadMinimal={true} | ||
loop={false} | ||
dot={Dot()} | ||
activeDot={ActiveDot()} | ||
paginationStyle={styles.pagination} | ||
centerContent={true} | ||
> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
엇 저는 나누는게 좋다고 생각해요.
정말 작은 컴포넌트이고, 애플리케이션 전체 규모로 생각해본다면 사진이나 스와이퍼가 사용되는 곳에 재사용될 가능성이 있다고 생각해요.
잠깐 생각해본거지만 게시글 상세 조회에서 사진을 눌러 전체화면으로 볼때도 사용할 수 있을 것 같네요.
style={{ flex: 1 }} | ||
key={image.id} | ||
onPress={() => { | ||
detectDoubleTap(); | ||
}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style 코드는 아래로 빼주시고, onPress도 한줄로 표현하는 것이 좋아보여요.
flex: 1, | ||
width: "100%", | ||
height: "100%", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
크게 상관 없긴한데, flexDirection의 default는 column이기 때문에 flex가 1이면 height 속성이 없어도 동작하지 않나요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
생각없이 화면전체에 맞추려고 100% width, height를 준건데 속성 빼도 잘 동작 하네요.
제거 했습니다 ㅎ
- Dot.tsx, ActiveDot.tsx 제거 - 한줄짜리 람다식 간소화 형식으로 변경 - package.json 에서 불필요한 recompose 타입 모듈 제거 - 메소드 네이밍 변경 - 메소드로 분리 할 필요가 있는 로직 메소드로 분리해서 추상화
- Dot.tsx, ActiveDot.tsx 생성 - 불필요한 css 요소 제거 - 매직넘버 상수화
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
간단하게 두가지 부분만 피드백 남겼습니다 👍
확인해주세요 :)
|
||
export default function FeedSliderImage({ feedArticle }: FeedArticle) { | ||
let lastTap: number | null = null; | ||
const [isFavorite, setIsFavorite] = useRecoilState(isFavoriteState); | ||
const [favorite, setFavorite] = useRecoilState(favoriteState); | ||
|
||
const checkFavorite = () => { | ||
if (isFavorite) { | ||
const determineFavorite = () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pressFavorite은 어떤가요?? 파파고에게 물어보니 press를 추천해주네요 ㅎㅅㅎ
determine은 뭔가 의사결정을 할 때 사용하는 단어처럼 느껴져서 이상한 것 같아요 ㅜㅡㅜ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
행위를 결정하는 영어로 decide,determine 를 사용하는데 많이 어색한가요 ㅠ..
determineFavorite 안에 unmarkFavoirte markFavorite 을 결정하는 메서드를 만들고 싶은디..
front/src/components/Feed/Heart.tsx
Outdated
|
||
const checkFavorite = () => { | ||
if (isFavorite) { | ||
const determineFavorite = () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기도? pressFavorite? 그런데 보다보니 컴포넌트명도 Favorite으로 하는 것은 어떤가요??? 명칭을 통일시키는 편이 사용하기에 좋을 것 같아요 :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
변경하였습니다 :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
몇가지 코멘트 남겼어요.
내일 데일리 이후 논의하는 부분도 반영되면 요청해주세요.
그때 approve 할게요 :)
- determineFavorite -> toggleFavorite
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
굿굿!
* feat: 피드 article 레이아웃 구현 * refactor: 컴포넌트명 컨밴션에 맞게 변경& Tpye 파스칼케이스로 변경 * feat: 피드 출력 컴포넌트 구현 * feat: 피드 게시물 컴포넌트 분리 * feat: 피드 사진 이미지 스크롤 구현 - react-native-swiper 모듈 추가 * refactor: 컴포넌트 분리 - state변경 시 깜빡거리는 문제 해결 * feat: 피드 클릭시 화면 이동 추가 * refactor: 클릭 에니메이션 수정 * refactor: 스티치 리뷰 적용 - Dot.tsx, ActiveDot.tsx 제거 - 한줄짜리 람다식 간소화 형식으로 변경 - package.json 에서 불필요한 recompose 타입 모듈 제거 - 메소드 네이밍 변경 - 메소드로 분리 할 필요가 있는 로직 메소드로 분리해서 추상화 * refactor: 터틀 리뷰 적용 - Dot.tsx, ActiveDot.tsx 생성 - 불필요한 css 요소 제거 - 매직넘버 상수화 * refactor: 네이밍 수정 * refactor: 네이밍 수정 * refactor: 네이밍 수정 - determineFavorite -> toggleFavorite * refactor: 패키지 변경
* feat: 피드 article 레이아웃 구현 * refactor: 컴포넌트명 컨밴션에 맞게 변경& Tpye 파스칼케이스로 변경 * feat: 피드 출력 컴포넌트 구현 * feat: 피드 게시물 컴포넌트 분리 * feat: 피드 사진 이미지 스크롤 구현 - react-native-swiper 모듈 추가 * refactor: 컴포넌트 분리 - state변경 시 깜빡거리는 문제 해결 * feat: 피드 클릭시 화면 이동 추가 * refactor: 클릭 에니메이션 수정 * refactor: 스티치 리뷰 적용 - Dot.tsx, ActiveDot.tsx 제거 - 한줄짜리 람다식 간소화 형식으로 변경 - package.json 에서 불필요한 recompose 타입 모듈 제거 - 메소드 네이밍 변경 - 메소드로 분리 할 필요가 있는 로직 메소드로 분리해서 추상화 * refactor: 터틀 리뷰 적용 - Dot.tsx, ActiveDot.tsx 생성 - 불필요한 css 요소 제거 - 매직넘버 상수화 * refactor: 네이밍 수정 * refactor: 네이밍 수정 * refactor: 네이밍 수정 - determineFavorite -> toggleFavorite * refactor: 패키지 변경
* feature: [게시글 상세 조회] 게시글 내용 컴포넌트 (#60) * feat: 게시글 내용 컴포넌트 추가 * refactor: 컴포넌트가 게시글에 대한 정보를 props로 받아 보여주도록 변경 - DetailSubTitle.tsx의 이름을 CategoryAndTime.tsx으로 변경 - 조회수와 찜 수를 보여주는 컴포넌트 추가 * feature: [게시글 생성] 상,하단 컴포넌트 (#56) * feat: 사진 추가 컴포넌트를 글쓰기 페이지에 적용 - 사진 추가 컴포넌트의 전체적인 디자인 flex 적용. * refactor: 사진 추가 컴포넌트 디자인 수정 - android에서 삭제 버튼 문제 수정(position: absolute 문제). - margin과 같은 css 정리. * feat: 제목, 카테고리, 가격 컴포넌트 적용 - fontSize 수정. - ArticleCreateNavigation의 Stack.Screen 명명 통일. * refactor: ArticlePriceForm 출력 형식 수정 - ₩ 단위가 출력되도록 변경. - 금액 입력 여부에 따라 색상 변경. * feat: ArticleContentsFormScreen 추가 - 동적 스타일 추가. * feat: Tag 컴포넌트 추가 - 디자인 수정. - react-native-keyboard-aware-scroll-view 모듈 추가. * feat: ArticleCreateScreenModal 컴포넌트 추가 - 페이지를 떠날 경우 동작하는 컴포넌트 추가. - 페이지를 떠날 때 내부 내용이 삭제되는 기능 구현. * feat: 전체 기능 구현 마무리 - 모든 항목을 채우지 않았을 경우 완료 버튼 비활성화 기능 구현. - 활성화 시 색상 변경. - 뒤로가기 버튼 구현. * refactor: 취소 버튼으로 나갈 경우 modal 처리 - 내용이 존재하는 상태에서 취소 버튼으로 나갈 경우 modal이 동작하도록 수정. * refactor: 콤마 삽입, 삭제 함수 분리 * refactor: Photo 컴포넌트 변수명 통일 - image와 photo 혼용 부분 처리 * refactor: Navigation Generic 추가 * feature: [게시글 상세 조회] 판매자 정보 컴포넌트 (#61) * feat: AuthorAvatar 컴포넌트 작성 - Avatar, AuthorAvatarProps interface 구현. - memberMockData 생성. * feat: AuthorName 컴포넌트 추가 - 사용자의 이름을 출력. * feat: AuthorScore 컴포넌트 추가 - 사용자의 친절 점수를 출력. - 점수에 따라 색상을 다르게 구현. - 0부터 9까지의 숫자만 들어올 수 있도록 AuthorScore 타입 구현. * feat: AuthorTheCheat 컴포넌트 추가 - 더치트 검색 결과를 표시. - 더치트 결과를 가지는 authorTheCheatState 구현. - 더치트 결과에 따라 색상을 다르게 표시. * refactor: ChatScreen 사용하여 구현 컴포넌트 출력 - ChatScreen 컴포넌트를 임시로 사용하여 작성 컴포넌트 출력. * refactor: ArticleAuthor 컴포넌트에서 데이터를 받아 처리하도록 수정 * feat: front에서 새로고침, 스크롤 경계에 도달 시 데이터를 받아오는 기능 추가 - axios 모듈 추가 * feat: Member.java에 멤버 정보에 대한 필드 추가 - ArticleResponse.java에 authorId 필드 추가 - data.sql에 데이터 추가 * feature: [피드 조회] 게시글 카드 컴포넌트 (#58) * feat: 피드 article 레이아웃 구현 * refactor: 컴포넌트명 컨밴션에 맞게 변경& Tpye 파스칼케이스로 변경 * feat: 피드 출력 컴포넌트 구현 * feat: 피드 게시물 컴포넌트 분리 * feat: 피드 사진 이미지 스크롤 구현 - react-native-swiper 모듈 추가 * refactor: 컴포넌트 분리 - state변경 시 깜빡거리는 문제 해결 * feat: 피드 클릭시 화면 이동 추가 * refactor: 클릭 에니메이션 수정 * refactor: 스티치 리뷰 적용 - Dot.tsx, ActiveDot.tsx 제거 - 한줄짜리 람다식 간소화 형식으로 변경 - package.json 에서 불필요한 recompose 타입 모듈 제거 - 메소드 네이밍 변경 - 메소드로 분리 할 필요가 있는 로직 메소드로 분리해서 추상화 * refactor: 터틀 리뷰 적용 - Dot.tsx, ActiveDot.tsx 생성 - 불필요한 css 요소 제거 - 매직넘버 상수화 * refactor: 네이밍 수정 * refactor: 네이밍 수정 * refactor: 네이밍 수정 - determineFavorite -> toggleFavorite * refactor: 패키지 변경 * feature: [게시글 생성] 게시글 생성 API (#57) * feat : h2 연결 * feat : 인수테스트 작성 * feat : 게시글 생성 컨트롤러 테스트 및 코드 구현 * feat : 게시글 생성 서비스 테스트 및 코드 구현 * refactor : 컨벤션 수정 및 data.sql 삭제 * feat : article에 category 필드 추가 * feat : article에 tag 필드 추가 * feat : article에 Member 필드 추가 * refactor : article 생성 시 article id 반환 * refactor : 필요없는 어노테이션 제거 * refactor : 리뷰 일부 반영 * refactor : 1차 리뷰 반영 * refactor : 인수테스트 수정 * refactor : 2차 리뷰 반영 * refactor : 테스트에서 controller의 uri 상수 사용 * refactor: Member.java에 @Email 검증 추가 * refactor: Member.java, Article.java에 validator 애노테이션 제거 * feature: [게시글 상세 조회] 사진 슬라이더 (#67) * feat: ImageSlider 구현 - 예시용 네비게이션 생성 * feat: ImageSlider, ImagesViewSlider 분리 * refactor: 중복 컴포넌트 prefix 적용 (ArticleDetail), style 개선 * feat: 리뷰 반영 * feat: Jenkinsfile 수정 * feature: [게시글 상세 조회] 하단 바 컴포넌트 (#68) * refactor: 불필요한 타입 제거후 각 컴포넌트로 이동 * feat: ArticleDetail 하단 바 컴포넌트 추가 * refactor: inline style 상수화 * feat: server 에 requset 요청 하는 로직 구현 * refactor: 터틀 리뷰 적용 * refactor: 임시 디랙토리 삭제 * feature: [피드 조회] 페이지네이션 (#69) * feat: axios를 통해 서버에 새로고침, 추가 데이터를 요청하는 기능 추가 - 현재 표시된 마지막 게시글의 id를 가져오는 기능 추가 * feat: 페이지네이션 기능 추가 - data.sql에 데이터 추가 * test: page 요청 관련 테스트 추가 - data.sql에 데이터 변경 - Test Fixture 추가 * chore: Jenkinsfile 추가 * chore: 불필요한 파일 제거 * feature: [회원 관리] 로그인 컴포넌트 (#72) * refactor: CategoryParamList 명명 수정 * feat: 로그인 화면 컴포넌트 작성 - LoginIdForm, LoginPasswordForm, LoginSubmit 컴포넌트 구현. - LoginScreen 구현. - primary color를 관리할 colors.ts 작성. * refactor: primary 컬러 적용 * refactor: 코드 포맷팅 적용 * refactor: h2 database 설정 변경 - local 환경에서 h2를 돌리도록 수정. - test.mv.db 버전 관리 추가. * refactor: member 엔티티 수정 - email, password, score 필드 추가. - getter 변경. * feat: login 인수 테스트 작성 * feat: MemberService의 login 메서드 구현 - Member 객체에 비밀번호를 검증하는 로직 구현. - MemberService에 로그인을 진행하고 이메일과 패스워드를 확인하는 기능 구현. - MemberRepository에 이메일로 회원을 찾는 함수 추가. * feat: MemberControllerTest, MemberAcceptanceTest 구현 * test: test 환경 설정 * feat: 프론트에 api 호출 메서드 적용 * feat: logging 설정 파일 추가 * feat: login 버튼 클릭 시 보이는 LoginVerifyModal 구현 - TabNavigation 타입 추가. - TabNavigation의 값 수정. - LoginVerifyModal 구현. - Login에 관련된 State 추가. * refactor: 불필요한 주석 제거 및 생성자 접근 지정자 수정 * refactor: 부족한 MemberServiceTest와 LoginAdviceControllerTest 작성 * feature: [게시글 상세 조회] 게시글 및 판매자 정보 조회 API (#75) * feat: ArticleController test 추가 - showAritcle() mockMVC 이용해서 구현 * feat:ArticleViewService 만드는중 * feat:ArticleViewServiceTest 구현 * feat: ArticleAcceptence test 구현 - 게시글 상세 조회 * refactor: Dto 생성자 private으로 변경 * feature: [전체] S3 이미지 연동 (#73) * feat: Article post 요청 연결 * refactor: ArticleCreateRequest의 tags를 String -> List<Tag>로 변경, 테스트 대응 * fix: data.sql tag의 article id 변경 * feat: aws 업로드 기능 구현 * refactor: BASE_URL 변경, secret키 추가, h2 mem으로 변경 * feat: 게시글 상세 조회 컴포넌트 조립 (#76) Co-authored-by: Yoonseo Nam <turtlenam0928@gmail.com> * feature: [피드 조회] 피드 조회 API 변경 (#74) * style: tagBox와 tagBoxex의 이름을 각각 tag와 tags로 변경 * feat: 피드 조회에 대한 응답을 ArticleResponse.java에서 FeedResponse.java로 변경 * refactor: Feed, Article, Member 타입 추가 및 warning 제거 - article_id 변수 명을 articleId로 변 경 - ArticleNavigation.tsx에서 ArticleDetailScreen.tsx의 이름을 FeedDetail에서 ArticleDetail로 변경 - photo의 타입을 ImageURISource로 변경 - Tag타입의 tag필드를 name으로 변경 * refactor: image 타입 변경 * fix: ArticleServiceTest 변경 * fix: ArticleDetailFavorite catch 제거 * fix: 백틱 삭제 * fix: 이미지 mock 교체 * feature : [게시글 생성] API 연동 및 이미지 AWS S3 업로드 (#83) * refactor: front api 분리, ArticleCreateCategorySelect 생성, loginState memberId 추가 - memberId mock 사용. * refactor: front api 분리 * refactor: articleDetail api 분리 * refactor: image -> photo 변경 * refactor: [리팩토링] 패키지 분리 (#85) * feat: 수정 페이지 이동 기능 - 게시글 상세에서 수정 버튼을 눌러 수정 페이지로 이동하는 기능 추가 * feat: 수정 페이지로 게시글 데이터 전달 - 게시글 상세 조회 api에 member id 추가 * feat: 수정 페이지에서 기존에 작성한 글 내용을 보여주는 기능 - route로 데이터를 전달하는 방식을 recoil로 변경 - FeedDetail을 사용하던 부분을 지우고 Articledetail로 통합 * style: ArticleCreate 명칭을 ArticleForm으로 변경 * refactor: ArticleDetailScreen.tsx의 필요 없는 값 제거 - ArticleNavigation에 ArticleForm 관련 스크린 추가 * refactor: 글 생성 기능 동작하도록 변경 * refactor: Photo 컴포넌트가 사진들을 PhotoInfo[] 타입이 아닌 string[] 타입으로 갖고 있도록 변경 * refactor: 게시글 수정 api 메소드 변경 * feat: 게시글 수정 요청을 받아서 데이터베이스에 반영하는 기능 구현 - ArticleCreateRequest를 ArticleRequest로 변경 * refactor: 리뷰 반영 - API URI를 모두 템플릿 리터럴로 변경 - PUT의 Response Status Code를 204로 변경 Co-authored-by: Junyoung Lee <ljy3510@gmail.com> Co-authored-by: joseph415 <jeseok95@gmail.com> Co-authored-by: 또링 <jnsorn@gmail.com> Co-authored-by: Gyeong-Jun Kim <lastpuzly@gmail.com>
* MyPageNavigation 구현 * feat: SalesDetailsComponent로 분리& 컴포넌트 에니메이션 추가 * refactor: 컴포넌트 분리 * fix: nevigation 이름 변경 - getTabVisibility 에서 라우트 처음 시작할때 이름이 여서 시작할때 tab이 사라지는 버그 수정 * refactor: Article entity refactoring - Photos VO 구현 * refactor: MemberResponse & ArticleResponse refactoring * refactor: ArticleCreateRequest refactoring * refactor: 깨지는 test 수정 * refactor: test data.sql 삭제 * feat:판매중일 경우 카드 컴포넌트 프론트 구현 * feat: 판매내역 컨트롤러 api 구현 - showSalesDetailsArticle 구현 - controller test 구현 - SalesDetailsResponse 구현 * feat: Member 의 article 을 tradeState 에 따라 다르게 가져오는 테스트 작성 * feat: Member 의 article 을 tradeState 에 따라 다르게 가져오는 인수테스트 작성 * refactor: back 과 front api 연동시 깨지는 부분 수정 & 네이밍 refactoring * refactor: front에서 순환참조 제거 & back과 front TradeState update 추가 * feat: test 작성 * refactor: [게시글 상세 조회] API 연동 (#89) * refactor: Article entity refactoring - Photos VO 구현 * refactor: MemberResponse & ArticleResponse refactoring * refactor: ArticleCreateRequest refactoring * refactor: 깨지는 test 수정 * refactor: test data.sql 수정 * refactor: plz * refactor: sorry * refactor: data.sql 수정 * refactor: 사이즈 확인 부분 수정 Co-authored-by: lxxjn0 <ljy3510@gmail.com> * refactoring: 불필요한 파일 제거 * chose: add test.mv.db * feature : [구매자 선택] 스크린 컴포넌트 (#88) * fix: ArticleServiceTest 변경 * fix: ArticleDetailFavorite catch 제거 * feat: 피드 최대 로딩 횟수 설정 * feat: SelectBuyerScreen, SelectBuyerArticleInfo, BuyerCard 생성, chatti… … * feat: 채팅 인수테스트 작성 * feat: 채팅 컨트롤러 생성, 생성 구현 * refactor: chatting -> chatRoom으로 변경 * feat: ChatRoomService 구현, ChatRoom 도메인 생성 … * feat: ChatRoomController.showAllChatRoomOfArticle() 구현 … * feat: ChatRoomService.showChatRoomsOf() 구현 … * refactor: data.sql member 아바타, 닉네임 추가 * feat: BuyerCard 구현, server 연동 * feat: Navigation Screeb title & headerLeft 추가 * docs: author 추가 * refactor: ChatRoom 과 buyer, article의 연간관계 ManyToOne으로 변경 * refactor: memberIdState의 default 값을 51로 변경 * refactor: data.sql에 chat_room 추가 * refactor: SALING -> ON_SALE 변경, AcceptanceTest 공백 라인 추가 * refactor: 게시글 등록 주석 추가 * refactor: route 제거 * style: prettier 적용 * refactor: ObjectMapper Autowired 사용, getArticleDetailOf -> findArticl… … * style: Cleanup * chore: pull remote develop, 컨플릭 해결 * refactoring: TradeType, location 제거 (#100) * feat: front TradeType location 제거 * refactor: tradeType ,location 제거 * feature: [DB] Flyway, MySQL, Docker 적용 (#98) * chore: test 환경 정리 * feat: flyway 추가, test 환경 설정 정리 * chore: docker 추가, local 환경 mysql 사용, flyway 적용 * chore: MyISAM -> InnoDB로 변경, local, develop 분리, jdk alpine 사용 * chore: pull origin develop * refactoring: 또링 리뷰 적용 * feature: [게시글 수정] 게시글 수정 컴포넌트 (#94) * feature: [게시글 상세 조회] 게시글 내용 컴포넌트 (#60) * feat: 게시글 내용 컴포넌트 추가 * refactor: 컴포넌트가 게시글에 대한 정보를 props로 받아 보여주도록 변경 - DetailSubTitle.tsx의 이름을 CategoryAndTime.tsx으로 변경 - 조회수와 찜 수를 보여주는 컴포넌트 추가 * feature: [게시글 생성] 상,하단 컴포넌트 (#56) * feat: 사진 추가 컴포넌트를 글쓰기 페이지에 적용 - 사진 추가 컴포넌트의 전체적인 디자인 flex 적용. * refactor: 사진 추가 컴포넌트 디자인 수정 - android에서 삭제 버튼 문제 수정(position: absolute 문제). - margin과 같은 css 정리. * feat: 제목, 카테고리, 가격 컴포넌트 적용 - fontSize 수정. - ArticleCreateNavigation의 Stack.Screen 명명 통일. * refactor: ArticlePriceForm 출력 형식 수정 - ₩ 단위가 출력되도록 변경. - 금액 입력 여부에 따라 색상 변경. * feat: ArticleContentsFormScreen 추가 - 동적 스타일 추가. * feat: Tag 컴포넌트 추가 - 디자인 수정. - react-native-keyboard-aware-scroll-view 모듈 추가. * feat: ArticleCreateScreenModal 컴포넌트 추가 - 페이지를 떠날 경우 동작하는 컴포넌트 추가. - 페이지를 떠날 때 내부 내용이 삭제되는 기능 구현. * feat: 전체 기능 구현 마무리 - 모든 항목을 채우지 않았을 경우 완료 버튼 비활성화 기능 구현. - 활성화 시 색상 변경. - 뒤로가기 버튼 구현. * refactor: 취소 버튼으로 나갈 경우 modal 처리 - 내용이 존재하는 상태에서 취소 버튼으로 나갈 경우 modal이 동작하도록 수정. * refactor: 콤마 삽입, 삭제 함수 분리 * refactor: Photo 컴포넌트 변수명 통일 - image와 photo 혼용 부분 처리 * refactor: Navigation Generic 추가 * feature: [게시글 상세 조회] 판매자 정보 컴포넌트 (#61) * feat: AuthorAvatar 컴포넌트 작성 - Avatar, AuthorAvatarProps interface 구현. - memberMockData 생성. * feat: AuthorName 컴포넌트 추가 - 사용자의 이름을 출력. * feat: AuthorScore 컴포넌트 추가 - 사용자의 친절 점수를 출력. - 점수에 따라 색상을 다르게 구현. - 0부터 9까지의 숫자만 들어올 수 있도록 AuthorScore 타입 구현. * feat: AuthorTheCheat 컴포넌트 추가 - 더치트 검색 결과를 표시. - 더치트 결과를 가지는 authorTheCheatState 구현. - 더치트 결과에 따라 색상을 다르게 표시. * refactor: ChatScreen 사용하여 구현 컴포넌트 출력 - ChatScreen 컴포넌트를 임시로 사용하여 작성 컴포넌트 출력. * refactor: ArticleAuthor 컴포넌트에서 데이터를 받아 처리하도록 수정 * feat: front에서 새로고침, 스크롤 경계에 도달 시 데이터를 받아오는 기능 추가 - axios 모듈 추가 * feat: Member.java에 멤버 정보에 대한 필드 추가 - ArticleResponse.java에 authorId 필드 추가 - data.sql에 데이터 추가 * feature: [피드 조회] 게시글 카드 컴포넌트 (#58) * feat: 피드 article 레이아웃 구현 * refactor: 컴포넌트명 컨밴션에 맞게 변경& Tpye 파스칼케이스로 변경 * feat: 피드 출력 컴포넌트 구현 * feat: 피드 게시물 컴포넌트 분리 * feat: 피드 사진 이미지 스크롤 구현 - react-native-swiper 모듈 추가 * refactor: 컴포넌트 분리 - state변경 시 깜빡거리는 문제 해결 * feat: 피드 클릭시 화면 이동 추가 * refactor: 클릭 에니메이션 수정 * refactor: 스티치 리뷰 적용 - Dot.tsx, ActiveDot.tsx 제거 - 한줄짜리 람다식 간소화 형식으로 변경 - package.json 에서 불필요한 recompose 타입 모듈 제거 - 메소드 네이밍 변경 - 메소드로 분리 할 필요가 있는 로직 메소드로 분리해서 추상화 * refactor: 터틀 리뷰 적용 - Dot.tsx, ActiveDot.tsx 생성 - 불필요한 css 요소 제거 - 매직넘버 상수화 * refactor: 네이밍 수정 * refactor: 네이밍 수정 * refactor: 네이밍 수정 - determineFavorite -> toggleFavorite * refactor: 패키지 변경 * feature: [게시글 생성] 게시글 생성 API (#57) * feat : h2 연결 * feat : 인수테스트 작성 * feat : 게시글 생성 컨트롤러 테스트 및 코드 구현 * feat : 게시글 생성 서비스 테스트 및 코드 구현 * refactor : 컨벤션 수정 및 data.sql 삭제 * feat : article에 category 필드 추가 * feat : article에 tag 필드 추가 * feat : article에 Member 필드 추가 * refactor : article 생성 시 article id 반환 * refactor : 필요없는 어노테이션 제거 * refactor : 리뷰 일부 반영 * refactor : 1차 리뷰 반영 * refactor : 인수테스트 수정 * refactor : 2차 리뷰 반영 * refactor : 테스트에서 controller의 uri 상수 사용 * refactor: Member.java에 @Email 검증 추가 * refactor: Member.java, Article.java에 validator 애노테이션 제거 * feature: [게시글 상세 조회] 사진 슬라이더 (#67) * feat: ImageSlider 구현 - 예시용 네비게이션 생성 * feat: ImageSlider, ImagesViewSlider 분리 * refactor: 중복 컴포넌트 prefix 적용 (ArticleDetail), style 개선 * feat: 리뷰 반영 * feat: Jenkinsfile 수정 * feature: [게시글 상세 조회] 하단 바 컴포넌트 (#68) * refactor: 불필요한 타입 제거후 각 컴포넌트로 이동 * feat: ArticleDetail 하단 바 컴포넌트 추가 * refactor: inline style 상수화 * feat: server 에 requset 요청 하는 로직 구현 * refactor: 터틀 리뷰 적용 * refactor: 임시 디랙토리 삭제 * feature: [피드 조회] 페이지네이션 (#69) * feat: axios를 통해 서버에 새로고침, 추가 데이터를 요청하는 기능 추가 - 현재 표시된 마지막 게시글의 id를 가져오는 기능 추가 * feat: 페이지네이션 기능 추가 - data.sql에 데이터 추가 * test: page 요청 관련 테스트 추가 - data.sql에 데이터 변경 - Test Fixture 추가 * chore: Jenkinsfile 추가 * chore: 불필요한 파일 제거 * feature: [회원 관리] 로그인 컴포넌트 (#72) * refactor: CategoryParamList 명명 수정 * feat: 로그인 화면 컴포넌트 작성 - LoginIdForm, LoginPasswordForm, LoginSubmit 컴포넌트 구현. - LoginScreen 구현. - primary color를 관리할 colors.ts 작성. * refactor: primary 컬러 적용 * refactor: 코드 포맷팅 적용 * refactor: h2 database 설정 변경 - local 환경에서 h2를 돌리도록 수정. - test.mv.db 버전 관리 추가. * refactor: member 엔티티 수정 - email, password, score 필드 추가. - getter 변경. * feat: login 인수 테스트 작성 * feat: MemberService의 login 메서드 구현 - Member 객체에 비밀번호를 검증하는 로직 구현. - MemberService에 로그인을 진행하고 이메일과 패스워드를 확인하는 기능 구현. - MemberRepository에 이메일로 회원을 찾는 함수 추가. * feat: MemberControllerTest, MemberAcceptanceTest 구현 * test: test 환경 설정 * feat: 프론트에 api 호출 메서드 적용 * feat: logging 설정 파일 추가 * feat: login 버튼 클릭 시 보이는 LoginVerifyModal 구현 - TabNavigation 타입 추가. - TabNavigation의 값 수정. - LoginVerifyModal 구현. - Login에 관련된 State 추가. * refactor: 불필요한 주석 제거 및 생성자 접근 지정자 수정 * refactor: 부족한 MemberServiceTest와 LoginAdviceControllerTest 작성 * feature: [게시글 상세 조회] 게시글 및 판매자 정보 조회 API (#75) * feat: ArticleController test 추가 - showAritcle() mockMVC 이용해서 구현 * feat:ArticleViewService 만드는중 * feat:ArticleViewServiceTest 구현 * feat: ArticleAcceptence test 구현 - 게시글 상세 조회 * refactor: Dto 생성자 private으로 변경 * feature: [전체] S3 이미지 연동 (#73) * feat: Article post 요청 연결 * refactor: ArticleCreateRequest의 tags를 String -> List<Tag>로 변경, 테스트 대응 * fix: data.sql tag의 article id 변경 * feat: aws 업로드 기능 구현 * refactor: BASE_URL 변경, secret키 추가, h2 mem으로 변경 * feat: 게시글 상세 조회 컴포넌트 조립 (#76) Co-authored-by: Yoonseo Nam <turtlenam0928@gmail.com> * feature: [피드 조회] 피드 조회 API 변경 (#74) * style: tagBox와 tagBoxex의 이름을 각각 tag와 tags로 변경 * feat: 피드 조회에 대한 응답을 ArticleResponse.java에서 FeedResponse.java로 변경 * refactor: Feed, Article, Member 타입 추가 및 warning 제거 - article_id 변수 명을 articleId로 변 경 - ArticleNavigation.tsx에서 ArticleDetailScreen.tsx의 이름을 FeedDetail에서 ArticleDetail로 변경 - photo의 타입을 ImageURISource로 변경 - Tag타입의 tag필드를 name으로 변경 * refactor: image 타입 변경 * fix: ArticleServiceTest 변경 * fix: ArticleDetailFavorite catch 제거 * fix: 백틱 삭제 * fix: 이미지 mock 교체 * feature : [게시글 생성] API 연동 및 이미지 AWS S3 업로드 (#83) * refactor: front api 분리, ArticleCreateCategorySelect 생성, loginState memberId 추가 - memberId mock 사용. * refactor: front api 분리 * refactor: articleDetail api 분리 * refactor: image -> photo 변경 * refactor: [리팩토링] 패키지 분리 (#85) * feat: 수정 페이지 이동 기능 - 게시글 상세에서 수정 버튼을 눌러 수정 페이지로 이동하는 기능 추가 * feat: 수정 페이지로 게시글 데이터 전달 - 게시글 상세 조회 api에 member id 추가 * feat: 수정 페이지에서 기존에 작성한 글 내용을 보여주는 기능 - route로 데이터를 전달하는 방식을 recoil로 변경 - FeedDetail을 사용하던 부분을 지우고 Articledetail로 통합 * style: ArticleCreate 명칭을 ArticleForm으로 변경 * refactor: ArticleDetailScreen.tsx의 필요 없는 값 제거 - ArticleNavigation에 ArticleForm 관련 스크린 추가 * refactor: 글 생성 기능 동작하도록 변경 * refactor: Photo 컴포넌트가 사진들을 PhotoInfo[] 타입이 아닌 string[] 타입으로 갖고 있도록 변경 * refactor: 게시글 수정 api 메소드 변경 * feat: 게시글 수정 요청을 받아서 데이터베이스에 반영하는 기능 구현 - ArticleCreateRequest를 ArticleRequest로 변경 * refactor: 리뷰 반영 - API URI를 모두 템플릿 리터럴로 변경 - PUT의 Response Status Code를 204로 변경 Co-authored-by: Junyoung Lee <ljy3510@gmail.com> Co-authored-by: joseph415 <jeseok95@gmail.com> Co-authored-by: 또링 <jnsorn@gmail.com> Co-authored-by: Gyeong-Jun Kim <lastpuzly@gmail.com> * feature: [Infra] DB Dockerfile 생성 (#106) * feat: Dockerfile 분리, docker-compose 수정 * feature: [판매 내역] 스크린 컴포넌트 (#96) * feat: Profile 탭에서 StackNavigation 추가 * feat: 판매중, 판매완료 탭 기능 구현 - react-native-tab-view 모듈 추가 * feat: 판매 상태에 따라 게시글을 가져오는 기능 구현 - data.sql에 판매 상태 컬럼 추가 * feat: 판매 상태를 통해 게시글을 가져오는 기능 추가 - SalesDetailsScreen을 SalesHistoryScreen으로 변경 * feat: 탭을 전환할 때 마다 게시글을 받아오는 기능 구현 - articleSalesHistoryState 생성 * feat: 탭을 전환할 때 마다 게시글을 받아오는 기능 구현 - articleSalesHistoryState 생성 * test: showArticlesByTradeState 관련 테스트 추가 * refactor: showArticlesByTradeState를 showByTradeState로 변경 * test: 테스트 주석 처리 * refactoring: 스티치 리뷰 적용 * feature : [게시글 상세 조회] 상단 바 컴포넌트 (#91) * feat : 게시글 상세조회 상단 바 팝업 구현 - 수정 클릭 시 새 페이지로 이동 - 삭제 클릭 시 API 호출 및 모달 창 띄우기 * feat : 게시글 삭제 컨트롤러 테스트 작성 * refactor : 게시글 삭제 시 ArticleDetailScreen 띄우기 * refactor : 1차 리뷰 반영 - truncate 추가 - state 분리 * chore : develop과 병합 * docs: [전체] API 문서 자동화 (#103) * chore: spring-restdocs 모듈 추가 * docs: ArticleControllerTest의 RestDocumentation 추가 * docs: ChatRoomControllerTest의 RestDocumentation 추가 * refactor: DTO의 태그 타입을 List<Tag>에서 List<String>으로 변경 * refactor: front에서 Tag[] 타입을 string[]타입으로 변경 * test: 실패하는 테스트 변경 및 preprocessRequest, preprocessResponse 추가 * docs: LoginAdviceControllerTest와 MemberControllerTest의 RestDocumentation 추가 * docs: RestDocumentation 추가 * fix: 빌드 실패 수정 (#111) * feat: application.yml 분리 (#112) * feat: application.yml 분리 * chore: update submodule * feature: application.yml 분리 (#114) * feature: application.yml 분리 * feature: sql문 수정 (#117) * feat: sql문 수정 * sorry * MyPageNavigation 구현 * feat: SalesDetailsComponent로 분리& 컴포넌트 에니메이션 추가 * refactor: 컴포넌트 분리 * fix: nevigation 이름 변경 - getTabVisibility 에서 라우트 처음 시작할때 이름이 여서 시작할때 tab이 사라지는 버그 수정 * feature: [찜] 생성, 삭제 API (#104) test: Favorite 인수 테스트 작성 feat: FavoriteController.create() 구현 feat: FavoriteService.create() 구현 test: 찜 삭제 인수 테스트 작성 feat: FavoriteController.cancel() 구현 feat: FavoriteService.cancel() 구현 refactor: FeedResponse 변경, isFavorite 추가 refactor: showArticlePage() ArticleViewService로 이동, Member 추가 feat: ArticleFavoriteCount 생성, 서버 피드 조회 기능 구현 feat: 프론트 피드 조회 기능 구현 chore: Clean Up chore: config 상위 패키지 common으로 변경 chore: rebase to origin develop chore: BaseTimeEntity 패키지 이동 refactor: cancel -> remove 변경 refactor: ArticleFavoriteCount 패키지 분리 refactor: formatting refactor: Autowired 사용 refactor: 메소드 순서 변경 refactor: ArticleFavoriteCountService 테스트 작성 chore: gradlew 변경 취소 chore: pull origin develop refactor: ArticleFavoriteCountFactory 생성 refactor: favoriteState 자료형 boolean 으로 변경, MemberResponse -> AuthorRe… … refactor: 실패하는 문서화 테스트 Disabled * fix: [Infra] DB 한글 깨짐 문제 (#121) * fix: sql문 수정 * refactor: mysql -> mariadb 변경 * refactor: Article entity refactoring - Photos VO 구현 * feature: [구매 내역] 스크린 컴포넌트 (#93) * feat: PurchaseScreen 컴포넌트 구현 * feat: ArticleCard 컴포넌트 추가 (by Subway) * feat: PurchaseArticle 컴포넌트 구현 - 작성한 후기로 넘어가는 버튼 구현. - 게시글 정보로 이동하는 기능 구현. * refactor: 피드백 내용 반영 * refactor: 머지된 코드 수정 및 확인 * refactor: member 관계 필드 수정 * refactor: MemberResponse & ArticleResponse refactoring * refactor: ArticleCreateRequest refactoring * refactor: 깨지는 test 수정 * refactor: test data.sql 삭제 * refactor: [리팩토링] Trade 엔티티 ID 생성 전략 및 buyer, seller 필드 수정 (#125) * feat:판매중일 경우 카드 컴포넌트 프론트 구현 * feat: 판매내역 컨트롤러 api 구현 - showSalesDetailsArticle 구현 - controller test 구현 - SalesDetailsResponse 구현 * feature: [Infra] Trade migration sql 추가 (#127) * feat: Member 의 article 을 tradeState 에 따라 다르게 가져오는 테스트 작성 * feat: Member 의 article 을 tradeState 에 따라 다르게 가져오는 인수테스트 작성 * refactor: back 과 front api 연동시 깨지는 부분 수정 & 네이밍 refactoring * refactor: front에서 순환참조 제거 & back과 front TradeState update 추가 * feat: test 작성 * refactoring: 불필요한 파일 제거 * chose: add test.mv.db * refactoring: 또링 리뷰 적용 * refactoring: 스티치 리뷰 적용 * sorry * refactor: 깨지는 테스트 수정 * MyPageNavigation 구현 * feat: SalesDetailsComponent로 분리& 컴포넌트 에니메이션 추가 * refactor: 컴포넌트 분리 * fix: nevigation 이름 변경 - getTabVisibility 에서 라우트 처음 시작할때 이름이 여서 시작할때 tab이 사라지는 버그 수정 * refactor: Article entity refactoring - Photos VO 구현 * refactor: MemberResponse & ArticleResponse refactoring * refactor: test data.sql 삭제 * feat:판매중일 경우 카드 컴포넌트 프론트 구현 * feat: 판매내역 컨트롤러 api 구현 - showSalesDetailsArticle 구현 - controller test 구현 - SalesDetailsResponse 구현 * feat: Member 의 article 을 tradeState 에 따라 다르게 가져오는 테스트 작성 * feat: Member 의 article 을 tradeState 에 따라 다르게 가져오는 인수테스트 작성 * refactor: back 과 front api 연동시 깨지는 부분 수정 & 네이밍 refactoring * refactor: front에서 순환참조 제거 & back과 front TradeState update 추가 * feat: test 작성 * refactoring: 불필요한 파일 제거 * chose: add test.mv.db * refactoring: 또링 리뷰 적용 * refactoring: 스티치 리뷰 적용 * sorry * refactor: 깨지는 테스트 수정 * MyPageNavigation 구현 * feat: SalesDetailsComponent로 분리& 컴포넌트 에니메이션 추가 * refactor: 컴포넌트 분리 * fix: nevigation 이름 변경 - getTabVisibility 에서 라우트 처음 시작할때 이름이 여서 시작할때 tab이 사라지는 버그 수정 * refactor: MemberResponse & ArticleResponse refactoring * refactor: ArticleCreateRequest refactoring * refactor: 깨지는 test 수정 * feat:판매중일 경우 카드 컴포넌트 프론트 구현 * feat: 판매내역 컨트롤러 api 구현 - showSalesDetailsArticle 구현 - controller test 구현 - SalesDetailsResponse 구현 * feat: Member 의 article 을 tradeState 에 따라 다르게 가져오는 인수테스트 작성 * refactor: back 과 front api 연동시 깨지는 부분 수정 & 네이밍 refactoring * refactor: front에서 순환참조 제거 & back과 front TradeState update 추가 * feat: test 작성 * refactoring: 불필요한 파일 제거 * refactoring: 또링 리뷰 적용 * refactoring: 스티치 리뷰 적용 * sorry * 꺠지는 부분 수정 Co-authored-by: lxxjn0 <ljy3510@gmail.com> Co-authored-by: Gyeong-Jun Kim <lastpuzly@gmail.com> Co-authored-by: 터틀 <turtlenam0928@gmail.com> Co-authored-by: 또링 <jnsorn@gmail.com>
* feat: 피드 article 레이아웃 구현 * refactor: 컴포넌트명 컨밴션에 맞게 변경& Tpye 파스칼케이스로 변경 * feat: 피드 출력 컴포넌트 구현 * feat: 피드 게시물 컴포넌트 분리 * feat: 피드 사진 이미지 스크롤 구현 - react-native-swiper 모듈 추가 * refactor: 컴포넌트 분리 - state변경 시 깜빡거리는 문제 해결 * feat: 피드 클릭시 화면 이동 추가 * refactor: 클릭 에니메이션 수정 * refactor: 스티치 리뷰 적용 - Dot.tsx, ActiveDot.tsx 제거 - 한줄짜리 람다식 간소화 형식으로 변경 - package.json 에서 불필요한 recompose 타입 모듈 제거 - 메소드 네이밍 변경 - 메소드로 분리 할 필요가 있는 로직 메소드로 분리해서 추상화 * refactor: 터틀 리뷰 적용 - Dot.tsx, ActiveDot.tsx 생성 - 불필요한 css 요소 제거 - 매직넘버 상수화 * refactor: 네이밍 수정 * refactor: 네이밍 수정 * refactor: 네이밍 수정 - determineFavorite -> toggleFavorite * refactor: 패키지 변경
* feature: [게시글 상세 조회] 게시글 내용 컴포넌트 (#60) * feat: 게시글 내용 컴포넌트 추가 * refactor: 컴포넌트가 게시글에 대한 정보를 props로 받아 보여주도록 변경 - DetailSubTitle.tsx의 이름을 CategoryAndTime.tsx으로 변경 - 조회수와 찜 수를 보여주는 컴포넌트 추가 * refactor: Member.java에 @Email 검증 추가 * feature: [게시글 생성] 상,하단 컴포넌트 (#56) * feat: 사진 추가 컴포넌트를 글쓰기 페이지에 적용 - 사진 추가 컴포넌트의 전체적인 디자인 flex 적용. * refactor: 사진 추가 컴포넌트 디자인 수정 - android에서 삭제 버튼 문제 수정(position: absolute 문제). - margin과 같은 css 정리. * feat: 제목, 카테고리, 가격 컴포넌트 적용 - fontSize 수정. - ArticleCreateNavigation의 Stack.Screen 명명 통일. * refactor: ArticlePriceForm 출력 형식 수정 - ₩ 단위가 출력되도록 변경. - 금액 입력 여부에 따라 색상 변경. * feat: ArticleContentsFormScreen 추가 - 동적 스타일 추가. * feat: Tag 컴포넌트 추가 - 디자인 수정. - react-native-keyboard-aware-scroll-view 모듈 추가. * feat: ArticleCreateScreenModal 컴포넌트 추가 - 페이지를 떠날 경우 동작하는 컴포넌트 추가. - 페이지를 떠날 때 내부 내용이 삭제되는 기능 구현. * feat: 전체 기능 구현 마무리 - 모든 항목을 채우지 않았을 경우 완료 버튼 비활성화 기능 구현. - 활성화 시 색상 변경. - 뒤로가기 버튼 구현. * refactor: 취소 버튼으로 나갈 경우 modal 처리 - 내용이 존재하는 상태에서 취소 버튼으로 나갈 경우 modal이 동작하도록 수정. * refactor: 콤마 삽입, 삭제 함수 분리 * refactor: Photo 컴포넌트 변수명 통일 - image와 photo 혼용 부분 처리 * refactor: Navigation Generic 추가 * feature: [게시글 상세 조회] 판매자 정보 컴포넌트 (#61) * feat: AuthorAvatar 컴포넌트 작성 - Avatar, AuthorAvatarProps interface 구현. - memberMockData 생성. * feat: AuthorName 컴포넌트 추가 - 사용자의 이름을 출력. * feat: AuthorScore 컴포넌트 추가 - 사용자의 친절 점수를 출력. - 점수에 따라 색상을 다르게 구현. - 0부터 9까지의 숫자만 들어올 수 있도록 AuthorScore 타입 구현. * feat: AuthorTheCheat 컴포넌트 추가 - 더치트 검색 결과를 표시. - 더치트 결과를 가지는 authorTheCheatState 구현. - 더치트 결과에 따라 색상을 다르게 표시. * refactor: ChatScreen 사용하여 구현 컴포넌트 출력 - ChatScreen 컴포넌트를 임시로 사용하여 작성 컴포넌트 출력. * refactor: ArticleAuthor 컴포넌트에서 데이터를 받아 처리하도록 수정 * feature: [피드 조회] 게시글 카드 컴포넌트 (#58) * feat: 피드 article 레이아웃 구현 * refactor: 컴포넌트명 컨밴션에 맞게 변경& Tpye 파스칼케이스로 변경 * feat: 피드 출력 컴포넌트 구현 * feat: 피드 게시물 컴포넌트 분리 * feat: 피드 사진 이미지 스크롤 구현 - react-native-swiper 모듈 추가 * refactor: 컴포넌트 분리 - state변경 시 깜빡거리는 문제 해결 * feat: 피드 클릭시 화면 이동 추가 * refactor: 클릭 에니메이션 수정 * refactor: 스티치 리뷰 적용 - Dot.tsx, ActiveDot.tsx 제거 - 한줄짜리 람다식 간소화 형식으로 변경 - package.json 에서 불필요한 recompose 타입 모듈 제거 - 메소드 네이밍 변경 - 메소드로 분리 할 필요가 있는 로직 메소드로 분리해서 추상화 * refactor: 터틀 리뷰 적용 - Dot.tsx, ActiveDot.tsx 생성 - 불필요한 css 요소 제거 - 매직넘버 상수화 * refactor: 네이밍 수정 * refactor: 네이밍 수정 * refactor: 네이밍 수정 - determineFavorite -> toggleFavorite * refactor: 패키지 변경 * feature: [게시글 생성] 게시글 생성 API (#57) * feat : h2 연결 * feat : 인수테스트 작성 * feat : 게시글 생성 컨트롤러 테스트 및 코드 구현 * feat : 게시글 생성 서비스 테스트 및 코드 구현 * refactor : 컨벤션 수정 및 data.sql 삭제 * feat : article에 category 필드 추가 * feat : article에 tag 필드 추가 * feat : article에 Member 필드 추가 * refactor : article 생성 시 article id 반환 * refactor : 필요없는 어노테이션 제거 * refactor : 리뷰 일부 반영 * refactor : 1차 리뷰 반영 * refactor : 인수테스트 수정 * refactor : 2차 리뷰 반영 * refactor : 테스트에서 controller의 uri 상수 사용 * refactor: Member.java, Article.java에 validator 애노테이션 제거 * feature: [게시글 상세 조회] 사진 슬라이더 (#67) * feat: ImageSlider 구현 - 예시용 네비게이션 생성 * feat: ImageSlider, ImagesViewSlider 분리 * refactor: 중복 컴포넌트 prefix 적용 (ArticleDetail), style 개선 * feat: 리뷰 반영 * feat: Jenkinsfile 수정 * feature: [게시글 상세 조회] 하단 바 컴포넌트 (#68) * refactor: 불필요한 타입 제거후 각 컴포넌트로 이동 * feat: ArticleDetail 하단 바 컴포넌트 추가 * refactor: inline style 상수화 * feat: server 에 requset 요청 하는 로직 구현 * refactor: 터틀 리뷰 적용 * refactor: 임시 디랙토리 삭제 * feature: [피드 조회] 페이지네이션 (#69) * feat: axios를 통해 서버에 새로고침, 추가 데이터를 요청하는 기능 추가 - 현재 표시된 마지막 게시글의 id를 가져오는 기능 추가 * feat: 페이지네이션 기능 추가 - data.sql에 데이터 추가 * test: page 요청 관련 테스트 추가 - data.sql에 데이터 변경 - Test Fixture 추가 * chore: Jenkinsfile 추가 * chore: 불필요한 파일 제거 * feature: [회원 관리] 로그인 컴포넌트 (#72) * refactor: CategoryParamList 명명 수정 * feat: 로그인 화면 컴포넌트 작성 - LoginIdForm, LoginPasswordForm, LoginSubmit 컴포넌트 구현. - LoginScreen 구현. - primary color를 관리할 colors.ts 작성. * refactor: primary 컬러 적용 * refactor: 코드 포맷팅 적용 * refactor: h2 database 설정 변경 - local 환경에서 h2를 돌리도록 수정. - test.mv.db 버전 관리 추가. * refactor: member 엔티티 수정 - email, password, score 필드 추가. - getter 변경. * feat: login 인수 테스트 작성 * feat: MemberService의 login 메서드 구현 - Member 객체에 비밀번호를 검증하는 로직 구현. - MemberService에 로그인을 진행하고 이메일과 패스워드를 확인하는 기능 구현. - MemberRepository에 이메일로 회원을 찾는 함수 추가. * feat: MemberControllerTest, MemberAcceptanceTest 구현 * test: test 환경 설정 * feat: 프론트에 api 호출 메서드 적용 * feat: logging 설정 파일 추가 * feat: login 버튼 클릭 시 보이는 LoginVerifyModal 구현 - TabNavigation 타입 추가. - TabNavigation의 값 수정. - LoginVerifyModal 구현. - Login에 관련된 State 추가. * refactor: 불필요한 주석 제거 및 생성자 접근 지정자 수정 * refactor: 부족한 MemberServiceTest와 LoginAdviceControllerTest 작성 * feature: [전체] S3 이미지 연동 (#73) * feat: Article post 요청 연결 * refactor: ArticleCreateRequest의 tags를 String -> List<Tag>로 변경, 테스트 대응 * fix: data.sql tag의 article id 변경 * feat: aws 업로드 기능 구현 * refactor: BASE_URL 변경, secret키 추가, h2 mem으로 변경 * feature: [피드 조회] 피드 조회 API 변경 (#74) * style: tagBox와 tagBoxex의 이름을 각각 tag와 tags로 변경 * feat: 피드 조회에 대한 응답을 ArticleResponse.java에서 FeedResponse.java로 변경 * refactor: Feed, Article, Member 타입 추가 및 warning 제거 - article_id 변수 명을 articleId로 변 경 - ArticleNavigation.tsx에서 ArticleDetailScreen.tsx의 이름을 FeedDetail에서 ArticleDetail로 변경 - photo의 타입을 ImageURISource로 변경 - Tag타입의 tag필드를 name으로 변경 * refactor: image 타입 변경 * fix: ArticleDetailFavorite catch 제거 * feat: 피드 최대 로딩 횟수 설정 * feat: SelectBuyerScreen, SelectBuyerArticleInfo, BuyerCard 생성, chattingAPI 추가 * feat: 채팅 인수테스트 작성 * feat: 채팅 컨트롤러 생성, 생성 구현 * refactor: chatting -> chatRoom으로 변경 * feat: ChatRoomService 구현, ChatRoom 도메인 생성 - Member Id 생성자 추가 - Article Id 생성자 추가 * feat: ChatRoomController.showAllChatRoomOfArticle() 구현 - Member avatar, nickname 추가. - Fixture 병합. * feat: BuyerCard 구현, server 연동 * docs: author 추가 * refactor: route 제거 * feat : 평가 생성에 대한 인수테스트 작성 * feat : 평가 생성에 대한 컨트롤러 테스트 작성 * feat : 평가 생성에 대한 컨트롤러 작성 * feat : 평가 생성에 대한 기능 구현 * feat : 평가 스크린 front 구현 * feat : scores 타입을 map에서 배열로 변경 * feat : 중복된 질문에 대한 답이 들어오면 값을 변경하도록 기능 구현 * feat : Evaluation 필드 추가 (trade, target) * refactor : 1차 리뷰 반영 * chore : develop conflict 해결 * fix : schema 수정 Co-authored-by: 터틀 <turtlenam0928@gmail.com> Co-authored-by: Junyoung Lee <ljy3510@gmail.com> Co-authored-by: joseph415 <jeseok95@gmail.com> Co-authored-by: Gyeong-Jun Kim <lastpuzly@gmail.com>
구현기능
구현못한 기능
모듈 추가
논의 내용
close #52