-
Notifications
You must be signed in to change notification settings - Fork 38
feat(dashboard): separate dashboard shared from dashaboards service & edit project route #5756
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
Merged
piggggggggy
merged 18 commits into
feature-integration-project-detail
from
feature-project-dashboards
Apr 10, 2025
Merged
feat(dashboard): separate dashboard shared from dashaboards service & edit project route #5756
piggggggggy
merged 18 commits into
feature-integration-project-detail
from
feature-project-dashboards
Apr 10, 2025
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… name convention Signed-off-by: samuel.park <[email protected]>
…ice (dashboard create only) Signed-off-by: samuel.park <[email protected]>
Signed-off-by: samuel.park <[email protected]>
Signed-off-by: samuel.park <[email protected]>
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 4 Skipped Deployments
|
🎉 @skdud4659 and @WANZARGEN have been randomly selected as the reviewers! Please review. 🙏 |
Signed-off-by: samuel.park <[email protected]>
…il page Signed-off-by: samuel.park <[email protected]>
…ard components Signed-off-by: samuel.park <[email protected]>
…board service Signed-off-by: piggggggggy <[email protected]>
piggggggggy
commented
Apr 9, 2025
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.
/services
├── /dashboards
│ ├── /composables
│ ├── /pages
│ │ ├── DashboardCreatePage.vue ← uses DashboardCreateBody
│ │ └── ...
│ ├── /helpers
│ ├── /stores
│ ├── /components
│ └── /types
└── /dashboard-shared ← new shared module
├── /_composables
│ └── use-dashboard-route-context.ts
├── /dashboard-detail
│ ├── /components
│ ├── /composables
│ ├── /stores
│ └── DashboardDetailBody.vue
└── /dashboard-create
├── /components
├── /stores
└── DashboardCreateBody.vue
Design Philosophy
- The dashboard-shared module encapsulates reusable dashboard-related UI and logic, separated into feature-based groups such as dashboard-create and dashboard-detail.
- Each group exposes a single interface component, following the naming convention ...Body.vue (e.g., DashboardCreateBody.vue, DashboardDetailBody.vue).
- These Body components serve as the interface endpoints, designed to be loosely coupled with service-specific context via props.
- Services like project or dashboards simply inject the necessary data into these Body components through props, without modifying their internal logic.
Body Component
- Reflect the role of these components as self-contained, ready-to-use content blocks, rather than flexible layout shells.
- They encapsulate domain logic and UI behavior internally, exposing a defined interface to the outside — much like a contract.
- The external context only needs to comply with this contract via props, ensuring a clean separation of concerns.
설계 방향
- dashboard-shared는 대시보드 생성/상세에 필요한 UI 및 로직을 기능 단위로 분리한 공통 모듈입니다.
- 각 그룹(dashboard-create, dashboard-detail)은 단일 엔드포인트 컴포넌트인 ...Body.vue를 외부에 노출하며, Body 컴포넌트는 해당 기능의 핵심 내용을 담당하는 UI 추상화 레이어로 동작합니다.
- 서비스(dashboards, project 등)는 이 Body 컴포넌트를 가져다 쓰되, 필요한 데이터를 props 형태로 주입함으로써 내부 구현과의 의존성을 최소화합니다.
Body Component
- 해당 컴포넌트들은 단순한 레이아웃 컨테이너가 아니라, 기능적으로 완결된 UI 및 도메인 로직을 포함한 ‘본문’ 역할을 수행합니다.
- 외부에서는 정해진 props만 주입하면 되며, 이를 통해 의미 있는 인터페이스 역할을 담당합니다.
… composables Signed-off-by: samuel.park <[email protected]>
…roject-dashboard query Signed-off-by: samuel.park <[email protected]>
Signed-off-by: piggggggggy <[email protected]>
Signed-off-by: piggggggggy <[email protected]>
Signed-off-by: piggggggggy <[email protected]>
Signed-off-by: piggggggggy <[email protected]>
Signed-off-by: piggggggggy <[email protected]>
Signed-off-by: samuel.park <[email protected]>
Signed-off-by: samuel.park <[email protected]>
Signed-off-by: samuel.park <[email protected]>
289df54
into
feature-integration-project-detail
10 of 11 checks passed
3 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Skip Review (optional)
style
,chore
,ci
,test
,docs
)Description (optional)
Things to Talk About (optional)