Next.js로 TaskFlow 만들기: 38편 학습 과정 미리보기

··설명 약 10분·작성: 해비·블로그 소개

이 글은 TaskFlow 학습 과정 안내입니다. 필요한 주제를 골라 읽거나, 각 회차의 선택 실습에서 프로젝트를 이어 만들 수 있습니다.

React 작업 관리 앱을 Next.js 서비스로 확장할 때 무엇부터 배우나요?

이 과정은 React에서 만든 작업 관리 화면을 Next.js 서비스 구조로 확장합니다. 폴더와 URL 연결부터 서버·브라우저 역할, API, 로그인, 캐시, SEO 순서로 살펴봅니다.

적용 조건·범위: 이 글의 답: 새 프로젝트를 시작하는 경우와 이미 발생한 오류를 해결하는 경우에 첫 글이 다릅니다. 아래 상황 하나를 골라 해당 글의 최소 예제나 확인 절차부터 보세요. TaskFlow 누적 실습은 나중에 이어 갈 수 있습니다.

공식 문서 참고: Next.js: App Router의 페이지·레이아웃·동적 경로 · Next.js: Server·Client Component의 실행 역할 · TanStack Query: 서버 상태의 조회·캐시·동기화

이 과정에서 무엇을 만드나요?

최종 결과물은 Next.js App Router 기반 TaskFlow 학습 프로젝트입니다. 저장소는 단일 Node 프로세스 메모리이며 서버 재시작 시 초기화됩니다. Auth.js 로컬 학습 계정을 사용하고 실제 서비스 운영에는 DB와 운영 인증 정책을 추가해야 합니다.

React 과정에서 익힌 작업 모델을 새 App Router 프로젝트에 옮겨 다음 기능을 연결합니다. React ZIP의 UI와 라이브러리를 모두 그대로 복사하지는 않습니다.

URL 라우팅

/tasks
/tasks/[id]
/settings
/login

↓

App Router 심화

Route Group
Private Folder
Parallel Routes
Intercepting Routes
modal routing

↓

서버 기능

Server Component
Route Handler
Server Action
Streaming

↓

실제 개발 흐름

MSW Mock API
Axios
Auth.js
Proxy 접근 제어

↓

서버 상태

fetch cache
TanStack Query SSR
HydrationBoundary

↓

서비스 운영

환경변수
Metadata
Image
redirects
SEO
Cache
Performance
Security

React TaskFlow에서 무엇이 달라지나요?

React 과정 완료 상태

TaskFlow React SPA

/tasks
/tasks/:id
/settings

클라이언트 컴포넌트 중심
브라우저 state
React Router
React Hook Form
shadcn/ui

이 상태에서도 충분히 SPA를 만들 수 있습니다.

하지만 실제 서비스로 확장하려면 새로운 문제가 생깁니다.

첫 HTML을 서버에서 만들고 싶다

↓

서버에서 DB/API를 읽고 싶다

↓

브라우저에 보내면 안 되는 값을 숨기고 싶다

↓

로그인 사용자를 구분하고 싶다

↓

URL에 따라 서버 데이터를 다르게 가져오고 싶다

↓

공개 페이지의 검색엔진과 SNS 공유 정보를 만들고 싶다

↓

데이터와 route를 캐시하고 싶다

이 문제를 Next.js 과정에서 하나씩 해결합니다.

완성된 TaskFlow 미리보기

작업 목록

/tasks

Server Component가 작업 데이터를 준비하고 필요한 부분만 Client Component로 분리합니다.

작업 상세

/tasks/task-1

동적 route와 async params를 사용합니다.

목록에서 상세 클릭

현재 화면
/tasks

작업 클릭

↓

주소
/tasks/task-1

화면
목록 + 상세 modal

Parallel Routes와 Intercepting Routes를 이용합니다.

직접 /tasks/task-1로 접근하면 전체 상세 페이지가 열립니다.

로그인

/login
↓
Auth.js
↓
session
↓
/tasks 접근

로그인 여부와 작업 수정 권한을 분리해서 처리합니다.

API

GET /api/tasks
POST /api/tasks

Route Handler로 서버 endpoint를 만듭니다.

