Skip to content

chore: MVP 웹·API 기능 통합 - #99

Merged
ehlung merged 88 commits into
mainfrom
develop
Jun 29, 2026
Merged

chore: MVP 웹·API 기능 통합#99
ehlung merged 88 commits into
mainfrom
develop

Conversation

@ehlung

@ehlung ehlung commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

개요

MVP 구현 기간 동안 develop에 누적된 웹, API, DB, 문서, CI 변경사항을 main에 반영합니다.


변경 사항

  • 웹 관리자 화면 구현 및 인증/조직/근무자/가능 시간/최소 인원 조건/스케줄 관리 기능 연결
  • Express 기반 API 전환 및 인증, 조직, 근무자, 가능 시간, 스케줄 추천 관련 API 구현
  • Prisma schema, migration, seed 데이터 및 shared schema 정리
  • 모바일 앱 제거, CI/Prettier/테스트 인프라 및 프로젝트 문서 정리

변경 유형

  • feat — 새로운 기능
  • fix — 버그 수정
  • refactor — 리팩터링 (기능 변경 없음)
  • test — 테스트 코드
  • docs — 문서 수정
  • chore — 빌드·설정 변경

영향 범위

  • webapps/web
  • apiapps/api
  • dbpackages/database
  • sharedpackages/shared
  • repo — 루트 설정·CI/CD·문서

테스트 방법

  1. CI 통과 확인
  2. 로컬에서 회원가입/로그인, 조직 설정, 근무자 관리, 가능 시간 입력, 최소 인원 조건, 스케줄 추천 화면 확인

체크리스트

  • CI (테스트 + 린트) 통과 확인
  • 관련 테스트 코드 작성 또는 업데이트
  • 상태 분류 규칙(서버/전역/로컬/폼 상태) 준수
  • 에러 처리 및 Fallback UI 확인 (해당 시)
  • API 명세 업데이트 (API 변경 시)
  • 공유 타입·스키마(packages/shared) 업데이트 (타입 변경 시)

리뷰 포인트

  • develop에 누적된 MVP 전체 변경사항을 main에 반영하는 PR입니다.
  • 기능 단위 세부 리뷰보다는 main 반영 전 CI, migration, 주요 사용자 흐름 확인을 중심으로 봐주세요.

ehlung and others added 30 commits June 7, 2026 00:45
- PRD에서 기술 명세(상태 전이, 시스템 흐름, 템플릿 상세) 제거 → SPEC 또는 참조 링크로 대체
- SPEC에 통합 시스템 흐름 섹션 추가 (PRD에서 이동)
- TEST_PLAN.md 신규 생성 (검증 계획·기술 구현 리스크 분리)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
docs(repo): PRD·SPEC 구조 정비 및 TEST_PLAN.md 분리
- .github/workflows/ci.yml 추가
- PR → develop, main 트리거 시 자동 실행
- 각 패키지 type check (tsc) + mobile lint (expo lint)
- apps/web, apps/api에 typecheck 스크립트 추가
- 테스트 step은 플레이스홀더로 추가 (테스트 코드 작성 후 활성화)

Closes #3

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
pnpm/action-setup@v4는 package.json의 packageManager 필드를 자동으로
읽으므로 version 명시 제거. 중복 지정 시 ERR_PNPM_BAD_PM_VERSION 발생.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
주석만 있는 파일은 TypeScript가 모듈로 인식하지 못해 TS2306 에러 발생.
export {}로 빈 모듈 선언.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
chore(repo): GitHub Actions CI 파이프라인 구성
마일스톤(FR) 단위 배포 전략, develop 상태 유지 원칙, 버전 태그 규칙 문서화.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
.mcp.json으로 GitHub MCP server를 프로젝트 레벨에서 공유 설정하고,
.env.example에 GITHUB_PERSONAL_ACCESS_TOKEN 항목을 문서화합니다.

Closes #5
docs(repo): develop → main 머지 기준 문서화
- PR 트리거: develop, main 브랜치 대상
- web/api ESLint 9 flat config 추가 및 lint 스크립트 등록
- Next.js 15에서 next lint 제거로 eslint src/ 직접 실행
- ci.yml에 Lint web/api 스텝 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- packages/shared 빈 파일에 export {} 추가 — TypeScript 모듈 인식 오류 해결
- actions/checkout, setup-node, pnpm/action-setup v4 → v6 업그레이드

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…s-ci

