AI를 기반으로 사용자의 일정·운동·휴식을 관리하여 건강하고 균형 잡힌 생활을 실현할 수 있도록 돕는 라이프스타일 플래너입니다.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|---|
| 박동언 | 양희정 | 이주용 | 이준일 | 전광호 | 정소이 |
| 🧑🏻💻 팀원 | 👑 팀장 | 🧑🏻💻 팀원 | 🧑🏻💻 팀원 | 🧑🏻💻 팀원 | 👩🏻💻 팀원 |
PlanViewCode Review |
ScheduleInputViewCoreData |
HomeViewTech Write |
ScheduleInputViewAnalyticsViewPresentation |
SettingsViewQuality Assurance |
OnboardingViewDesign Lead |
- 온보딩에서 받은 사용자의 신체정보, 선호운동, 건강상태를 기반으로 맞춤형 콘텐츠 추천
- Alan AI 기반 사용자 맞춤형 일정 추천
- 일정 조회, 등록 및 삭제
- 건강 앱과 연동하여 걸음수, 수면시간 조회 및 기록
- 웰니스 목표 설정 및 달성률 피드백 제공
| 화면 | 요구사항 |
|---|---|
| 공통 | - 화면 간 이동에 문제 발생하지 않음 - 하단 탭바/사이드 메뉴 등 공통 네비게이션 제공 - 공통으로 사용되는 UI 컴포넌트/함수 등 분리 |
| 스플래시 | - 앱 실행 시 앱 로고를 2초간 표시 - 최초 실행 시에는 온보딩 화면으로 이동 |
| 온보딩 | - 전반적인 앱 소개 - 사용자의 신체정보, 선호활동, 건강상태 등 설문 조사 |
| 홈 | - 온보딩 설문을 바탕으로 사용자 프로필 제공 - 오늘의 일정 확인 및 완료 여부 체크 - 오늘의 일정 삭제 - 사용자 맞춤형 컨텐츠(날씨, 영상) 제공 - 웰니스 목표 및 시각화된 달성률 피드백 제공 |
| 일정 | - 사용자의 선호, 필요사항을 기반으로 맞춤형 일정 추천 - 직접/Alan AI 기반 일정 생성, 수정 및 삭제 - 캘린더 형태의 시각화된 일정 확인 - 일정 시간(시작/종료) 및 반복/알림 설정 - 장소 및 메모 추가 및 수정 |
| 통계 | - 건강 앱과 연동해 걸음수, 수면시간 확인 및 기록 - 일/주/월 단위로 확인 및 기록 - 시각화된 웰니스 목표 달성률 피드백 제공 - AI 인사이트 제공 |
| 설정 | - 사용자 프로필 관리 - 알림/건강 앱 연동 설정 - 모든 일정 삭제(초기화) - 온보딩 사용자 설문 수정 |
| 항목 | 요구사항 |
|---|---|
| 디자인 및 UI/UX | - SwiftUI 사용 - iPhone(세로), iPad(가로/세로) 지원 - Size Class, 다크모드 대응 |
| 성능 안정성 | - Crash, UI/기능 버그 방지 - 참조 사이클 메모리 누수 방지 및 옵션 처리 시 예외 상황 대응 - GCD 사용은 가급적 지양하고 Swift Concurrency를 활용 |
| 데이터 저장 방식 | - 모델 정의 및 영구적인 데이터 저장 - CoreData, UserDefaults, 바이너리 파일 사용 |
| 접근성 및 사용자 경험 | - 버튼 색상, 알림 등 시각적 피드백 적용 |
| 위치 기반 서비스 | - CoreLoacation을 통한 위치 정보 권한 확인 - 원활한 OpenWeather API 호출 |
| 호환성 | - iOS 16 이상 지원 |
- SwiftUI
- CoreData, UserDefaults, 바이너리 파일
- Alan API, OpenWeather API, Youtube data API API
- CoreLocation, HealthKit
- MVVM 패턴
- App: 앱 실행 진입점
- Feature: 주요 기능 단위 화면 (온보딩, 홈, 일정, 통계, 설정)
- Resource: 이미지 및 컬러 리소스
- Shared: 공통 UI, 컴포넌트, 모델, 로컬 데이터, 외부 API 모음 및 관리
- Tests: 단위 테스트
Wellnest
├── App
│ ├── AppRouter.swift # 화면 이동 및 네비게이션 라우터
│ ├── WellnestApp.swift # 앱 진입점
│
├── Feature # 주요 화면
│ ├── Analytics # 통계
│ ├── Home # 홈
│ ├── MainTab # 메인 탭 바
│ ├── Onboarding # 온보딩
│ ├── Plan # 일정 조회
│ ├── ScheduleInput # 일정 생성, 수정 및 삭제
│ ├── Settings # 설정
│ └── Splash # 스플래시 스크린
│
├── Resource
│ ├── Assets.xcassets # 이미지, 컬러 등 리소스
│ └── schedule_dummy_data.json # 일정 샘플 데이터
│
├── Shared # 공용 모듈
│ ├── Common # 상수, 공통 유틸, 확장(Extensions)
│ ├── Model # 데이터 모델 (User, Schedule 등)
│ ├── Persistence # CoreData 등 로컬 저장소
│ ├── Service # 외부 API, CoreLocation 연동
│ └── View # 재사용 가능한 공통 UI 컴포넌트| Splash | Onboarding | Onboarding |
|---|---|---|
![]() |
![]() |
![]() |
| Home | Home | ScheduleInput | ScheduleInput |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| Plan | Plan | Analytics | Settings |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
















