diff --git a/Model.md b/Model.md new file mode 100644 index 0000000..577f593 --- /dev/null +++ b/Model.md @@ -0,0 +1,46 @@ +## 문서 - Refeel 모델 + +SwiftData 기반으로 설계되었으며, `Retrospect` 모델과 `Category` 열거형으로 구성되어 있습니다. + +--- + +## 📘 모델: `Retrospect` + +사용자가 하루 회고를 작성할 때 사용하는 주요 데이터 모델입니다. + +| 필드명 | 타입 | 설명 | 제약조건 | +| ---------- | --------- | ------------------------ | ------------------------------------- | +| `id` | UUID | 고유 식별자 | Primary Key | +| `date` | Date | 회고 작성 날짜 | Not Null, 하루 시작 시각으로 정규화됨 | +| `content` | String? | 회고 내용 (선택사항) | Nullable | +| `category` | Category? | 회고 카테고리 (선택사항) | Enum 참조 | + +--- + +## 📗 열거형: `Category` + +회고에 사용할 수 있는 카테고리 목록입니다. UI에서 한글로 표시되며, Enum의 raw value는 한글입니다. + +| Enum 값 | Raw Value | 설명 | +| --------- | --------- | -------------------- | +| `workout` | "운동" | 운동 관련 활동 기록 | +| `study` | "공부" | 학습 및 공부 기록 | +| `work` | "업무" | 일 및 생산 활동 기록 | +| `rest` | "휴식" | 여가 및 휴식 기록 | +| `etc` | "기타" | 기타 활동 기록 | + +--- + +## 🧩 확장 가능성 + +| 개선 방향 | 설명 | +| ---------------- | ----------------------------------------------------------------- | +| 감정 추가 | 감정 상태 (행복/슬픔 등) Enum으로 확장 가능 | +| 태그(Tag) 기능 | 여러 키워드를 `Set` 또는 별도 `Tag` 모델로 연결 가능 | +| 사용자 모델 연동 | 다중 사용자 회고 지원을 위한 `User` ↔ `Retrospect` 관계 도입 가능 | +| 파일 첨부 기능 | 사진, 음성 등 미디어를 `Retrospect`에 연결 가능 | + +## 📌 참고사항 + +- SwiftData의 `@Model`은 내부적으로 자동으로 id와 저장소를 관리합니다. +- `Calendar.current.startOfDay(for:)`를 통해 `date`를 하루 기준으로 정규화하여 중복 기록 방지에 활용합니다. diff --git a/README.md b/README.md index 5ce394d..e211ac9 100644 --- a/README.md +++ b/README.md @@ -110,3 +110,49 @@ Refeel ``` + +## 실행 방법 + +### 1. 프로젝트 클론 + +```bash +git clone https://github.com/jihyeonjjang/HaruPocket.git +cd HaruPocket +``` + +### 2. Xcode에서 열기 + +- `HaruPocket.xcodeproj` 또는 `HaruPocket.xcworkspace`를 **Xcode 15 이상**에서 엽니다. + +### 3. 패키지 설치 확인 + +- 프로젝트를 열면 자동으로 **EmojiPicker 2.1.1**이 설치됩니다. +- 설치 오류가 발생할 경우 `File > Packages > Resolve Package Versions`를 선택하세요. + +### 4. 실행 + +- 시뮬레이터 또는 실제 디바이스를 선택 후 ▶️ 버튼으로 실행합니다. + +### 5. 미리보기 사용 (옵션) + +- `#Preview` 구조와 `inMemory` 컨테이너를 이용해 SwiftUI 뷰 미리보기가 가능합니다. + +--- + +## 실행 방법 + +### 1. 프로젝트 클론 + +```bash +git clone https://github.com/refeel-team/refeel-app.git +cd refeel-app +``` + +### 2. Xcode에서 열기 + +- `Refeel.xcodeproj` 또는 `Refeel.xcworkspace ( **Xcode 15 이상 권장**) + +### 3. 실행 + +- 시뮬레이터 또는 실제 디바이스를 선택 후 버튼으로 왼쪽 상단에 재생 버튼 또는 `Shift+R` 실행합니다. + 니다.