백엔드가 아직 준비되지 않은 상황에서는 MSW로 Mock API를 만들어 프론트 개발을 계속합니다.

작업 추가

TaskForm
↓
Server Action
↓
서버 검증
↓
저장
↓
revalidate

브라우저 검증과 서버 검증의 역할을 나눕니다.

서버 상태

Server prefetch
↓
dehydrate
↓
HydrationBoundary
↓
Client useQuery

TanStack Query를 Next.js와 연결합니다.

TanStack Query 자체 문법은 별도 전문 과정에서 더 깊게 학습합니다.

TaskFlow는 이렇게 발전합니다

1단계 · App Router 기본

create-next-app
↓
page.tsx
↓
layout.tsx
↓
Server / Client Component
↓
.next

Next.js 프로젝트의 가장 기본적인 실행 구조를 배웁니다.

2단계 · App Router를 제대로 활용

Route Group
↓
Private Folder
↓
template.tsx
↓
Parallel Routes
↓
default.tsx
↓
Intercepting Routes

폴더 구조 자체로 복잡한 UI 라우팅을 구성합니다.

3단계 · 동적 페이지와 상태 UI

[id]
↓
async params
↓
loading.tsx
↓
error.tsx
↓
not-found.tsx
↓
hydration 오류 해결

실제 서비스에서 자주 만나는 route 상태를 처리합니다.

4단계 · 서버 데이터

Server Component data fetch
↓
Suspense / Streaming
↓
MSW
↓
Axios
↓
Route Handler
↓
Server Actions

서버와 브라우저가 데이터를 주고받는 전체 흐름을 만듭니다.

5단계 · 로그인과 권한

Auth.js
↓
session
↓
login / logout
↓
Proxy
↓
서버 최종 권한 검증

로그인 여부와 데이터 소유권을 구분합니다.

6단계 · 서버 상태와 캐시

searchParams
↓
fetch cache
↓
TanStack Query
↓
SSR / Hydration
↓
cookies / headers
↓
환경변수

서버 데이터와 브라우저 캐시가 만나는 지점을 학습합니다.

7단계 · 서비스 공개 준비

Metadata
↓
Image
↓
redirects
↓
Cache 4계층
↓
SEO
↓
Performance
↓
Proxy migration
↓
Security

기능 구현 이후 운영 단계에서 필요한 기준까지 다룹니다.

Next.js 과정에서 특히 재미있는 부분

URL은 바뀌는데 화면은 modal

/tasks
↓
작업 클릭
↓
/tasks/task-1

화면:
목록 위에 modal

X.com 같은 서비스에서 볼 수 있는 라우팅 패턴을 App Router로 직접 구성합니다.

백엔드가 없어도 먼저 개발

API 명세
↓
MSW
↓
Mock GET / POST
↓
프론트 개발
↓
실제 API 전환

실무에서 자주 생기는 “백엔드 API가 아직 없음” 상황을 학습 과정에 포함합니다.

서버와 브라우저의 역할을 직접 나눔

Server Component
데이터 준비

Client Component
사용자 상호작용

Route Handler
HTTP API

Server Action
서버 mutation

모든 코드를 use client로 만드는 대신 각 코드가 실행될 위치를 의식하게 됩니다.

두 가지 방식으로 공부할 수 있습니다

방법 1 · 필요한 Next.js 주제만 공부

예를 들어 다음 문제가 궁금하다면 해당 글만 바로 볼 수 있습니다.

window is not defined
hydration failed
params should be awaited
Route Handler 405
metadata 오류
Image remotePatterns
fetch cache

해당 오류 글에서 먼저 증상과 해결 절차를 확인하세요. 누적 프로젝트 절은 해당 과정을 이어 갈 때 활용하세요.

TaskFlow 전체 과정을 몰라도 됩니다.

방법 2 · 1편부터 실제 서비스를 완성

처음부터 공부한다면 각 글 하단의 TaskFlow를 이어서 수정합니다.

next-step-01-first-run
↓
next-step-02-app-router-base
↓
...
↓
next-step-17-route-handler
↓
...
↓
next-step-30-cache-layers
↓
...
↓
next-step-38-cache-update

마지막에는 하나의 Next.js 서비스 구조가 완성됩니다.

