airbridge-design-system
์์ด๋ธ๋ฆฟ์ง ๋์๋ณด๋์ ์ฌ์ฉ๋๋ ๋์์ธ ์์คํ
์ ๊ด๋ฆฌํ๋ Repository์
๋๋ค.
๊ฐ ๋ด์ฉ์ ์ฐธ์กฐํ์ฌ ์
๋ฌด ์งํ์ ๋ถํ๋๋ฆฝ๋๋ค :)
โ
Requirement
How To Install
brew install node
brew install pnpm
pnpm env use --global 16
โ๏ธ Environment Setup
๋ณธ ๋ ํฌ์งํฐ๋ฆฌ๋ฅผ Cloneํ ๋ค, PNPM์ ์ฌ์ฉํด ํ์ํ ํจํค์ง๋ฅผ ์ค์นํด์ฃผ์ธ์.
GitKraken ๋ฑ์ Git GUI ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด, ๋ณด๋ค ํธํ๊ฒ ์์
ํ์ค ์ ์์ต๋๋ค.
pnpm install
๐ Install & Run
์ค์น๊ฐ ์๋ฃ๋๊ณ , ๋ก์ปฌ์์ ๊ฐ๋ฐ ๋ด์ฉ์ ํ์ธํ๊ณ ์ ํ ๋๋ ์๋ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด์ฃผ์ธ์.
pnpm storybook
๋ก์ปฌ์์ ๋น๋๋ฅผ ์คํํ ๋๋ ์๋ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด์ฃผ์ธ์.
pnpm build
๐จ Templates
์๋ ๋ช
๋ น์ด๋ค์ ์ด์ฉํด ํ
ํ๋ฆฟ์ด ์ ์ฉ๋ ํ์ผ์ ์ฝ๊ฒ ์์ฑํ ์ ์์ต๋๋ค.
foundation ํ
ํ๋ฆฟ์ ์ฌ์ฉํ๊ณ ์ ํ ๋๋ ์๋ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด์ฃผ์ธ์.
pnpm new:foundation [NAME]
src/foundations/[NAME]/[NAME].stories.mdx
ํ์ผ์ด ์์ฑ๋ฉ๋๋ค. (*template)src/foundations/[NAME]/[NAME].ts
ํ์ผ์ด ์์ฑ๋ฉ๋๋ค. (*template)src/foundations/[NAME]/index.ts
ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.src/foundations/index.ts
์ export๋ฌธ์ด ์ถ๊ฐ๋ฉ๋๋ค.
component ํ
ํ๋ฆฟ์ ์ฌ์ฉํ๊ณ ์ ํ ๋๋ ์๋ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด์ฃผ์ธ์.
ํฐ๋ฏธ๋์ ์ ์๋๋ ํ๋กฌํํธ์์ ์ปดํฌ๋ํธ์ ์ด๋ฆ๊ณผ props๋ฅผ ์
๋ ฅํ๋ฉด ์ปดํฌ๋ํธ ์์ฑ์ ํ์ํ ํ์ผ๋ค์ด ์๋ ์์ฑ๋ฉ๋๋ค.
pnpm new:component
src/components/foo/Foo.tsx
ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.src/components/foo/Foo.styles.ts
ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.src/components/foo/index.ts
ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.- Storybook์ Docs๋ฅผ ๊ตฌ์ฑํ ํ์ผ๋ค์ด storybook ํด๋ ๋ด์ ์์ฑ๋ฉ๋๋ค.
src/components/foo/storybook/Foo.docs.mdx
ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.src/components/foo/storybook/Foo.stories.tsx
ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.src/components/foo/storybook/Foo.stories.styles.tsx
ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.
src/components/index.ts
์ export๋ฌธ์ด ์ถ๊ฐ๋ฉ๋๋ค.
๐ Stability & Review
For QA & Code Review
Code Review๋ฅผ ์ํด PR์ ์ฌ๋ฆด ๋๋, ๊ธฐ๋ณธ์ ์ผ๋ก 'Draft Pull Request' ์ต์
์ ํ์ฑํ์ํต๋๋ค.
QA์ ํ์ํ ํ๊ฒฝ์ Vercel๋ก ๊ตฌ์ถํฉ๋๋ค.
feature/TICKET_NAME
์ผ๋ก ๋ธ๋์น๋ฅผ ์์ฑํ ํ master๋ก PR์ ๋ณด๋ด๋ฉด, ์๋์ผ๋ก Deploy Preview๊ฐ ์์ฑ๋ฉ๋๋ค.
๐ Deployment
master
๋ธ๋์น์ ์๋ก์ด ์ปค๋ฐ์ด ์๊ธฐ๋ฉด (merge or push),
GitHub Actions๋ฅผ ํตํด ๋น๋ ์ดํ Vercel์ ํตํด ๋ฐฐํฌ๋ฉ๋๋ค. ๋ฐฐํฌ ์๋ฃ์ #dev-alert-ads์์ ์๋ฆผ์ ๋ฐ์ ์ ์์ต๋๋ค.
๊ธฐํ ๋ด๋ถ ์ค๋ฅ ์ฒ๋ฆฌ
hotfix/TICKET_NAME
์ผ๋ก ๋ธ๋์น๋ฅผ ์์ฑํ์ฌ ์์
, PR์ ์ฌ๋ฆฐ ๋ค mergeํฉ๋๋ค.
etc...
"Design system is a process and therefore is simultaneously always ready and never done." > - Marcin Treder, UXPin