구현은 환경 설정에서 배포 검증까지 한 방향으로 쌓는다
온라인 북스토어는 기능을 무작정 붙이는 프로젝트가 아니라, 데이터 계약을 먼저 세우고 화면과 서버 동작을 그 위에 올리는 연습이다.
| 순서 | 구현 단위 | 완료 신호 | 다음 단계로 넘기는 산출물 |
|---|---|---|---|
| 1 | Next.js 프로젝트 생성, Tailwind, 기본 UI | 로컬 앱 실행 | app/, components/, lib/ 기본 구조 |
| 2 | Auth.js, auth(), /login 경계 | 미로그인 사용자가 로그인으로 이동 | 문자열 session userId |
| 3 | MongoDB 연결, Mongoose 모델, seed | .env.local을 읽어 도서와 book-placeholder 삽입 | Book, CartItem, Order 모델 |
| 4 | 도서 목록, 상세, 검색, URL query | 목록·상세 이동과 검색어 유지 | BookCard, SearchInput |
| 5 | 장바구니·주문 Server Action, CartItemDto | 예상 실패가 직렬화 결과로 UI에 표시됨 | CartActionResult와 문자열 ID DTO |
| 6 | env, OAuth callback, build, Vercel 배포 | 배포 URL에서 로그인부터 주문까지 통과 | DB·Auth.js 운영 변수와 검증 로그 |