Skip to content

HMRyu/Mogazoa

 
 

Repository files navigation

개선해본 폴더 구조

src

  • assets : 특정 컴포넌트에 종속되 있는 모듈단위의 파일들 (주로 js/ts, css, 이미지모듈등) - 근데 미사용으로 보임
  • components
    • feature : 비즈니스 도메인과 관련된 컴포넌트들 (관심사별로 구분)
    • layout : 도메인과 관련없는 레이아웃? (아직 미정)
    • shared : 공용 컴포넌트들
  • constants : 상수
  • hooks : 커스텀 훅
  • lib : 라이브러리 초기 셋팅과 관련된 파일이나, 다른 프로젝트에서 재사용하기 힘든 유틸 함수들 (관심사별로 저장)
  • models : api 비즈니스 로직
    • queries : 도메인 데이터를 페칭하는 커스텀 훅들
    • services : 재사용성을 위해 분리한 쿼리의 옵션들
  • pages : 페이지 라우팅과 컴포넌트 조립, 서버사이드 렌더링 코드
  • providers : 프로젝트 전역에서 사용할 요소들을 모아놓는 곳 (감싸기용)
  • store : justand store
  • styles : 전역 스타일
  • types : 타입
  • utils : 다른 프로젝트에서도 얼마든지 재사용 가능한 유틸 함수들

lib vs. utils 구분 기준

TL;DR

  • lib는 현재 프로젝트에서만 범용적으로 쓰이는 유틸들 (종속적 O)
  • utils는 다른 프로젝트에서도 쓰일 수 있는 범용성있는 유틸들 (종속적 X)

1. 복잡성 및 도메인 관련성

  • lib 폴더는 프로젝트의 특정 도메인과 관련된 복잡한 비즈니스 로직이나 기능을 처리합니다. 여기에는 외부 라이브러리와의 통합, 데이터베이스 접근, 인증 로직 등이 포함됩니다.
  • utils 폴더는 프로젝트 내에서 여러 컨텍스트에서 사용될 수 있는 범용적인 유틸리티 함수를 포함합니다. 이는 주로 간단한 계산, 형식 변환, 데이터 조작 등을 수행합니다.

2. 의존성

  • lib 폴더의 코드는 일반적으로 프로젝트의 다른 부분과 강하게 결합되어 있으며, 특정 비즈니스 로직에 종속적일 수 있습니다.
  • utils 폴더의 코드는 다른 모듈에 의존하지 않으며, 프로젝트 전반에서 독립적으로 재사용 가능합니다.

3. 재사용성

  • lib 폴더의 코드는 다른 프로젝트로 직접 가져가서 사용할 가능성이 낮습니다. 이는 특정 프로젝트에 특화된 로직을 다루기 때문입니다.
  • utils 폴더의 코드는 다른 프로젝트에서도 쉽게 재사용할 수 있는 범용적인 함수들로 구성되어 있습니다.

보완점

  1. 검색시 캐러셀 삭제
  2. 드롭다운 클릭시 시안성 향상
  3. 전체 카테고리 클릭시 전체 카테고리 출력
  4. 글씨 크기
  5. 블러 좀더 진하게
  6. 플러스 버튼 위치 변경

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.2%
  • CSS 2.7%
  • JavaScript 0.1%