chore(repo): GitHub Actions CI 파이프라인 구성
chore(repo): GitHub MCP 서버 설정 추가
- 리뷰 언어 ko-KR, 프로필 assertive 설정
- apps/api, apps/web, apps/mobile, packages/database, packages/shared
  경로별 CLAUDE.md 컨벤션 기반 리뷰 기준 작성
- 미사용 언어 도구(Ruby, PHP, Go, Rust 등) 비활성화
- knowledge_base에 CLAUDE.md 파일 패턴 등록

Closes #4
database build 전 prisma generate를 실행하지 않아
@prisma/client 타입을 찾지 못하는 문제 수정.
캐시 히트 여부에 따라 성공/실패가 갈리는 불안정한 상태를 해결한다.
fix(repo): CI에 prisma generate 단계 추가
chore(repo): CodeRabbitAI 설정 파일 추가
- PRD Phase 2에 다중 기기 Expo 푸시 토큰 지원 항목 추가
- SPEC FR-1.2 근로자 계정에 제약 조건 섹션 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
feat(web): 관리자 초기 화면 UI 구현
ehlung and others added 22 commits June 22, 2026 22:05
* feat(web): Fragment auth 브랜딩 적용

* refactor(web): 스케줄 달력 상태 표시 정리

* fix(web): 모바일 관리자 레이아웃 보완
* feat(api): 공통 guard 유틸 추가

* feat(api): 인증 조직 guard 구현

* refactor(api): 미들웨어 에러 헬퍼 공통화

* fix(api): 익일 종료 시간 범위 허용

* fix(api): API ID 정규화 통일

* fix(api): 시간 범위 메시지 한글화

* fix(api): ID 변환 메시지 한글화

* refactor(api): 에러 코드 상수 위치 정리

* refactor(api): shared 에러 코드 스키마 재사용
* feat(api): 초기 Prisma 마이그레이션 추가

* feat(api): 인증 기본 흐름 구현

* fix(api): 코드 리뷰 반영

* refactor(api): HttpError 에러 코드 타입 정리

* refactor(api): 미들웨어 에러를 HttpError로 통일

* docs(api): OpenAPI 에러 코드 enum 보완

* fix(api): refresh token 세션 갱신 정리

* refactor(api): auth me 인증 미들웨어 적용

* feat(api): refresh token 세션 갱신 추가

* refactor(api): API 라우트 prefix 정리

* fix(api): refresh token rotation 원자성 보장

* fix(api): 쿠키 기반 auth 요청 origin 검증 추가

* fix(api): origin 검증 기준 정규화

* fix(api): auth 리뷰 보완 사항 반영

---------

Co-authored-by: Yeryeong Kang <dpfud8786@gmail.com>
* chore(api): alias와 dev env 실행 설정

* refactor(api): 내부 import 경로 alias 적용
* feat(web): Auth API client 구성

* fix(web): API client 에러 처리 보완

* fix(web): 204 응답 처리 타입 분리

* style(web): auth me 요청 메서드 명시

* fix(web): JSON 응답 계약 검증 추가

---------

Co-authored-by: Kang Yeryeong <dpfud8786@gmail.com>
* feat(web): Auth API client 구성

* fix(web): API client 에러 처리 보완

* fix(web): 204 응답 처리 타입 분리

* style(web): auth me 요청 메서드 명시

* fix(web): JSON 응답 계약 검증 추가

* feat(web): 회원가입 로그인 API 연동

* fix(web): auth 폼 접근성 리뷰 반영

---------

Co-authored-by: Kang Yeryeong <dpfud8786@gmail.com>
* feat(web): Auth API client 구성

* fix(web): API client 에러 처리 보완

* fix(web): 204 응답 처리 타입 분리

* style(web): auth me 요청 메서드 명시

* fix(web): JSON 응답 계약 검증 추가

* feat(web): 회원가입 로그인 API 연동

* feat(web): 인증 상태 및 내 정보 조회 연결

* fix(web): auth 폼 접근성 리뷰 반영

---------

Co-authored-by: Kang Yeryeong <dpfud8786@gmail.com>
* feat(api): 조직 생성 조회 수정 서비스 구현

* feat(api): 조직 API 라우트와 핸들러 추가

* refactor(api): 인증 사용자 확인 의도 주석 추가

* fix(api): 영업시간 입력 검증 보강

* fix(api): 조직 중복 생성 경합 처리

* refactor(api): 요일 순서 상수 중복 제거

* fix(shared): 조직 입력 스키마 검증 강화
* feat(web): Auth API client 구성

