Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/designsystemlab/design-system

πŸ’Ž J Design System
https://github.com/designsystemlab/design-system

css-in-js design-system emotion react storybook styleguide typescript

Last synced: 6 days ago
JSON representation

πŸ’Ž J Design System

Awesome Lists containing this project

README

        

# J Design System

![jds-thumb](https://github.com/react95-io/React95/assets/46988995/ac97b7f7-2420-40f6-9990-25217a8381df)

## Introduction

πŸ’Ž J Design System은 μ—¬λŸ¬ μž¬μ‚¬μš© κ°€λŠ₯ν•œ 핡심적인 UI μ»΄ν¬λ„ŒνŠΈλ₯Ό λ‹΄μ•„λ‚΄κ³  μžˆλŠ” Reactμ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” Design System UI Library μž…λ‹ˆλ‹€. λΉ λ₯΄κ³  μ‰½κ²Œ μ μš©ν•  수 μžˆλŠ” λ‹¨μˆœν•œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό 지ν–₯ν•˜μ˜€μœΌλ©°, μ›Ή 접근성을 μ΅œλŒ€ν•œ μ€€μˆ˜ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

## Why you should use J Design System

- ⚑️ Compound Component ꡬ쑰와 일관성 μžˆλŠ” 속성 ꡬ쑰λ₯Ό 톡해 κ°„κ²°ν•œ μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€λ₯Ό μœ μ§€ν•˜λ„λ‘ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
- 🌈 `as` 속성을 톡해 μ»΄ν¬λ„ŒνŠΈ λ‹€ν˜•μ„±μ„ μ§€μ›ν•˜λ„λ‘ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.
- ⚠️ μ›Ή 접근성을 κ³ λ €ν•΄ μ μ ˆν•œ `html role`을 μ‚¬μš©ν•˜μ—¬ μ»΄ν¬λ„ŒνŠΈλ₯Ό κ΅¬μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
- 🧩 λ‹€μ–‘ν•œ μ‚¬μš© ν™˜κ²½μ„ κ³ λ €ν•΄ `cjs`, `esm` λͺ¨λ“ˆμ„ μ§€μ›ν•˜λ„λ‘ λ²ˆλ“€λ§μ„ κ΅¬μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
- ⌨️ Uncontrolled Component νŠΉμ„±μ„ ν™œμš©ν•΄ μΈν„°λž™μ…˜μ΄ ν•„μš”ν•œ μ»΄ν¬λ„ŒνŠΈλ“€μ„ μ§€μ›ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
- πŸ’« Form κ΄€λ ¨ μ»΄ν¬λ„ŒνŠΈλ“€μ€ [React Hook Form](https://react-hook-form.com/)을 μ§€μ›ν•©λ‹ˆλ‹€.

## Project Overview

- **[πŸ’„ Storybook Link](https://designsystemlab.github.io/design-system/)**
- **[🚚 Yarn Berry: νŒ¨ν‚€μ§€ λ§€λ‹ˆμ €λ‘œ Yarn Berryλ₯Ό ν™œμš©ν•˜μ˜€μŠ΅λ‹ˆλ‹€.](https://github.com/DesignSystemLab/design-system/wiki/Package-Manager:-Yarn-Berry)**
- **[⚑️ Compound Component νŒ¨ν„΄μ„ ν™œμš©ν•˜μ—¬ μœ μ—°ν•œ ꡬ성이 κ°€λŠ₯ν•˜λ„λ‘ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.](https://github.com/DesignSystemLab/design-system/wiki/Compound-Component-Pattern)**
- **[🏒 Monorepo Architectureλ₯Ό 채택해 μ½”λ“œ κ³΅μœ μ™€ ν˜‘μ—…μ„ μš©μ΄ν•˜κ²Œ κ΅¬μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.](https://github.com/DesignSystemLab/design-system/wiki/Monorepo-Architecture)**
- **[⌨️ Keyboard Control: ν‚€λ³΄λ“œ μ œμ–΄ κΈ°λŠ₯을 ν¬ν•¨ν•˜μ—¬ μ‚¬μš©μž μƒν˜Έμž‘μš©κ³Ό 접근성에 주의λ₯Ό κΈ°μšΈμ˜€μŠ΅λ‹ˆλ‹€.](https://github.com/DesignSystemLab/design-system/wiki/Keyboard-Control)**
- **[βœ… dependency-cruiserλ₯Ό μ‚¬μš©ν•˜μ—¬ μ˜μ‘΄μ„±μ„ μ²΄ν¬ν•˜μ—¬ νŒ¨ν‚€μ§€ κ°„ μ°Έμ‘° 관계λ₯Ό κ²€μ‚¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€.](https://github.com/DesignSystemLab/design-system/wiki/dependency-cruiser)**
- **[πŸ’… Emotion을 μ‚¬μš©ν•˜μ—¬ μ»΄ν¬λ„ŒνŠΈ μŠ€νƒ€μΌλ§μ„ κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.](https://github.com/DesignSystemLab/design-system/wiki/Styling-Library:-Emotion)**
- **[πŸ§ͺ Jest와 React Testing Libraryλ₯Ό μ‚¬μš©ν•˜μ—¬ ν…ŒμŠ€νŠΈλ₯Ό κ΅¬μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.](https://github.com/DesignSystemLab/design-system/wiki/Test-Using-JEST-&-React-Testing-Library)**
- **[πŸ“¦ λͺ¨λ“ˆ λ²ˆλ“€λ§μ„ μœ„ν•΄ tsup을 μ‚¬μš©ν•˜μ˜€μŠ΅λ‹ˆλ‹€.](https://github.com/DesignSystemLab/design-system/wiki/tsup%EC%9D%84-%ED%99%9C%EC%9A%A9%ED%95%9C-%EB%B2%88%EB%93%A4%EB%A7%81)**
- **[πŸš€ Changesetκ³Ό ν•¨κ»˜ CI/CD νŒŒμ΄ν”„λΌμΈμ„ κ΅¬μΆ•ν•˜μ—¬ μžλ™ν™”λœ λΉŒλ“œ 및 배포 ν™˜κ²½μ„ κ΅¬μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.](https://github.com/DesignSystemLab/design-system/wiki/%F0%9F%A6%8B-Changeset-CI-CD)**

## Installation

πŸ’… `Emotion` ν™˜κ²½μ—μ„œ λ™μž‘ν•˜κΈ° λ•Œλ¬Έμ— emotion dpendencyκ°€ ν•„μš”ν•©λ‹ˆλ‹€.
**React UI Component**

```bash
npm install --save @jdesignlab/react @emotion/react@^11
```

**SVG Icons**

```bash
npm install --save @jdesignlab/react-icons @emotion/react@^11
```

μ•„λž˜μ™€ 같이 ν•„μš”ν•œ UI μ»΄ν¬λ„ŒνŠΈλ₯Ό importν•˜μ—¬ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 각 μ»΄ν¬λ„ŒνŠΈμ˜ `README`λ₯Ό μ°Έκ³ ν•˜μ‹œλ©΄ μžμ„Έν•œ μΈν„°νŽ˜μ΄μŠ€μ™€ μ‚¬μš©λ²•μ„ ν™•μΈν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€. μ•„λž˜ 링크λ₯Ό ν΄λ¦­ν•˜μ‹œλ©΄ 각 μ»΄ν¬λ„ŒνŠΈμ˜ README둜 μ΄λ™ν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€.

```jsx
import { Text, TextInput, Button, Modal, ... } from '@jdesignlab/react';
import {Mail, Bell, Book, ...} from '@jdesignlab/react-icons'
```

## Components

**Box**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/box) [](https://designsystemlab.github.io/design-system/?path=/docs/layout-box--basic)

**Button**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/button) [](https://designsystemlab.github.io/design-system/?path=/docs/actions-button--basic)

**Card**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/card) [](https://designsystemlab.github.io/design-system/?path=/docs/data-display-card--basic)

**Checkbox**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/checkbox) [](https://designsystemlab.github.io/design-system/?path=/docs/data-display-card--basic)

**Drawer**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/drawer) [](https://designsystemlab.github.io/design-system/?path=/docs/actions-drawer--basic)

**Dropdown**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/dropdown) [](https://designsystemlab.github.io/design-system/?path=/docs/layout-dropdown--basic)

**Flex**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/flex) [](https://designsystemlab.github.io/design-system/?path=/docs/layout-flex--basic)

**Input**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/input) [](https://designsystemlab.github.io/design-system/?path=/docs/forms-textinput--basic)

**Modal**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/modal) [](https://designsystemlab.github.io/design-system/?path=/docs/actions-modal--basic)

**Popover**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/popover) [](https://designsystemlab.github.io/design-system/?path=/docs/actions-popover--basic)

**Radio**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/radio) [](https://designsystemlab.github.io/design-system/?path=/docs/forms-radio--basic)

**Select**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/select) [](https://designsystemlab.github.io/design-system/?path=/docs/forms-select--basic)

**Stack**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/stack) [](https://designsystemlab.github.io/design-system/?path=/docs/layout-stack--basic)

**Tabs**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/tabs) [](https://designsystemlab.github.io/design-system/?path=/docs/navigation-tabs--basic)

**Text**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/tabs) [](https://designsystemlab.github.io/design-system/?path=/docs/typography-text--basic)

**Textarea**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/textarea) [](https://designsystemlab.github.io/design-system/?path=/docs/forms-textarea--basic)

**Tooltip**
[](https://github.com/DesignSystemLab/design-system/tree/main/packages/tooltip) [](https://designsystemlab.github.io/design-system/?path=/docs/layout-stack--basic)

## Contributors

| [yondo123](https://github.com/yondo123)
| [yoycode](https://github.com/yoycode)
|
| :---------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------: |
| tooooo1 | helen |

## Convention

**Commit Convention**
| rule | description |
| -------- | -------------------------------------------------------- |
| ✨ Feat | μƒˆλ‘œμš΄ κΈ°λŠ₯을 μž‘μ„±ν•©λ‹ˆλ‹€. |
| 🎨 Style | μ½”λ“œ μŠ€νƒ€μΌ κ·œμΉ™μ„ μˆ˜μ •ν•©λ‹ˆλ‹€. |
| βž– Remove | μ‚¬μš©λ˜μ§€ μ•ŠλŠ” 파일 λ˜λŠ” μ½”λ“œλ₯Ό μ‚­μ œν•©λ‹ˆλ‹€. |
| πŸ—οΈ Structure | ν”„λ‘œμ νŠΈ ꡬ쑰λ₯Ό λ³€κ²½ν•©λ‹ˆλ‹€. |
| πŸ”§ Modify | κΈ°λŠ₯에 영ν–₯을 주지 μ•ŠλŠ” μ½”λ“œλ₯Ό μˆ˜μ •ν•©λ‹ˆλ‹€. |
| πŸ› Fix | κΈ°λŠ₯의 문제 사항 λ˜λŠ” μ „λ°˜μ μΈ ν”„λ‘œμ νŠΈ λ‚΄ 이슈λ₯Ό ν•΄κ²°ν•©λ‹ˆλ‹€. |
| ♻️ Refactor | μ„±λŠ₯μ΄λ‚˜ μ½”λ“œμ˜ ꡬ쑰λ₯Ό κ°œμ„ ν•©λ‹ˆλ‹€. |
| πŸ“ Doc | λ¬Έμ„œλ₯Ό μž‘μ„±ν•˜κ±°λ‚˜ νŽΈμ§‘ν•©λ‹ˆλ‹€. |
| 🀑 Chore | μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ™μž‘μ— 영ν–₯을 주지 μ•ŠλŠ” μ½”λ“œλ“€μ„ μˆ˜μ •ν•©λ‹ˆλ‹€. (package version, configure) |
| πŸš€ Deploy | νŒ¨ν‚€μ§€λ₯Ό λ°°ν¬ν•©λ‹ˆλ‹€. |
| πŸ§ͺ Test | ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€. |
| πŸ’„ Ui | μŠ€νƒ€μΌλ§μ„ μœ„ν•œ μ½”λ“œλ₯Ό μˆ˜μ •ν•˜κ±°λ‚˜ μΆ”κ°€ν•©λ‹ˆλ‹€. |