Sprint 0 _ 기본 골격 고정 _3_5일_

Sprint 0 _ 기본 골격 고정 _3_5일_

목표:
확장 가능한 구조 + 더미 데이터로 전체 흐름 이동 가능


S0-1 프로젝트 초기화

목적
RN(Expo) 기반 프로젝트 생성 및 기본 실행 확인

작업

  • Expo 프로젝트 생성 (TypeScript)

  • 폴더 구조 기본 세팅

  • eslint / prettier 설정

  • 환경변수 관리 구조 (.env.dev / .env.prod)

완료 조건

  • 앱이 정상 실행됨

  • 빌드 에러 없음

  • Git 초기 커밋 완료


S0-2 폴더 구조 설계

목적
초기부터 “기능 중심” 구조 고정

구조 예시

/src
  /app          (navigation, app entry)
  /features
    /slot
    /reservation
    /user
  /shared
    /components
    /hooks
    /utils
  /services
  /store

완료 조건

  • 실제 코드 파일 생성

  • import 경로 정리

  • alias 설정(@/)


S0-3 네비게이션 기본 구성

목적
화면 흐름 틀 확보

화면

  • HomeScreen

  • SlotDetailScreen

  • ReservedScreen

  • HistoryScreen (더미)

작업

  • React Navigation 설치

  • Stack Navigator 구성

  • 더미 버튼으로 화면 이동 확인

완료 조건

  • 홈 → 상세 → 확보 화면 이동 가능

  • 뒤로가기 정상 작동


S0-4 전역 상태관리 기본 세팅

목적
Zustand 기반 최소 상태 구조

초기 상태

  • user

  • location

  • activeReservation

  • filters

작업

  • store 파일 생성

  • 기본 set/get 로직 구현

  • 더미 값 세팅

완료 조건

  • 화면에서 store 값 읽고 수정 가능

  • 앱 재렌더링 정상


S0-5 API 레이어 스켈레톤

목적
UI와 DB 연결 분리

작업

  • services/apiClient.ts (fetch wrapper)

  • services/slotService.ts

  • services/reservationService.ts

  • mock 데이터 반환 함수 작성

완료 조건

  • HomeScreen에서 mock 슬롯 리스트 표시 가능

  • 실제 API 호출 없이 동작


S0-6 기본 UI 컴포넌트 세팅

목적
디자인 일관성 기반 준비

작업

  • SlotCard 컴포넌트 생성

  • PrimaryButton 컴포넌트

  • LoadingView

  • EmptyView

디자인 원칙 반영

  • 과도한 색상 없음

  • 시간 강조 텍스트 스타일 정의

  • 강조 색상은 하나만 정의

완료 조건

  • 더미 슬롯 카드 5개 표시

  • 클릭 시 상세 이동


S0-7 에러/로딩 상태 통일

목적
초기부터 예외 흐름 구조화

작업

  • 공통 ErrorBoundary

  • 네트워크 실패 시 기본 에러 화면

  • 재시도 버튼

완료 조건

  • mock 에러 발생 시 정상 화면 표시

  • 앱 크래시 없음


S0-8 기본 로그 유틸

목적
디버깅 편의성 확보

작업

  • logger.ts 작성

  • dev 모드에서만 console.log 출력

  • 이벤트 로그 기본 구조 정의

완료 조건

  • reserve_mock 같은 로그 찍힘

  • prod 모드에서 로그 제거 가능


Sprint 0 완료 정의

다음이 가능해야 한다:

  • 앱 실행
  • 더미 슬롯 리스트 표시
  • 슬롯 상세 이동
  • 확보 화면 이동
  • 상태 store에 저장
  • 에러 화면 표시

아직 Supabase 연결 안 함
아직 위치 권한 없음
아직 진짜 로직 없음

단단한 뼈대만 완성