* fix(web): API client 에러 처리 보완

* fix(web): 204 응답 처리 타입 분리

* style(web): auth me 요청 메서드 명시

* fix(web): JSON 응답 계약 검증 추가

* feat(web): 회원가입 로그인 API 연동

* feat(web): 인증 상태 및 내 정보 조회 연결

* fix(web): auth 폼 접근성 리뷰 반영

* fix(web): Pretendard 로컬 폰트 적용

* feat(web): 인증 refresh 및 라우트 보호 연결

* fix(web): 인증 refresh 리뷰 반영

* fix(web): bundle Pretendard font asset

* fix(web): Next 빌드 JSX 설정 정렬

---------

Co-authored-by: Kang Yeryeong <dpfud8786@gmail.com>
* style(web): ui 개선

* fix(web): UI 변경사항 정리

* style(web): 사이드바 호버 스타일 및 테이블 액션 버튼 정리

- Pretendard 폰트 CDN 경로를 gh에서 npm으로 변경 (gh 경로 용량 제한으로 404)
- 사이드바 메뉴/트리거 호버 색상을 디자인 시스템 토큰으로 변경
- 근무자/최소 인원 조건 테이블의 수정·삭제 버튼을 IconButton으로 교체

* style(web): 사이드바 메뉴 단일 리스트화 및 항목명 정리

- 메뉴/운영 설정 그룹 구분 제거, 6개 항목을 하나의 목록으로 통합
- 근무자 -> 근무자 관리, 가능 시간 -> 가능 시간 관리로 명칭 변경
- tsconfig.json 포맷팅 정리

* feat(web): 사이드바 계정 정보 표시

* chore(web): 디자인 시스템 0.3.0 적용

* style(web): 대시보드 요약 문구 정리

* refactor(web): 관리 페이지 공통 UI 컴포넌트 분리

* fix(web): UI 리뷰 접근성 보강

* fix(web): 온보딩 사이드바 로그아웃 노출

* fix(web): 리뷰 반영 다이얼로그 접근성 개선

---------

Co-authored-by: Yeryeong Kang <dpfud8786@gmail.com>
* feat(web): 조직 API client 추가

* refactor(web): 조직 form 컴포넌트 공통화

* feat(web): 조직 생성 화면 API 연결

* feat(web): 조직 수정 화면 API 연결

* refactor(web): API 에러 메시지 처리 공통화

* refactor(web): 조직 query 훅 추가

* refactor(web): 조직 화면 API 호출 query로 전환

* refactor(web): 조직 form을 RHF 검증으로 전환

* fix(web): 조직 운영시간 입력 단위 제한

* refactor(web): 조직 form 검증 shared schema로 정리
* test(repo): 테스트 인프라 추가

* test(repo): 테스트 설정 리뷰 반영

* test(repo): 루트 테스트 스크립트 추가

* test(api): 유닛 테스트 파일명 규칙 정리
* test(repo): 테스트 인프라 추가

* test(repo): 테스트 설정 리뷰 반영

* test(repo): 루트 테스트 스크립트 추가

* test(api): 유닛 테스트 파일명 규칙 정리

* test(api): 인증과 조직 API 테스트 추가

* test(api): refresh token 재사용 방지 검증 추가
* fix: update dashboard organization summary card

* chore: refine organization edit description

* fix: replace dashboard grid pixel value
* feat(api): 최소 인원 조건 API 뼈대 추가

* feat(api): 최소 인원 조건 서비스 기반 추가

* feat(api): 최소 인원 조건 조회 및 생성 구현

* feat(api): 최소 인원 조건 수정 및 삭제 구현

* refactor(api): 최소 인원 조건 Prisma 입력 타입 사용

* fix(api): 최소 인원 조건 수정 시 시간 범위 재검증

* refactor(api): 시간 변환 유틸 공통화

* test(api): 최소 인원 조건 수정 검증 추가

* docs(repo): 테스트 작성 기준 정리

* docs(repo): 프로젝트 문서 기준 정리

* test(api): 최소 인원 조건 API 테스트 보강

---------

Co-authored-by: Yooseong Nam <102887277+meteorqz6@users.noreply.github.com>
* test(repo): 테스트 인프라 추가

* test(repo): 테스트 설정 리뷰 반영

* test(repo): 루트 테스트 스크립트 추가

* test(api): 유닛 테스트 파일명 규칙 정리

* test(api): 인증과 조직 API 테스트 추가

* feat(api): 근무자 API 구현

