제가 구현 한 부분은 ✅, 팀원이 구현 한 부분은 👏🏻
1. 회원가입 / 로그인 유효성검사 👏🏻
2. 메인 페이지 ✅
3. 게시판 CRUD 👏🏻
4. 댓글, 댓글의 댓글 생성 및 삭제 👏🏻
5. 솔루션 채택 기능 👏🏻
제가 맡은 부분은 메인 페이지(2) 입니다.
이번 프로젝트에서 기능적으로 어려운 부분은 크게 없었습니다. 다만, 이번 프로젝트는 Atomic Design Pattern을 적용하고, Ant Design을 사용하여 웹페이지를 완성하는 것이 과제였습니다. 처음으로 프로젝트 설계에 대한 고민을 하고, 컴포넌트 하나를 만들어도 어떻게 하면 재사용할 수 있을지 고민하느라 일주일 넘는 시간을 페이지 분석, Atomic Design이 어떤 것인가에 대해 시간을 보냈습니다.
결과적으로 많은 페이지, 기능을 만들진 못했지만 프론트엔드의 설계에 대해 고민해 볼 수 있었던 좋은 기회였습니다.
또한, 이번 프로젝트에서는 UI 컴포넌트를 독립적으로 볼 수 있는 Storybook, 타입을 지정할 수 있는 TypeScript를 사용할 수 없었지만 다음 프로젝트에는 꼭 적용해 보고 싶습니다!
JSX에서는 자바스크립트 조건문처럼 if나 switch문으로 처리가 불가능합니다...
일반적으로는 삼항연산자, &&로 조건을 사용하곤 하는데 저는 3가지 조건으로 구분하여 return 해줬어야 했기 때문에 즉시발동함수(IIFE)를 통해 조건문을 처리 하였습니다.
참고자료
├── Components
│ ├── Atoms
│ │ ├── CardButton.js
│ │ ├── CatListCard.js
│ │ ├── CategoryButton.js
│ │ ├── CategorySubButton.js
│ │ ├── FooterAnchor.js
│ │ ├── FormLayout.js
│ │ ├── HeaderButton.js
│ │ ├── Input.js
│ │ ├── MainBannerDescription.js
│ │ ├── MainBannerTitle.js
│ │ └── SectionTitle.js
│ ├── Molecules
│ │ ├── CardCollection.js
│ │ ├── CatListMain.js
│ │ ├── CatListTop.js
│ │ ├── CategoriesItemInfo.js
│ │ ├── CategoriesItemInfoSub.js
│ │ ├── CategoryDropDown.js
│ │ ├── HeaderLogo.js
│ │ ├── HeaderMenu.js
│ │ ├── HeaderSignin.js
│ │ ├── LoginLayout.js
│ │ ├── MainBannerDescriptions.js
│ │ ├── MainCard.js
│ │ └── SignUpLayout.js
│ └── Organisms
│ ├── Categories
│ │ └── Categories.js
│ ├── CategoryListLayout
│ │ └── CategoryListLayout.js
│ ├── Discussions
│ │ └── Discussions.js
│ ├── Footer
│ │ └── Footer.js
│ ├── Header
│ │ └── Header.js
│ └── MainBanner
│ └── MainBanner.js
├── Define
│ ├── Constant.js
│ └── Enum.js
├── Enum.js
├── Pages
│ ├── CategoryBoard
│ │ ├── Board.css
│ │ ├── CategoryBoard.js
│ │ ├── CategoryForm.js
│ │ ├── CategoryHeader.js
│ │ └── CategoryPost.js
│ ├── CategoryList
│ │ └── CategoryList.js
│ ├── Login
│ │ └── Login.js
│ ├── Main
│ │ └── Main.js
│ ├── MyPage
│ │ └── MyPage.js
│ ├── Signup
│ │ └── Signup.js
│ └── Users
│ ├── BoardDetail.js
│ ├── CommentReply.js
│ ├── CommentView.js
│ ├── CommentWrite.js
│ ├── EditBoard.js
│ ├── EditUser.js
│ ├── LikeDisLike.js
│ ├── SingleComment.js
│ └── View.js
├── Routes.js
├── Styles
│ ├── GlobalStyles.js
│ └── Theme.js
├── index.js
└── store
├── actions
│ └── index.js
└── reducers
└── index.js
23 directories, 58 files