🛒 지니와 도로시의 라라벨 기반 도서 쇼핑몰(JinyShop) 14주 핸드온 실습

프로젝트명: 지니샵(JinyShop) — 온라인 도서 쇼핑몰 & 관리자 백오피스 풀스택 구축
교육 방식: 100% 핸드온(Hands-on) 실습 + 페르소나 대화형 스토리텔링 + 라라벨 13.x 공식 문서 100% 전수 체화
핵심 아키텍처: 듀얼 트랙(Dual-Track) — 고객용 스토어프론트(Storefront) & 운영자용 관리자 백오피스(Admin Backoffice) 동시 구축
학습 분량: 14주 총 56개 실습 강좌 (주차별 4강좌 + 종합 가이드)


💬 14주 핸드온 킥오프 개발 회의

       /\_/\                 (\(\                  /)/)
      ( o.o )               ( -.-)                ( 'x' )
       > ^ <                 o_(")(")              (")_(")
   🐱 지니 (아키텍트)     👧 도로시 (주니어 개발자)    🐶 토토 (트러블슈터)

👧 도로시: “지니! 드디어 우리가 직접 기획한 온라인 도서 쇼핑몰 ‘지니샵(JinyShop)’ 핸드온 실습을 한눈에 볼 수 있는 통합 로드맵이 완성되었어! 14주 동안 어떤 순서로 개발하게 될까?”

🐱 지니: “반갑단다, 도로시! 핸드온 실습은 기초 환경 구축부터 시작해서 실무 프로덕션 무중단 배포까지 14주에 걸쳐 빈틈없이 진행된단다. 특히 고객이 책을 검색하고 결제하는 스토어프론트(Storefront)와 운영자가 재고와 주문을 관제하는 관리자 백오피스(Admin Backoffice)를 듀얼 트랙으로 동시에 구축하면서 라라벨 13의 모든 핵심 기능을 직접 손으로 코딩하게 될 거야.”

🐶 토토: “멍멍! 왼쪽 사이드바 목차에서 원하는 주차와 강의를 바로바로 클릭해서 이동할 수 있다멍! 실습 코드 예제와 명령어, 트러블슈팅 팁도 가득 준비되어 있으니 힘차게 출발해보자멍!”


🗺️ 14주 핸드온 종합 로드맵 (Week 01 ~ Week 14)

flowchart TD
    subgraph Phase1 ["1단계: 코어 기초 & 프로젝트 킥오프 (01~04주차)"]
        W01["<b>01주차</b>: Sail/Herd 환경 구축 & 킥오프"] --> W02["<b>02주차</b>: 생명주기 & 라우팅/컨트롤러"]
        W02 --> W03["<b>03주차</b>: 블레이드 컴포넌트 & Vite/Tailwind"]
        W03 --> W04["<b>04주차</b>: DB 마이그레이션 & 1,000권 시딩"]
    end

    subgraph Phase2 ["2단계: Eloquent ORM & 보안/인증 (05~08주차)"]
        W04 --> W05["<b>05주차</b>: Eloquent 모델 & 도서 카탈로그"]
        W05 --> W06["<b>06주차</b>: 모델 관계(1:N, N:M, Morph) & N+1 해결"]
        W06 --> W07["<b>07주차</b>: 폼 유효성 검사 & 장바구니 세션"]
        W07 --> W08["<b>08주차</b>: 멀티가드 인증 & 관리자 Policy 인가"]
    end

    subgraph Phase3 ["3단계: 아키텍처 & 비동기 결제 (09~11주차)"]
        W08 --> W09["<b>09주차</b>: WebP 표지 업로드 & 백오피스 CRUD"]
        W09 --> W10["<b>10주차</b>: 서비스 컨테이너 & 커스텀 PG 파사드"]
        W10 --> W11["<b>11주차</b>: 이벤트, Redis 비동기 큐 & Horizon"]
    end

    subgraph Phase4 ["4단계: 실시간 웹, AI & 프로덕션 배포 (12~14주차)"]
        W11 --> W12["<b>12주차</b>: 아티산 CLI 입고, 스케줄러 & Reverb"]
        W12 --> W13["<b>13주차</b>: 모바일 REST API, Sanctum & AI 도서 추천"]
        W13 --> W14["<b>14주차</b>: Pest/Dusk 테스트 자동화 & Envoy 배포"]
    end

📅 주차별 핸드온 상세 목차 (총 14주 56강)


1단계: 코어 기초 & 프로젝트 킥오프 (01~04주차)

서점 데이터베이스 스키마 및 ERD 설계

💬 1단계 개발 회의: “서점의 뼈대를 세우고 1,000권의 도서를 진열하자!”