* test(api): 근무자 API 테스트 추가

* chore(db): seed 근무자 사번 포맷 정리

* docs(api): 근무자 API 문서화

* fix: PR 리뷰 지적 사항 반영

* test(api): 불필요한 staffing rules fake 정리

* test(api): 근무자 서비스 테스트 분리

* test(api): fake prisma 요일 정렬 보정
* feat(web): 최소 인원 조건 API 쿼리 추가

* feat(web): 최소 인원 조건 화면 API 연결

* feat(web): 최소 인원 조건 저장 삭제 상태 처리

* refactor(web): 최소 인원 조건 폼 검증 정리
* feat(web): connect workers API

* fix(web): 근무자 삭제 실패 메시지 표시 개선

---------

Co-authored-by: Yeryeong Kang <dpfud8786@gmail.com>
* feat(api): 근무 기간 API 구현

* feat(api): 가능 시간 조회 API 구현

* test(api): 가능 시간 API 테스트 범위 정리

* feat(api): 가능 시간 일괄 저장 API 구현

* feat(api): 가능 시간 운영 규칙 검증 추가

* docs(api): 가능 시간 API 문서 갱신

* fix(shared): 가능 시간 30분 단위 검증 보강

* fix(api): 테스트 파일 타입 해석 설정 보강

* fix(api): 가능 시간 검증 보강
* feat(api): 근무 기간 API 구현

* feat(api): 가능 시간 조회 API 구현

* test(api): 가능 시간 API 테스트 범위 정리

* feat(api): 가능 시간 일괄 저장 API 구현

* feat(api): 가능 시간 운영 규칙 검증 추가

* docs(api): 가능 시간 API 문서 갱신

* fix(shared): 가능 시간 30분 단위 검증 보강

* fix(api): 테스트 파일 타입 해석 설정 보강

* fix(api): 가능 시간 검증 보강

* feat(web): 가능 시간 API 클라이언트 추가

* feat(web): 가능 시간 화면 조회 데이터 연결

* feat(web): 가능 시간 저장 흐름 연결

* feat(web): 가능 시간 운영시간 반영

* feat(web): 가능 시간 화면 상태 처리 정리

* refactor(web): 가능 시간 타임테이블 레이아웃 정리

* Revert "refactor(web): 가능 시간 타임테이블 레이아웃 정리"

This reverts commit ad2e474.

* fix(web): 가능 시간 기간 설정 UI 복구

---------

Co-authored-by: Yooseong Nam <102887277+meteorqz6@users.noreply.github.com>
* refactor(api): 날짜 유틸 공통화

* feat(api): 스케줄 추천 API 구현

* fix(api): DRAFT 스케줄 생성 원자성 보강
* docs(repo): 스케줄 추천 정책 정의

* feat(db): 스케줄 후보 저장 모델 추가

* feat(api): 가능 시간과 최소 인원 조건 정책 적용

* feat(api): 가능 후보와 추천 배정 분리 생성

* feat(web): 스케줄 추천 화면 연결

* feat(web): 정책 기준으로 입력 화면 제한

* test(api): 스케줄 정책 케이스 보강

* fix(web): 추천 스케줄 재생성 허용

* fix(web): 스케줄 달력과 선택 드롭다운 표시 정리

* style(repo): prettier 포맷 적용

* fix: PR 리뷰 반영

* fix(web): 로컬 웹 서버 포트와 API 프록시 설정 안정화

* fix(web): 비밀번호 표시 아이콘 상태 수정

* refactor(web): 스케줄 폼 검증을 RHF와 Zod로 전환

* feat(web): 최소 인원 조건 일괄 추가 UI 개선

* fix(web): 최소 인원 조건 종료 시간 선택지 제한

---------

Co-authored-by: Yeryeong Kang <dpfud8786@gmail.com>
@vercel

vercel Bot commented Jun 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
final-project-web Ready Ready Preview, Comment Jun 29, 2026 5:21pm

@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 9207543f-86a2-4a5f-b365-09f1b69fde4a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch develop

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ehlung
ehlung requested a review from meteorqz6 June 29, 2026 17:21
@ehlung ehlung added the chore 빌드·설정·CI 관련 작업 label Jun 29, 2026
@ehlung ehlung changed the title feat: MVP 웹·API 기능 통합 chore: MVP 웹·API 기능 통합 Jun 29, 2026
@ehlung
ehlung merged commit d85941a into main Jun 29, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore 빌드·설정·CI 관련 작업

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants