HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🧚
[1기]최종 프로젝트 데브코스
/
💫
[팀16] YAS
/
😺
프롱이
/
🧸
컴포넌트
🧸

컴포넌트

아토믹 디자인
https://kciter.so/posts/effective-atomic-design

Atoms

Atom은 더 이상 쪼갤 수 없는 단위에 해당하는 요소에 해당한다. 혹은 애니메이션, 폰트, 색상 등과 같이 요소가 아닌 속성도 Atom에 해당된다. 가장 작은 단위인 만큼 가장 많이 재사용된다고 볼 수 있다.
  • 폰트 크기, 색상, 미디어 쿼리
 
  • Text
  • SliderBar
  • Icon
    • Prev
    • Next
    • Like
    • Close
    • Back
    • home
    • Coumunity
    • Anaysis
    • Edit
    • Remove
    • Add
    • List
  • Image
 
<Button>
  • NavButton
  • IconButton
    • PlayButton
    • RoutineUpdateButton
    • AddButton
    • CloseButton
    • UserButton
  • TextButton
  • CategoryButton
 
<Input>
  • TextInput
 
<기능>
  • Spacer
  • Grid
  • Spinner
 

Molecules

Molecule은 여러 개의 Atom이 모여 목적성이 있는 하나의 컴포넌트가 된다. 가급적 많은 곳에서 재사용되도록 컴포넌트를 구성하되 "한 가지 일을 한다"라는 원칙을 지키며 만드는 것이 좋다.
 
  • NavBar
  • TabBar
  • Routine
  • Mission
  • RoutineAddComboButton
  • ColorPalette
  • DaySelector
  • CategorySelector
  • RoutineInfo
 

Organisms

Organism은 사용자에게 의미 있는 정보를 제공하거나 인터렉션 할 수 있는 UI를 제공하는 등 서비스로서 의미를 가지는 인터페이스라고 볼 수 있다. 이 단계부터 재사용성이 크게 줄어든다.
 
  • RoutineProgressModal
  • TimePicker
  • EmojiPicker
  • MissionCounter
  • UserImageUploader
  • Comment
 
Molecule와 Organism의 구분 Molecule은 데이터를 표시하고 이벤트를 받을 수 있지만 "하나의 역할"만을 가진다. Organism은 사용자에게 의미를 가지는 기능적 요구사항에 포함되는 경우에 해당되는 컴포넌트다.
 

Templates

실제 콘텐츠가 입혀지기 전 UI 요소, 레이아웃, 기능이 어떻게 배치될지 정하는 와이어 프레임이라고 볼 수 있다. 따라서 자주 재사용되는 컴포넌트가 된다.
 
 
 

Pages

Page는 사용자가 볼 수 있는 최종 콘텐츠가 보이는 화면이다. 사용자와 인터렉션이 발생하거나 API 호출 등을 통해 사이드 이펙트가 발생 할 수 밖에 없는 컴포넌트기도 하다. 일반적으론 하나의 URI 당 하나의 Page 컴포넌트만 존재한다.
 
<나의 루틴>
  • MyRoutinePage
    • RoutimeCreatePage : 루틴 생성 및 수정 페이지
  • RoutineDetailPage
    • MissionCreatePage
  • RoutineProgressPage
  • RoutineFinishPage
 
<루틴 커뮤니티>
  • RoutineCommunityPage
  • RoutinePostPage : 루틴을 포스트 하는 페이지ㅑㅜ
  • RoutinePostDetailPage
 
<분석>
  • AnalysisPage
 
<유저>
  • SignInPage
  • SignUpPage
  • UserPage
  • UserEditPage
 
<기타>
  • NotFoundPage