PM Development Instinct
1주차: Next.js 기본 & 감정 일기장 디자인
Next.js 기본 개념을 학습하고, 감정 일기장의 UI 목업을 제작하여 디자인 시스템과 컴포넌트 구조를 설계해봅니다.
🎯 학습 목표
💡 개념 이해
- • Next.js 기본 개념과 장점을 이해해요
- • React 컴포넌트 구조를 파악해요
- • 파일 기반 라우팅 시스템을 이해해요
🎨 UI/UX 디자인
- • 감정 일기장 디자인 시스템을 구축해요
- • 사용자 경험 중심의 인터페이스를 설계해요
- • 모바일 우선 반응형 디자인을 적용해요
🔧 프로토타이핑
- • 정적 페이지로 목업을 구현해요
- • 감정 입력 폼 인터페이스를 설계해요
- • 일기 목록 및 상세 뷰 레이아웃을 만들어요
📖 시작하기 전에 알아야 할 기본 개념들
개발 용어들이 생소하시죠? 차근차근 설명해드릴게요! 🤗
🟦 Node.js란?
웹 브라우저 밖에서도 JavaScript를 실행할 수 있게 해주는 프로그램입니다.
📦 npm이란?
다른 개발자들이 만든 코드(패키지)를 내려받고 관리하는 도구입니다.
⚡ Next.js란?
웹사이트를 쉽고 빠르게 만들 수 있게 도와주는 React 기반 프레임워크입니다.
🔧 npx란?
npm 패키지를 설치하지 않고도 바로 실행할 수 있게 해주는 도구입니다.
⚛️ React.js란?
웹사이트의 사용자 인터페이스(UI)를 만들기 위한 JavaScript 라이브러리입니다.
📝 TypeScript란?
JavaScript에 타입 검사 기능을 추가한 언어예요. 코드 실수를 미리 찾아주죠.
🔍 ESLint란?
코드 스타일과 문법 오류를 자동으로 검사해주는 도구예요.
🤖 AI 시대에는 TypeScript와 ESLint가 필요 없어요!
⚡ AI가 실시간으로 코드를 검사해요
Cursor나 GitHub Copilot 같은 AI 도구들이 코드를 작성하는 동시에 오류를 찾아주고 수정 방법까지 제안해줘요.
🚀 빠른 프로토타이핑에 집중
PM은 아이디어를 빠르게 시각화하는 게 중요해요. 복잡한 설정보다는 기능 구현에 집중하는 게 효율적이죠!
💡 학습 곡선 최소화
JavaScript만 알면 바로 시작할 수 있어요. 추가 설정이나 복잡한 타입 정의 없이도 충분히 멋진 앱을 만들 수 있답니다.
💡 한 번에 정리하면...
Node.js를 설치하면 npm도 자동으로 함께 설치되고, npm으로 React.js와Next.js를 사용해서 멋진 웹사이트를 만들 수 있어요! AI가 있으니까 TypeScript나 ESLint 걱정은 안 해도 돼요! 🎉
🤔 React.js vs Next.js: 뭐가 다른 걸까요?
PM이 알아야 할 핵심 차이점들을 쉽게 설명해드릴게요! 📊
⚛️ React.js (라이브러리)
🎯 주요 특징
- UI 컴포넌트만 만드는 도구
- 개발자가 직접 설정할 게 많음
- 브라우저에서만 실행 (CSR)
🏠 비유: 집을 짓기 위한 기본 도구들이 담긴 도구상자
⚡ Next.js (프레임워크)
🎯 주요 특징
- React.js + 추가 기능들이 모두 포함
- 많은 것들이 미리 설정되어 있음
- 서버에서도 실행 가능 (SSR)
🏠 비유: 미리 완성된 집 설계도면과 전문 건축팀까지 포함
🚀 SSR(Server Side Rendering)이 왜 중요할까요?
💨 성능 향상
사용자가 페이지를 더 빠르게 볼 수 있어요. 서버에서 미리 HTML을 만들어서 보내주거든요.
🔍 SEO 최적화
구글 같은 검색엔진이 웹사이트 내용을 더 잘 찾을 수 있어요. 비즈니스에 매우 중요한 부분이죠!
📱 모바일 최적화
인터넷이 느린 환경에서도 빠르게 로딩돼요. 모바일 사용자 경험이 훨씬 좋아집니다.
📋 PM 관점에서 정리하면
🎯 프로젝트 목표:
빠른 프로토타입 → React.js
실제 서비스 → Next.js
⏰ 개발 속도:
Next.js가 더 빠름
(미리 설정된 기능들)
💰 비용 효율:
Next.js가 장기적으로
더 경제적
🤖 Cursor Agent 실습 가이드
AI Agent를 활용하여 Next.js 일기장 앱을 빠르게 스캐폴딩해보세요!
📋 단계별 실습 과정
- Cursor IDE를 실행해요
- Cmd + I (Mac) 또는 Ctrl + I (Windows)를 눌러 Agent Chat을 열어요
- 새 폴더를 만들거나 기존 빈 폴더에서 시작해요
다음 명령어를 복사해서 입력하세요:
- Agent가 생성한 파일들을 확인해요
- 터미널에서
npm install실행해요💡 필요한 라이브러리들을 자동으로 다운로드하는 명령어예요 npm run dev로 개발 서버를 실행해요💡 웹사이트를 미리보기할 수 있는 서버를 켜는 명령어예요- 브라우저에서
http://localhost:3000접속해요💡 내 컴퓨터에서만 볼 수 있는 웹사이트 주소예요 (포트 3000번 사용)
✨ 기대 결과
- • 완전히 동작하는 Next.js 앱 구조를 얻을 수 있어요
- • 감정 일기장의 기본 UI 컴포넌트들을 만들 수 있어요
- • 모바일 반응형 디자인을 적용할 수 있어요
- • 기본적인 라우팅 설정을 할 수 있어요
🎨 Agent와의 대화: 디자인 스타일 선택하기
Agent가 디자인 스타일을 물어보면 아래 중에서 선택해주세요!
💡 추가 질문과 답변 예시
A: "일기 작성, 감정 선택, AI 공감 메시지, 일기 목록"
A: "20-30대 직장인, 감정을 정리하고 싶은 사람들"
⚠️ 자주 발생하는 에러와 해결법
🔴 "use client" 관련 에러
🟠 패키지 설치 에러
npm install --legacy-peer-deps 또는 npm install --force 시도💡 --force: 충돌하는 의존성을 강제로 무시하고 설치해요 (주의 필요)
🟡 포트 충돌 에러
lsof -ti:3000 | xargs kill -9 실행 후 재시작💡 xargs kill -9: 찾은 프로세스를 강제로 종료해요 (-9는 강제 종료 신호)
🔵 이미지/파일 경로 에러
public 폴더에 넣고 /이미지명.jpg로 참조💡 문제 해결 팁
- • 에러 메시지를 정확히 복사해서 Agent에게 알려 주세요
- • 터미널의 전체 에러 로그를 공유하면 더 정확한 해결책을 받을 수 있어요
- • 프로젝트 폴더를 완전히 삭제하고 다시 생성하는 것도 하나의 방법이에요
🚀 실습 가이드 (따라하기)
📱 감정 일기장 UI 목업 제작
감정 일기장의 전체 사용자 경험을 설계하고, 정적 페이지로 모든 화면을 구현하여 완성도 높은 디자인 목업을 제작해요.
🎨 화면 설계
- • 메인 대시보드 화면
- • 일기 작성 폼
- • 감정 선택 인터페이스
📊 데이터 구조
- • 감정 카테고리 정의
- • 일기 데이터 모델 설계
- • 목업 데이터 생성
🎭 감정 시각화
- • 감정 아이콘 & 색상 시스템
- • 감정 트렌드 차트 목업
- • 직관적인 감정 표현
📚 제공 자료
🚀 Next.js 기본 템플릿
개인 홈페이지 제작을 위한 기본 구조가 준비된 Next.js 템플릿을 제공합니다.
- • 기본 페이지 구조 및 라우팅
- • 재사용 가능한 컴포넌트
- • 기본 스타일링 설정
- • 반응형 레이아웃 기본틀
🎨 감정 일기장 디자인 시스템
감정 일기장 전용 디자인 시스템과 UI 컴포넌트 라이브러리를 제공합니다.
- • 감정별 색상 팔레트
- • 감정 아이콘 라이브러리
- • 타이포그래피 시스템
- • 반응형 레이아웃 그리드
📊 목업 데이터 & 시나리오
실제 사용자 시나리오를 바탕으로 한 목업 데이터와 사용자 스토리를 제공합니다.
- • 샘플 일기 데이터
- • 사용자 페르소나 및 여정
- • 감정 상태 시나리오
- • 인터랙션 플로우 가이드