지금 어디서 시작하면 되나요? 3분 경로 선택

이 글의 답: 새 프로젝트를 시작하는 경우와 이미 발생한 오류를 해결하는 경우에 첫 글이 다릅니다. 아래 상황 하나를 골라 해당 글의 최소 예제나 확인 절차부터 보세요. TaskFlow 누적 실습은 나중에 이어 갈 수 있습니다.

  • App Router 프로젝트를 처음 만든다 → 1편 Next.js 학습 순서. 목표: 첫 실행 후 app 디렉터리의 페이지 흐름을 설명한다.
  • 서버에서 읽을 코드와 클릭에 반응할 코드를 나누기 어렵다 → Server/Client Component 경계. 목표: 브라우저 이벤트가 필요한 컴포넌트를 구별한다.
  • hydration failed 오류가 뜬다 → hydration 오류 해결. 목표: 서버가 보낸 초기 HTML과 브라우저 첫 렌더의 차이를 찾는다.
  • 데이터를 바꿨는데 예전 화면이 보인다 → fetch 캐시와 재검증. 목표: 요청 경로와 캐시 정책을 확인해 오래된 데이터의 위치를 좁힌다.

스스로 확인: “버튼의 onClick이 필요한 화면”과 “새로고침 직후 HTML이 달라 hydration 경고가 나는 화면”은 어디서 시작할까요? 각각 Server/Client Component 경계 글, hydration 오류 글입니다. 증상을 구분한 뒤 첫 예제를 따라 해 보세요.

이 과정을 추천하는 사람

  • React를 공부했고 다음 단계로 Next.js를 배우려는 사람
  • App Router를 폴더 라우팅 정도로만 알고 있는 사람
  • Server Component와 Client Component 구분이 어려운 사람
  • Next.js에서 인증·캐시·SEO까지 연결해 보고 싶은 사람
  • Parallel/Intercepting Routes를 실제 프로젝트에서 써 보고 싶은 사람
  • 프론트엔드 프로젝트를 배포 가능한 서비스 구조까지 확장하고 싶은 사람

필요한 선수 지식

React TaskFlow 과정을 먼저 학습하는 것을 권장합니다.

최소한 다음 내용은 알고 있어야 합니다.

  • React 컴포넌트
  • props / state
  • 이벤트
  • Client-side form
  • async / await
  • TypeScript 기본
  • React Router를 통한 URL 개념

Next.js를 미리 알고 있을 필요는 없습니다.

React와 Next.js 과정은 하나의 프로젝트로 이어집니다

React 0~32편

TaskFlow SPA 완성

↓

Next.js 0~38편

TaskFlow 서비스 확장

↓

상태관리 전문 과정

Zustand
TanStack Query

↓

DB / 인증

Firebase
Supabase

↓

운영

배포·서버

BlogFlow의 각 과정이 별개 예제를 반복하는 것이 아니라 하나의 프로젝트를 다른 기술로 확장하도록 설계합니다.

이 과정의 목표

Next.js API 이름을 많이 외우는 것이 목표가 아닙니다.

마지막에는 다음 질문에 답할 수 있어야 합니다.

  • 이 코드는 서버와 브라우저 중 어디에서 실행해야 할까?
  • 이 페이지는 Server Component여야 할까?
  • use client는 어디까지 내려야 할까?
  • API endpoint와 Server Action은 언제 나눌까?
  • 서버 데이터는 어떻게 갱신해야 할까?
  • Next.js cache와 TanStack Query cache는 무엇이 다를까?
  • 로그인 확인과 권한 검증은 어디에서 해야 할까?
  • 검색엔진이 받는 초기 HTML은 어떤 상태일까?
  • 버전 업데이트 후 무엇을 다시 검증해야 할까?

이제 시작합니다

정규 학습은 1편부터 시작합니다.

다음 글:
Next.js App Router 학습 순서와 TaskFlow Next.js 시작

0편
완성 결과 미리보기

↓

1편
Next.js 서비스 개발 시작

실행 범위

정규 38개 ZIP은 독립 실행할 수 있습니다. 19편부터 로컬 인증 설정이 필요하며 20편부터 개인 작업은 로그인해야 접근할 수 있습니다. 22편의 캐시 실험은 별도 공개 통계 API를 실행합니다. 개인 작업은 noindex로 유지하고 공개 홈에서 SEO를 확인합니다.