👧 도로시: “지니! 라라벨 13으로 우리만의 도서 서점 지니샵을 시작하는데, 데이터베이스 테이블과 스키마를 어떻게 잡아야 할지 고민돼!”
🐱 지니: “도서(books), 저자(authors), 출판사(publishers), 카테고리(categories) 간의 관계를 명확히 설계하고, 라라벨 마이그레이션과 시더(Seeder)를 구축하면 된단다. 1주차부터 4주차까지 따라오면 1,000권의 도서 데이터가 웹 화면에 멋지게 나타날 거야.”
🐶 토토: “멍멍! 도서 카드 컴포넌트(x-book-card)와 Vite, Tailwind CSS 번들링도 이번 단계에서 완벽히 끝낸다멍!”


01주차: 온라인 서점 프로젝트 킥오프 & 개발 환경 구축

핵심 키워드: PHP 8.2+, Composer, Laravel Sail, Slim 디렉터리, .env, Pint, Telescope, Laravel Boost
듀얼 트랙: [프론트] 웰컴 페이지 브라우징 및 폰트 세팅 | [관리자] Telescope 관제소 & 코드 린터 구축


02주차: 라라벨 생명주기와 라우팅 & 컨트롤러 아키텍처

핵심 키워드: HTTP 요청 수명주기, bootstrap/app.php, Route Group, Controller, Request, Response, Redirect
듀얼 트랙: [프론트] 도서 목록/상세 URL 라우트 | [관리자] /admin 라우트 그룹 분리 및 관리자 베이스 컨트롤러


03주차: 블레이드(Blade) 템플릿과 프론트엔드 에셋 파이프라인

핵심 키워드: Blade Components, Layouts, Slots, Directives, View Composers, Vite, Tailwind CSS
듀얼 트랙: [프론트] 서점 레이아웃 & 도서 카드 컴포넌트(x-book-card) | [관리자] 백오피스 대시보드 사이드바 & 통계 위젯


04주차: 데이터베이스 마이그레이션과 시더(Seeder), 팩토리(Factory)

핵심 키워드: Migration Schema, Blueprints, Model Factories, Faker, DatabaseSeeder, Rollback
듀얼 트랙: [프론트] 고객 노출용 도서/저자/출판사/카테고리 스키마 | [관리자] 1,000권 도서 대량 시딩 및 품절 데이터 분리


2단계: Eloquent ORM & 보안/인증 (05~08주차)

버그 발견 및 실시간 트러블슈팅

💬 2단계 개발 회의: “N+1 쿼리를 잡고, 장바구니 세션과 철통 보안을 완성하자!”

👧 도로시: “지니! 도서 카탈로그에 리뷰와 저자 정보를 함께 띄웠더니 쿼리가 수백 개나 실행되면서 속도가 너무 느려졌어!”
🐱 지니: “그게 바로 유명한 N+1 쿼리 문제란다. Eloquent의 with(['author', 'reviews']) Eager Loading을 적용하면 단 2~3개의 쿼리로 해결할 수 있어. 그리고 7~8주차에서는 세션 기반 장바구니와 일반 독자 vs 관리자를 분리하는 멀티가드 인증까지 구현할 거야.”
🐶 토토: “멍멍! 화면이 안 바뀌거나 권한 에러가 날 땐 php artisan optimize:clear와 Policy 인가 규칙을 꼭 점검하라멍!”


05주차: Eloquent ORM 기초와 상품 카탈로그 쿼리 최적화

핵심 키워드: Eloquent Models, Casts, Query Scopes, Filtering, Pagination, Soft Deletes, Slugs
듀얼 트랙: [프론트] 도서 카탈로그, 다조건 필터링, 정렬, 페이지네이션 | [관리자] 절판 도서 소프트 삭제 & 복원 관리


06주차: Eloquent 모델 관계(Relationships) 심화와 N+1 쿼리 해결

핵심 키워드: Relationships (1:N, N:M, MorphMany), Eager Loading, Lazy Eager Loading, N+1 Query, Collections
듀얼 트랙: [프론트] 도서 상세 다형성 서평(Reviews) & 저자 관련 도서 | [관리자] 서평 블라인드 검수 & N+1 성능 진단


07주차: 폼 유효성 검사, 세션 상태 관리 & 장바구니 시스템

핵심 키워드: FormRequest, Custom Rules, Validation, Session Driver, Cart Session, Precognition, MongoDB
듀얼 트랙: [프론트] 장바구니 담기/수량변경, Precognition 실시간 검증 | [관리자] 장바구니 이탈 통계 & MongoDB 감사 로그


08주차: 사용자 인증(Auth), 소셜 로그인 & 권한 인가 정책(Policy)

핵심 키워드: Authentication, Guards, Password Hashing, Verification, Gates, Policies, Socialite, Passport
듀얼 트랙: [프론트] 독자 회원가입/로그인, 소셜 로그인, 서평 수정 인가 | [관리자] 관리자 전용 Gate/Policy & Passport 제휴 API


3단계: 아키텍처 & 비동기 결제 (09~11주차)

PG사 결제 승인 완료 및 환호

💬 3단계 개발 회의: “토스 PG 결제를 뚫고, 비동기 큐로 대량 주문을 처리하자!”

👧 도로시: “지니! 고객이 실제 카드로 결제할 때 외부 PG사 API 통신이 지연되거나 실패하면 주문 데이터가 깨질까 봐 두려워!”
🐱 지니: “서비스 컨테이너에 인터페이스 기반으로 PG 결제 엔진을 바인딩하고, DB 트랜잭션을 걸어두면 단 1원의 오차도 없이 안전하게 롤백된단다. 그리고 영수증 메일 발송과 재고 차감은 Redis 비동기 큐(Queue)로 빼서 손님에게 즉각적인 응답을 주는 거야.”
🐶 토토: “멍멍! 큐 작업 현황은 Laravel Horizon 대시보드에서 실시간 그래프로 한눈에 볼 수 있다멍!”


09주차: 파일 스토리지, 이미지 처리 & 관리자 백오피스 구축

핵심 키워드: Flysystem, Local/S3 Storage, Image Resizing, WebP, Admin Dashboard, Monolog, Rate Limiting
듀얼 트랙: [프론트] WebP 고화질 도서 표지 서빙, 친근한 404 페이지 | [관리자] 백오피스 대시보드 CRUD 폼 & Rate Limiting


10주차: 라라벨 심화 아키텍처 — 컨테이너, 프로바이더 & 결제 파사드

핵심 키워드: Service Container, Dependency Injection, Service Providers, Custom Facades, Payment Gateway
듀얼 트랙: [프론트] 주문서 작성 및 토스/스트라이프 PG 결제 화면 | [관리자] 결제 대행사 동적 스위칭 프로바이더 & Context 로깅


11주차: 비동기 큐(Queue), 이벤트/리스너, 알림 & 정기 결제

핵심 키워드: Events, Listeners, Redis Queues, Horizon, Markdown Mail, In-App Notifications, Cashier/Paddle
듀얼 트랙: [프론트] 마크다운 구매 영수증 메일 수신, 북클럽 정기 구독 | [관리자] 고액 주문 Slack 웹훅 경보, Horizon 큐 관제


4단계: 실시간 웹, AI & 프로덕션 배포 (12~14주차)

지니샵 온라인 서점 오픈 및 런칭 축하

💬 4단계 개발 회의: “웹소켓 실시간 알림과 AI 도서 요약, 그리고 감격의 상용 배포!”

👧 도로시: “지니! 드디어 마지막 단계야! 관리자가 실시간으로 새 주문을 브라우저 새로고침 없이 보고, 독자들에게 AI 기반 도서 추천을 제공하고 싶어!”
🐱 지니: “라라벨 Reverb를 통해 실시간 웹소켓 토스트를 띄우고, Laravel AI SDK와 MCP로 스마트 도서 요약 에이전트를 연동할 거란다. 그리고 Pest/Dusk 브라우저 테스트로 결제 플로우를 완벽 검증한 뒤 Envoy로 무중단 상용 배포를 이뤄내는 거야!”
🐶 토토: “멍멍! 도서 쇼핑몰 지니샵 런칭 성공이다멍! 우리 모두 축하의 파티를 열자멍!”


12주차: 아티산 CLI 도구, 작업 스케줄링 & 실시간 웹소켓 알림

핵심 키워드: Artisan Console, Laravel Prompts, Task Scheduling, Redis Cache, Concurrency, Reverb, Localization
듀얼 트랙: [프론트] 다국어(한국어/영어), 통화 표기 스위처, 캐시 서빙 | [관리자] 대화형 재고 입고 CLI, 미결제 자동 취소 크론, Reverb 소켓


13주차: 모바일 연동 RESTful API, Sanctum 토큰 인증, 전문 검색 & AI 도서 요약

핵심 키워드: RESTful API, API Resources, Sanctum Tokens, Laravel Scout, Folio, Laravel AI SDK, MCP
듀얼 트랙: [프론트] 모바일 앱 연동 API, 10ms Scout 전문 검색, 기획전 | [관리자] AI SDK 마케팅 카피 자동 생성, MCP 에이전트 도구


14주차: 도서 구매 플로우 테스트 자동화, 브라우저 E2E, 모니터링 & 프로덕션 배포

핵심 키워드: Pest, PHPUnit, Mocking, Dusk Browser E2E, Laravel Pulse, Laravel Octane, Envoy Deployment
듀얼 트랙: [프론트] 고객 구매 플로우 Feature 테스트 & Dusk E2E 테스트 | [관리자] Pulse APM 모니터링, Octane 초고속 서빙 & 무중단 Envoy 배포

서브목차