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

[AN/USER] feat: 홈화면 필터링 기능을 제공한다 (#600) #606

Merged
merged 15 commits into from
Nov 14, 2023

Conversation

SeongHoonC
Copy link
Member

@SeongHoonC SeongHoonC commented Nov 13, 2023

📌 관련 이슈

✨ PR 세부 내용

진행중, 진행 예정, 지난 축제로 분류하는 필터링 기능 구현하였습니다.
빠진 다크모드 지원 추가했습니다.

image image image image

@SeongHoonC SeongHoonC added AN 안드로이드에 관련된 작업 USER labels Nov 13, 2023
@SeongHoonC SeongHoonC self-assigned this Nov 13, 2023
@SeongHoonC SeongHoonC linked an issue Nov 13, 2023 that may be closed by this pull request
@github-actions github-actions bot requested review from EmilyCh0 and re4rk November 13, 2023 09:56
Copy link
Collaborator

@re4rk re4rk left a comment

Choose a reason for hiding this comment

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

고생하셨습니다! 하나 코멘트 달았습니다! 다크모드가 미적용 된 부분이 있는데 이부분만 수정하고 넘어가면 될 것같습니다!

Copy link
Member

@EmilyCh0 EmilyCh0 left a comment

Choose a reason for hiding this comment

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

고생하셨습니다~ 코멘트 확인해 주세요!!

Comment on lines +95 to +101
private fun loadFestivalsBy(checkedChipId: Int) {
when (checkedChipId) {
R.id.chipProgress -> vm.loadFestivals(FestivalFilter.PROGRESS)
R.id.chipPlanned -> vm.loadFestivals(FestivalFilter.PLANNED)
R.id.chipEnd -> vm.loadFestivals(FestivalFilter.END)
}
}
Copy link
Member

Choose a reason for hiding this comment

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

화면 회전 시 initView(), initFestivalFilters()에서 중복으로 호출되는데 initView에서는 항상 PROGRESS 상태가 호출됩니다. 그래서 지난 축제에서 화면 회전을 하면 PROGRESS, END 중 랜덤으로 나와요 🥲

Copy link
Member Author

Choose a reason for hiding this comment

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

오류 확인했는데 랜덤이라서 알아차리지 못했군요..ㅜ
수정하겠습니다!

package com.festago.festago.model

enum class FestivalFilter {
ALL, PROGRESS, PLANNED, END
Copy link
Member

Choose a reason for hiding this comment

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

ALL은 사용하지도 않고, 명세에도 없으니 제거해도 되지 않을까요??

Copy link
Member Author

Choose a reason for hiding this comment

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

서버 코드를 찾아봤는데 Enum 에 ALL 이 있어서 추가했습니다!
또한 api 요청 결과 default 가 all 이기도 합니다.

추후 검색기능 등이 생길 때 유용할 것 같은데 어떻게 생각하시나요?

Copy link
Member

Choose a reason for hiding this comment

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

노션 명세에는 ALL이 없어서 서버쪽에 있는 개념인지 몰랐네요..! 추후 사용도 고려해서 그대로 두는 거 좋습니다 👍

Copy link
Member

@EmilyCh0 EmilyCh0 left a comment

Choose a reason for hiding this comment

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

LGTM!

@SeongHoonC SeongHoonC merged commit a21401f into dev Nov 14, 2023
1 check passed
@SeongHoonC SeongHoonC deleted the feat/#600 branch November 14, 2023 03:30
seokjin8678 added a commit that referenced this pull request Nov 16, 2023
* [AN/USER] feat: 티켓 예매 디자인 수정 (#567) (#570)

* feat: 티켓 예매 바텀 시트 화면 디자인 수정

* feat: 포스터 크기 수정

* refactor: 티켓을 선택하면 INVISIBLE로 변환

* refactor: 화면 겹치는 현상 제거

* refactor: 불필요한 공백 제거

---------

Co-authored-by: re4rk <[email protected]>

* [AN/USER] feat: 페스타고 유저 앱 버전 변경 (#571) (#572)

* [BE] chore: 개발 환경의 서브 모듈을 업데이트 (#573) (#574)

* refactor: 사용하지 않게된 클래스를 제거한다. (#513)

* [BE] feat: 회원의 학생 인증 정보 조회 API 구현 (#496) (#531)

* refactor: 메서드 네이밍 수정 (verifiacte -> verify)

* feat: 학생 인증 정보 조회 기능 구현

* refactor: findByMemberIdWithFetch INNER JOIN으로 수정

* refactor: inner line return 으로 수정

* refactor: 캐싱된 Response 반환

* [AN/USER] fix: 예매 완료 화면 버그 픽스 (#575) (#576)

* fix: getParcelableExtraCompat

* update: 버전 변경

* [ALL] 프로젝트 README 추가 (#552) (#577)

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* docs: 기능 간단 소개 작성

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* docs: update

* Update README.md

줄바꿈 수정

* docs: Update README.md

* Update README.md

백엔드 기술스택 추가

* Update README.md

- JUnit5 오타 수정

* Update README.md

백엔드 기술스택 flyway 추가

* 인프라 아키텍처 사진 추가

* Update infra structure image

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

---------

Co-authored-by: xxeol2 <[email protected]>
Co-authored-by: Hyun-Seo Oh / 오현서 <[email protected]>
Co-authored-by: 해시 <[email protected]>
Co-authored-by: Guga <[email protected]>

* [AN/USER] refactor: ViewModel Test Code Dispatcher Rule 추가 (#590)

* feat: coroutine dispatcher main rule 추가

* refactor: 티켓 예매 화면 ViewModel 테스트 리팩터링

* refactor: 티켓 목록 화면 ViewModel 테스트 리팩터링

* refactor: 티켓 기록 화면 ViewModel 테스트 리팩터링

* refactor: 티켓 입장 화면 ViewModel 테스트 리팩터링

* refactor: 학생 인증 화면 ViewModel 테스트 리팩터링

* refactor: 로그인 화면 ViewModel 테스트 리팩터링

* refactor: 학교 선택 화면 ViewModel 테스트 리팩터링

* refactor: 마이페이지 화면 ViewModel 테스트 리팩터링

* refactor: 홈 화면 ViewModel 테스트 리팩터링

* refactor: 축제 목록 화면 ViewModel 테스트 리팩터링

* refactor: 마이페이지 화면 ViewModel 테스트 재변경

* [AN/USER] feat: 버튼 더블 클릭 막기(#584) (#585)

* feat: SingleClick Util 추가

* feat: 바텀 시트 바깥 클릭 막기

* feat: single 클릭 적용

* refactor: SingleClick 메서드명 변경

* refactor: xml 파일 호출 순서 맞추기

* [AN/USER] feat: 홈 화면에서 뒤로가기 누르면 곧바로 종료되지 않는다. (#588)

* feat: 홈화면 뒤로가기 상수 추가

* feat: 홈화면 뒤로가기 두 번 클릭 시 종료

* [AN/USER] feat: SingleLivedata 제거 (#586) (#587)

* refactor: 사용하지않는 SingleLiveData 제거

* refactor: 사용하지않는 Event 제거

* [AN/USER] feat: 예매 실패 케이스 처리(#369) (#593)

* feat: 에러 코드를 구분한다

* feat: API 요청 실패 결과에 따라 에러 코드를 예외로 던진다

* feat: 티켓 예매 요청에 실패하면 예외 이벤트가 발생한다.

* feat: 에러 코드에 따라 다른 메세지를 띄운다

* [AN/USER] refactor: 네트워크 에러 로깅을 확장함수 없이 직접 처리한다(#595) (#596)

refactor: 네트워크 에러 로깅을 확장함수 없이 직접 처리한다

* [BE] feat: 축제 조회 필터링 구현(#602) (#603)

* feat: specification 정의

* feat: FestivalFilter 정의

* feat: 축제 진행 상태에 따른 Controller, Service 생성

* refactor: private 생성자를 lombok 을 통해 생성

* chore: 괄호 제거

* chore: 변수 상수화

* chore: given 절 타입 명시

* feat: 축제 조회 ALL 삭제 및 기본값을 진행 중으로 변경

* feat: 축제 당일이 Progress에 포함되도록 변경 및 Spec 리팩터링

* feat: 축제 진행 상황별 정렬 조건 추가

* chore: 메서드 순서 변경

* chore: index 추가

* chore: 에러 메시지 변경

* chore: test 개행 변경 및 변수 재활용

* [AN/USER] feat: 홈화면 필터링 기능을 제공한다 (#600) (#606)

* feat: 축제 목록 필터 이름 상수화

* feat: 축제 목록 칩 색깔 및 텍스트 스타일 작성

* feat: 축제 목록 칩으로 필터링하기 화면 그리기

* feat: 축제 필터 분류 정의

* feat: FestivalRepository 필터링 요청 가능하도록 재정의

* feat: 축제 목록 ViewModel 에 축제 필터링 기능 적용

* feat: 축제 목록 Fragment 에 필터링 기능 적용

* feat: 축제 목록 필터링 API 연동 작업

* feat: 페스타고 홈화면 아이콘 추가

* refactor: 칩 색깔 selector 네이밍 수정

* refactor: 축제 목록 칩 색깔 네이밍 변경

* feat: 필터링 칩 다크모드 적용

* feat: 필터링 상태를 ViewModel 에서 관리하지 않는다

* feat: 현재 선택된 칩의 필터링에 해당하는 리스트를 요청한다

* fix: Loading 이 아니면 구성 변경 시 축제 목록을 재요청하지 않는다

* [BE] refactor: /stages/{stageId}/tickets API의 N+1을 해결한다.(#517) (#578)

* refactor: findAllByStageId fetch 조인으로 변경

* refactor: fetch join 메서드 사용하도록 변경

* chore: Inner 조건 명시하도록 변경

* [BE] 도메인 엔티티의 예외를 정의, 적용하고 테스트 패키지 구조를 정리한다. (#482) (#515)

* feat: DomainValidException 추가

* fix: DomainValidException -> ValidException 변경, 수정

* feat: Validator 검증 로직 추가

* refactor: 검증 로직 도메인에 적용

* refactor: ValidException 에러코드 수정, Validator 로직 추가

* feat: Admin 검증 추가

* feat: EntryCode 검증 추가

* refactor: 검증 로직 대폭 개선

* test: 테스트 코드 패키지 구조에 맞게 이동

* test: 테스트 코드 추가

* test: Member 테스트 코드 추가

* fix: EntryState IllegalArgumentException 변경

* fix: 테스트 코드 깨짐 수정

* refactor: Validator 호출 시 필드명 변수로 추출

* feat: IllegalArgumentException을 대체하는 UnexpectedException 추가, 적용

* feat: OAuth2Clients 중복 추가 시 에러 로그 추가

* feat: UnexpectedException 예외 핸들러 추가

---------

Co-authored-by: BGuga <[email protected]>

* [BE] test properties show sql 관련 설정 삭제 (#605) (#607)

test: 테스트 로그에 쿼리 로그 제거하도록 변경

* [BE] refactor: 사용하지 않는 AdminService 제거 (#610) (#611)

* test: 테스트 코드에 서비스 클래스 제거

* refactor: AdminService 삭제

* refactor: AdminDTO 삭제

* style: 개행 수정

* [BE] 학교 정보 API에 Swagger Annotation을 추가 (#597) (#598)

feat: SchoolController에 Swagger 정보 추가

Co-authored-by: hyunseo <>

* [AN/USER] feat: 축제 목록 화면 UX 개선(#614) (#615)

* [AN] release: v1.2.0 (#618) (#619)

chore: release v1.2.0

---------

Co-authored-by: re4rk <[email protected]>
Co-authored-by: 해시 <[email protected]>
Co-authored-by: Hyun-Seo Oh / 오현서 <[email protected]>
Co-authored-by: xxeol2 <[email protected]>
Co-authored-by: seokjin8678 <[email protected]>
Co-authored-by: Guga <[email protected]>
seokjin8678 pushed a commit that referenced this pull request Nov 16, 2023
* feat: 축제 목록 필터 이름 상수화

* feat: 축제 목록 칩 색깔 및 텍스트 스타일 작성

* feat: 축제 목록 칩으로 필터링하기 화면 그리기

* feat: 축제 필터 분류 정의

* feat: FestivalRepository 필터링 요청 가능하도록 재정의

* feat: 축제 목록 ViewModel 에 축제 필터링 기능 적용

* feat: 축제 목록 Fragment 에 필터링 기능 적용

* feat: 축제 목록 필터링 API 연동 작업

* feat: 페스타고 홈화면 아이콘 추가

* refactor: 칩 색깔 selector 네이밍 수정

* refactor: 축제 목록 칩 색깔 네이밍 변경

* feat: 필터링 칩 다크모드 적용

* feat: 필터링 상태를 ViewModel 에서 관리하지 않는다

* feat: 현재 선택된 칩의 필터링에 해당하는 리스트를 요청한다

* fix: Loading 이 아니면 구성 변경 시 축제 목록을 재요청하지 않는다
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AN 안드로이드에 관련된 작업 USER
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[AN] 홈화면 필터링 기능을 제공한다
3 participants