Skip to content

iOS-EST-3rd-Wellnest/Wellnest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

785 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

readmeImage

AI를 기반으로 사용자의 일정·운동·휴식을 관리하여 건강하고 균형 잡힌 생활을 실현할 수 있도록 돕는 라이프스타일 플래너입니다.


🧑🏻‍💻👩🏻‍💻 팀원

박동언 양희정 이주용 이준일 전광호 정소이
🧑🏻‍💻 팀원 👑 팀장 🧑🏻‍💻 팀원 🧑🏻‍💻 팀원 🧑🏻‍💻 팀원 👩🏻‍💻 팀원
PlanView
Code Review
ScheduleInputView
CoreData
HomeView
Tech Write
ScheduleInputView
AnalyticsView
Presentation
SettingsView
Quality Assurance
OnboardingView
Design Lead


💡 주요 기능

  • 온보딩에서 받은 사용자의 신체정보, 선호운동, 건강상태를 기반으로 맞춤형 콘텐츠 추천
  • Alan AI 기반 사용자 맞춤형 일정 추천
  • 일정 조회, 등록 및 삭제
  • 건강 앱과 연동하여 걸음수, 수면시간 조회 및 기록
  • 웰니스 목표 설정 및 달성률 피드백 제공

📌 요구사항

기능 요구사항 (Functional Requirements)

화면 요구사항
공통 - 화면 간 이동에 문제 발생하지 않음
- 하단 탭바/사이드 메뉴 등 공통 네비게이션 제공
- 공통으로 사용되는 UI 컴포넌트/함수 등 분리
스플래시 - 앱 실행 시 앱 로고를 2초간 표시
- 최초 실행 시에는 온보딩 화면으로 이동
온보딩 - 전반적인 앱 소개
- 사용자의 신체정보, 선호활동, 건강상태 등 설문 조사
- 온보딩 설문을 바탕으로 사용자 프로필 제공
- 오늘의 일정 확인 및 완료 여부 체크
- 오늘의 일정 삭제
- 사용자 맞춤형 컨텐츠(날씨, 영상) 제공
- 웰니스 목표 및 시각화된 달성률 피드백 제공
일정 - 사용자의 선호, 필요사항을 기반으로 맞춤형 일정 추천
- 직접/Alan AI 기반 일정 생성, 수정 및 삭제
- 캘린더 형태의 시각화된 일정 확인
- 일정 시간(시작/종료) 및 반복/알림 설정
- 장소 및 메모 추가 및 수정
통계 - 건강 앱과 연동해 걸음수, 수면시간 확인 및 기록
- 일/주/월 단위로 확인 및 기록
- 시각화된 웰니스 목표 달성률 피드백 제공
- AI 인사이트 제공
설정 - 사용자 프로필 관리
- 알림/건강 앱 연동 설정
- 모든 일정 삭제(초기화)
- 온보딩 사용자 설문 수정

비기능 요구사항 (Non-Functional Requirements)

항목 요구사항
디자인 및 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
스플래시 앱소개1 선호활동
Home Home ScheduleInput ScheduleInput
홈1 홈2 일정1 일정2
Plan Plan Analytics Settings
플랜1 플랜2 통계2 설정

About

바쁜 일상 속에서도 건강하고 균형 잡힌 삶을 실현할 수 있도록 돕는 AI 기반 라이프스타일 플래너 🗓️

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages