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

[CT-2-2-1] Theme 간단 셋업, 차트게임 기능 - UI 컴포넌트 제작 #29

Conversation

nosorae
Copy link
Collaborator

@nosorae nosorae commented Jun 2, 2024

related to #25

*UI 전체 완성을 한 번의 PR로 가면 변경점이 너무 많아져 UI컴포넌트에서 한 번 끊어 PR을 올립니다.
[CT-2-2-2]에서 CT-2가 마무리됩니다.

*현재 디자인이 구려보일 수 있습니다. 크기/간격/색상 등은 지금 크게 씬경쓰지 않고 나중에 쉽게 조정할 수 있는 코드를 작성하는 것 에 집중했습니다.

*브랜치 이름이 ct-2-2-1-chart-game-presentation-theme-and-component 인 게 더 좋았겠습니다..

Overview

  • design system 셋업
  • 추가한 차트게임 기능에 쓰이는 컴포넌트들
    • TopAppBar
      image image
      게임 시작 전 게임 시작 후
    • Chart (UI개선 필요)
      image
    • BottomAppBar (동적으로 그려진 크기를 구해서, 오른쪽 버튼이 Preview 에 노출되지 않는 이슈)
      image
    • TradeOrder
      image image
      매수주문이면서 키패드 펼친경우 매도주문이면서 키패드 닫은 경우
  • 여러 화면에서 쓰일법한 공통된 것(ex. GridLayout, 상수 등)은 desginsystem 패키지에 추가하고, 차트게임 기능에만 쓰일법한 것은 chartgame 패키지에 있습니다.
  • UI작업하다가 놓쳤던 일부 ViewModel 작업이나 변경사항이 있습니다. (특히 TradeOrder 부분이 Buy/Sell 나눴던 것을 하나로 가져갔습니다. 공통되는 게 너무 많아서요)

@nosorae nosorae requested a review from f-lab-nathan June 2, 2024 16:58
@nosorae nosorae self-assigned this Jun 2, 2024
@nosorae nosorae added the feature label Jun 2, 2024
@nosorae nosorae added this to the 최소 기능 구현 milestone Jun 2, 2024
Copy link

sonarqubecloud bot commented Jun 2, 2024

volumeWeightedAveragePrice = volumeWeightedAveragePrice
)

fun Tick.asEntity(chartId: Long) =
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

버그 수정중에 발생한 코드인데 같은 파일이라 섞여들어갔습니다. #32 여기서도 추가될 것입니다.

Copy link
Collaborator

@f-lab-nathan f-lab-nathan left a comment

Choose a reason for hiding this comment

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

프로젝트 진행하시느라 고생하셨습니다. 👍

  • 서비스 특성에 따라 코드를 구현할때 중점적으로 봐야 할 점이 어떻게 달라지는지 한번 생각해보시면 좋을 것 같습니다.
  • 아직 UI에 데이터를 붙이지 않으신 것 같은데, 어떻게 확인하시면서 구현하시는지가 궁금합니다.
  • 컴포즈는 제가 더 많이 물어보고 배워야 할 것 같네요. 👍

@@ -3,45 +3,115 @@ package com.yessorae.presentation.ui.chartgame.model
import com.yessorae.domain.entity.tick.Tick

data class ChartGameScreenState(
Copy link
Collaborator

Choose a reason for hiding this comment

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

Q; State에 필드가 너무 많은 것은 아닐까요? 어느정도의 수가 적절할지 고민해보셨을까요?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

아뇨, 고민해보지 못했습니다. 적절한 필드 개수를 고민해보겠습니다!

불필요한 게 없는지, 이 클래스 안에 같이 있어야할 필드들인지까지만 생각해봤습니다.

@nosorae
Copy link
Collaborator Author

nosorae commented Jun 4, 2024

서비스 특성에 따라 코드를 구현할때 중점적으로 봐야 할 점이 어떻게 달라지는지 한번 생각해보시면 좋을 것 같습니다.

혹시 예시를 얻을 수 있을까요?
지금 당장 생각나는 것은 돈을 다루는 도메인은 데이터 무결성과 실패처리에 특히 신경써야할 것 같습니다.

아직 UI에 데이터를 붙이지 않으신 것 같은데, 어떻게 확인하시면서 구현하시는지가 궁금합니다.

Preview 로 데이터를 바꿔가며 고칩니다.
그리고 혹시 나중에 컴포넌트 배치해보고 실행해서 또 고치고 있습니다..!

@f-lab-nathan f-lab-nathan merged commit 718f203 into feature/ct-2-chart-game-presentation Jun 4, 2024
2 checks passed
@nosorae nosorae deleted the feature/ct-2-2-1-chart-game-presentation-view branch June 4, 2024 15:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants