콘텐츠로 이동
🗂 목차✍️ 수정가능이 영역의 지도입니다. 아래 목록에서 원하는 문서로 들어가세요. 누구나 고쳐도 됩니다. 고치면 하단 frontmatter의 갱신일·작성자·변경요약을 남겨 주세요.작성 Claude · 2026-06-05 · 온보딩을 index로 병합(클릭 시 온보딩) · my-work 제거 · 심화문서 순서 정리

개발 (hub-eng)

개발 직무의 입구이자 첫날 온보딩 가이드. 이 페이지 하나로 역할(R&R)·로컬 셋업·읽는 순서·심화 문서를 잡는다. 에이전트에게는 "개발자처럼 사고"하기 위한 컨텍스트 묶음이다.

사고방식 한 줄: 소스코드가 SSOT이고 DB는 유연성 레이어다. 명령형과 조회형 아키텍처를 분리하고, N+1을 구조로 차단하며, 새 클래스보다 ENUM 한 줄을 택한다 — 컨벤션 목록보다 "왜 그렇게 정했는가"를 먼저 잡는다(engineering-principles).

시크릿(AWS 키·DB 비번·서버 IP·키 파일)은 여기 안 적는다 — 실제 값은 raw·Google Drive에만 두고, 이 페이지는 절차의 모양만 짚는다.

R&R (역할 · 책임)

역할 책임
백엔드 (BE) Spring Boot API · DB 스키마 · Flyway · 인프라(온프레/AWS).
프론트엔드 (FE) Next.js 화면 · 상태관리(Zustand) · 드로잉 · BFF.
공통 기능 단위(FDD) 정의→설계→구현→검증, 인수기준 충족 시 Close. QA 겸임.

영역별 오너 매핑은 owner-registry. 기능 이슈는 해당 기능 담당자로 라우팅한다.

첫날 셋업 (로컬 환경)

백엔드 (IntelliJ). AWS Toolkit 플러그인 설치 → IAM Credentials에 Dev-back 액세스 키 입력(값은 raw) → 스프링 프로필을 local로 실행. DB 접속은 SSH 터널을 거친다(DBeaver/DataGrip 등) — DB dedu(온프레 Dev, 구 AWS RDS는 the_edu), User admin, TZ Asia/Seoul, SSH User ubuntu+공개키(호스트·키 파일은 raw).

프론트엔드. 환경변수·로컬 HTTPS(Caddy 프록시)는 raw 가이드 참조. 프론트는 SEO 자연유입이 핵심이라 Next.js를 도입했고(수업노트·Q&A를 검색 노출), 입문자는 다음 3축이면 흐름의 90%가 잡힌다(코드 디테일은 frontend-architecture):

  • 렌더링(CSR/SSR/SSG) — Next는 CSR 기반 위에 SSR/SSG를 얹는다. SEO 의미 있는 페이지만 SSR로 HTML을 완성해 전달하고, 나머지는 CSR로 UX를 살린다. 물리 구조: 브라우저 ↔ 웹서버 ↔ Next 서버 ↔ 백엔드 WAS.
  • 상태/캐싱 — 서버 상태는 React Query(브라우저 QueryClient 캐시, queryKey 식별·invalidateQueries로 무효화→리페칭), 복잡한 클라 상태는 Zustand/useReducer.
  • BFFshared/api/http.transport.ts의 axios 4클라이언트(privateHttp·publicHttp·clientToBffHttp·serverToBffHttp)가 환경별 쿠키/CORS를 흡수한다. 로컬은 origin이 localhost라 SameSite 쿠키가 안 실려 /api/v1 BFF 라우트로 도메인을 위장한다(운영/dev는 서브도메인 same-site라 무관).

확인: 백엔드 Swagger(dev) …/swagger-ui/index.html · 프론트(dev) https://dev.d-edu.site/.

여기서 시작하라 (첫날 순서)

  1. R&R·첫날 셋업으로 환경을 세운다.
  2. 자기 영역 진입점을 연다 — 백엔드 mvp-back:CLAUDE.md · 프론트 mvp-front:CLAUDE.md (코드 작업 시 매번 먼저 읽는 규칙 파일).
  3. engineering-principles로 "왜 이렇게 짜는가"를 잡고 → backend-architecture·frontend-architecture에서 실제 구조를 본다.
  4. infra에서 "어디서 뭐가 도나"(서버 토폴로지·CI/CD)를 훑는다.
  5. 첫 도메인 컨텍스트는 회원 도메인 (Member) §7(역할별 접근 권한 = 권한의 단일 기준)부터.

작업 흐름은 GitHub Flow — 브랜치를 따 PR·리뷰·머지하고, 머지가 곧 배포 트리거가 된다(version-control). 스택은 백엔드 Spring Boot 3.4.4 / Java 21 / MySQL, 프론트 Next.js 15 / React 19 / TanStack Query, 인프라는 온프레(Dev)+AWS(Prod) 하이브리드(ADR-0017)다. develop 머지로 Dev, main 머지로 Prod에 배포되고, DB·Redis는 CI/CD가 아니라 수동 compose로 운영한다(온프레 인시던트 교훈 → incidents).

여기 있는 것 (심화 문서)

노드 무엇
engineering-principles 엔지니어링 원칙 & 트레이드오프
tech-decisions 기술 의사결정 (ADR · 빌드 vs 바이)
ai-collab-apply AI 협업 적용 (Claude Code 하네스)
infra 시스템·인프라 아키텍처 — 전체 지도 + 서버·CI/CD·시크릿·DB·관측성
backend-architecture 백엔드 코드 아키텍처 — 헥사고날·JPA 조회·예외·JWT·미디어
frontend-architecture 프론트엔드 코드 아키텍처 — FSD·라우팅·IA/URL
version-control 버전 관리·릴리즈 — 브랜치·PR·테스트·배포·릴리즈노트
incidents 인시던트 아카이브

도메인 모델 6종 — 권한의 단일 기준은 회원 도메인 (Member) §7, 나머지는 그 축을 따른다: 회원 도메인 (Member) · 스터디룸 도메인 (StudyRoom) · 수업노트 도메인 (TeachingNote) · 과제 도메인 (Homework) · 질문답변 도메인 (QnA) · 챌린지 도메인 (Challenge).

관련

페르소나 · 프로덕트 — 라인 × 기능 · tools-accounts · QA 플레이북 · ai-collaboration · methodology-literacy · glossary · owner-registry