전체 학습 순서

  1. Next.js App Router 학습 순서와 TaskFlow Next.js 시작
  2. Next.js App Router 첫 프로젝트 만들기
  3. Next.js package.json scripts dependencies 이해
  4. Next.js Server Component와 Client Component 구분
  5. Next.js next 폴더와 빌드 산출물 이해
  6. Next.js Route Group Private Folder template tsx
  7. Next.js Parallel Routes default tsx
  8. Next.js Intercepting Routes 모달 라우팅
  9. Next.js 동적 라우트 slug params catch-all
  10. Next.js params should be awaited 오류 해결
  11. Next.js loading error not-found 라우트 상태 처리
  12. Next.js window is not defined 오류 해결
  13. Next.js hydration failed 오류 해결
  14. Next.js Server Component 데이터 조회와 Streaming
  15. Next.js MSW 2 Mock API 만들기
  16. Axios 설치와 Next.js API 요청 구조
  17. Next.js Route Handler 405 오류 해결
  18. Next.js Server Actions React Hook Form 검증
  19. Next.js Auth.js 로그인 세션 로그아웃
  20. Next.js 인증 페이지와 Proxy 접근 제어
  21. Next.js useSearchParams Suspense 오류 해결
  22. Next.js fetch 캐시와 재검증
  23. Next.js TanStack Query SSR HydrationBoundary
  24. Next.js cookies headers Dynamic server usage 오류 해결
  25. Next.js 환경변수 env local 적용 오류 해결
  26. Next.js Metadata API와 generateMetadata
  27. Next.js metadata 적용 오류 해결
  28. Next.js Image remotePatterns 오류 해결
  29. Next.js redirects 설정과 URL 이동 처리
  30. Next.js 캐시 구조 Request Data Full Route Router Cache
  31. Next.js SEO 체크리스트 metadata 초기 HTML OG
  32. Next.js SEO 종합 가이드 App Router부터 배포 확인
  33. Next.js 성능 최적화 체크리스트 번들 이미지 캐시
  34. Next.js 렌더링 성능 최적화 기준
  35. Next.js Proxy 마이그레이션 matcher Node.js Runtime
  36. Next.js 보안 패치 영향 범위 점검
  37. Next.js SEO SSR 초기 HTML 검색 노출 구조
  38. Next.js 캐시 API 변화 useCache deprecation 대응
글 소개·학습 준비·전체 목차
Next.js로 TaskFlow 만들기: 38편 학습 과정 미리보기 학습 표지

Next.js · 0/38 · TaskFlow 누적 실습

Next.js로 TaskFlow 만들기: 38편 학습 과정 미리보기

Next.js 0편 · 과정 오리엔테이션 · TaskFlow 서비스 미리보기

React 과정에서 만든 TaskFlow는 브라우저 안에서 동작하는 SPA입니다.

이제 이 프로젝트를 실제 서비스 구조로 확장합니다.

단순히 Next.js 문법을 하나씩 외우는 과정이 아닙니다.

React TaskFlow SPA

↓

Next.js TaskFlow 서비스

라우팅
Server Component
Client Component
고급 App Router
API
인증
서버 데이터
캐시
SEO
성능
보안

38편을 지나면 React에서 만든 TaskFlow가 서버와 브라우저 역할이 분리된 Next.js 서비스 구조로 바뀝니다.

이 글은 정규 회차에 포함하지 않는 0편입니다.

0편
과정 소개 · 완성 결과 미리보기

1~38편
실제 Next.js 학습 + TaskFlow 서비스 확장

이 글이 도움이 되었나요?

조회 중

읽음 기록

읽음 — / 전체 39개 · 필수 38개

이 글을 쓴 해비

웹사이트를 제작·운영하고, 개인 서비스와 자동화·AI 도구를 만듭니다. 직접 만들며 배운 내용과 문제 해결 과정을 BlogFlow에 기록합니다.

새 글 받아보기

RSS 리더에서 BlogFlow의 새 글을 확인할 수 있습니다.

RSS 피드 구독하기

댓글 남기기