Projects

개인 프로젝트를 통해
React / Next.js 기반 구조 설계 경험을 정리했습니다.

Todos Project

개요

클론할 소스 없이 백지 상태에서 직접 설계하고 구현하는 방식을 통해
React / Next.js 기반의 모던 프론트엔드 스택이 실제로 어떻게 동작하는지를 이해하고
라이브러리 사용법이 아닌 구조와 흐름 중심의 개발 감각을 체화하는 것을 목표로 진행한 프로젝트입니다.

사용한 기술

  • React
  • Custom Hook
  • Components
  • Next.js
  • TypeScript
  • TailwindCSS

프로젝트 목적

클론할 소스 없이 백지 상태에서 직접 설계하고 구현하는 방식을 통해
React / Next.js 기반의 모던 프론트엔드 스택이 실제로 어떻게 동작하는지를 이해하고
라이브러리 사용법이 아닌 구조와 흐름 중심의 개발 감각을 체화하는 것을 목표로 진행한 프로젝트입니다.

설계 포인트

  • 비즈니스 로직과 UI 로직을 분리하기 위해
    Custom Hook(useTodos) 구조로 상태 관리 로직 분리
  • 상태 변경 흐름을 명확히 하기 위해
    *Reducer + Selector 패턴 도입 (상태 변경과 UI 계산 로직을 분리)
  • 새로고침 이후에도 상태를 유지할 수 있도록
    쿠키 기반 저장 방식 적용
  • 조건부 클래스 조합의 가독성을 높이기 위해
    clsx를 활용한 스타일링 패턴 정리

구조를 선택한 이유

  • 상태가 컴포넌트 전반에 흩어지는 것을 방지하여
    상태 파편화를 최소화
  • UI 표현과 비즈니스 로직을 분리해
    유지보수성과 가독성 개선
  • 이후 기능 추가(삭제, 무한 스크롤, UX 개선 등)를 고려한
    확장 가능한 구조 설계

이 프로젝트를 통해 얻은 것

  • Next.js와 Vue.js의 공통점과 차이점, 설계방식을 체득하여
    새로운 프레임워크에서도 빠르게 구조를 이해하고 적응할 수 있게 됨
  • React / Next.js의 컨벤션을 직접 적용하고 고민하는 과정을 통해
    새로운 개발 환경에서도 부담 없이 개발을 이어갈 수 있는 자신감과
    구조를 먼저 고민하는 개발 기준
    을 수립

프로젝트 완료를 위해 남은 과제

  • UX coach mark를 통한 상태 설명 가이드 제공
  • Todo 삭제 기능 추가
  • 항목이 많아졌을 때를 고려한 Infinite Scroll 적용
  • id 생성 방식 개선 (length 기반 → 고유값 전략)
  • 모바일 중심 UI / UX 전면 개선
  • Navigation에 적용한 입체적인 UI 스타일을
    버튼, 탭, 카드 등 공통 컴포넌트 전반으로 확장

Portfolio Project

개요

포트폴리오를 만들며 고민했던 것들

사용한 기술

  • React
  • Components
  • Next.js
  • TypeScript
  • TailwindCSS

프로젝트 목적

개인 포트폴리오 사이트입니다.
단순 결과물 나열이 아닌 프로젝트 구조와 설계 의도를 전달하기 위해 설계
웹 애플리케이션입니다.

Next.js(App Router)를 기반으로
페이지 구조, 공통 레이아웃, 콘텐츠 분리 전략을 직접 설계하고 구현했습니다.

설계 포인트

  • 공통 레이아웃과 페이지 콘텐츠를 분리하기 위해
    Slot 기반 레이아웃 구조 적용
  • 프로젝트별 상세 내용을 코드와 분리하기 위해
    MDX 기반 콘텐츠 관리
  • Navigation / Section Title 등 반복 UI를
    공통 컴포넌트로 추상화
  • 상태에 따라 다른 콘텐츠를 렌더링하기 위해
    Key 기반 렌더링 매핑 구조 설계

구조를 선택한 이유

  • UI 구조와 콘텐츠를 분리해
    수정·확장 시 영향 범위를 최소화
  • 프로젝트 설명을 코드가 아닌 문서로 관리해
    가독성과 유지보수성 개선
  • 새로운 프로젝트가 추가되더라도
    기존 구조를 변경하지 않고 확장할 수 있도록 설계

이 프로젝트를 통해 얻은 것

  • Next.js App Router 환경에서
    레이아웃, 라우팅, 콘텐츠 구조를 설계하는 경험
  • 단순 구현이 아닌
    “왜 이런 구조가 필요한가”를 설명할 수 있는 기준
  • 포트폴리오 자체를
    하나의 설계된 프로젝트로 다루는 시각

프로젝트 완료를 위해 남은 과제

  • 공통 컴포넌트 디자인 일관성 강화
  • 프로젝트 카드 및 인터랙션 애니메이션 고도화

기술 나열을 원하신다면,

사용가능한 Skill 보러가기