iOS NATIVE APPS

#SwiftUI

My Little Cook Diary

My Little Cook Diary는 사용자가 일상 속 요리 경험을 기록할 수 있도록 돕는 앱입니다. 간단한 메모, 사진 업로드, 별점 평가, 코멘트 기능을 통해 나만의 요리 여정을 추적할 수 있습니다.

매일의 요리를 맛있는 추억으로 남겨보세요.

Key Features

📝 레시피 기록

메모, 별점, 사진과 함께 요리를 기록할 수 있습니다.

⚙️ 동적 필터링

SortDescriptor를 활용하여 장르별로 정렬 및 필터링 됩니다.

📌 코멘트 시스템

✔️ 날짜별로 댓글을 추가하고 자동으로 최신순 정렬됩니다. 같은 메뉴에 대한 코멘트 업데이트가 가능합니다.
✔️ parent-children 관계에 따라 페이지 삭제 시 댓글도 함께 삭제되는 cascade delete rule 적용.

📁 데이터 영속성

SwiftData를 이용한 안전한 로컬 저장 및 쿼리 기반 정렬.

💡 인터랙티브 UI

✔️ Toolbar 액션을 활용한 장르 필터링 및 스와이프 삭제 또는 일괄 삭제 기능 제공.
✔️ 사용자 클릭을 기반으로 한 별점 평가 UI (.buttonStyle(.plain) 사용).

Tech Stack

🛠️ Framework & Architecture
🏠 Data Management
🔗 State Management
🏞️ Image Handling

PhotosUI, PhotosPicker

🧭 Navigation

NavigationStack, navigationDestination, Sheet

🎨 Custom UI

Theme Extensions, Dynamic Sorting & Filtering

Garden Bay
손끝에서 펼쳐지는 간결하고 빠른 꽃 주문 경험 – 사랑과 기쁨을 간편하게 전하세요.

Garden Bay는 다양한 꽃과 선물 옵션을 선택하고 최대 10개의 배송지를 저장하여 빠르게 결제할 수 있는 꽃 주문 앱입니다.


보안 서버를 통한 빠른 주문 처리와 실시간 확인 기능으로, 꽃 선물이 더 쉬워집니다.

Key Features

🌸 꽃 & 선물 주문 시스템

동적 Form을 통해 꽃과 선물(풍선, 초콜릿 등)을 선택하고, 검증이 완료될 때만 주문 가능.

🏠 주소 관리 기능

AppStorage에 최대 10개의 주소 저장, 중복 주소는 자동 제거.

📦 주문 처리

✔️ URLSession을 사용한 HTTP 요청으로 주문 처리, do-try-catch를 통한 에러 처리.
✔️ 주문 성공 시 확인 메시지를 표시하고 NavigationPath를 초기화해 홈 화면으로 이동.

🖼️ 동적/시각적 피드백

✔️ 서버 URL 기반으로 AsyncImage를 활용한 이미지 비동기 로딩.
✔️ CoreHaptics를 통한 주요 상호작용 시 햅틱 피드백 제공.

Tech Stack

🛠️ Framework & Architecture

🏠 Data Management

🔗 State Management

📡 Protocol & API

Codable, CodingKeys, URLRequest, URLSession

🏞️ Image Handling

AsyncImage (via image URL)

🧭 Navigation

NavigationPath

🔊 User Experience
CoreHaptics

Sip & Stir
베이스 술 종류별로 칵테일을 탐색하고, 사진과 레시피를 확인해보세요.

Sip & Stir는 럼, 위스키, 와인 등 술의 종류별로 칵테일을 분류하여 정보를 디스플레이하는 앱 입니다.
모든 데이터는 미리 추출된 JSON 파일을 디코딩하여 불러오며, 시각적으로 매끄러운 UI를 통해 사용자에게 편안하고 안정적인 경험을 제공합니다.

Key Features

🍸 쉽고 빠른 탐색을 위한 카탈로깅

술 종류별로 정렬된 칵테일을 탐색할 수 있어 쉽게 원하는 레시피를 찾을 수 있습니다.

📐 동적 레이아웃

LazyVGridGridItem을 사용한 반응형 그리드 레이아웃으로 다양한 iOS 환경의 기기 크기에 최적화.

📄 데이터 처리

✔️ Bundle Decoder를 통해 로컬 JSON 파일을 디코딩하여 레시피와 이미지를 출력.
✔️ JSON 데이터의 누락을 대비하여 ternary 연산자를 활용한 기본값 처리로 안정적인 데이터 표시.

Tech Stack

🛠️ Framework & Architecture
🏠 Data Management
🔗 State Management
📡 Protocol & Model

Codable, Identifiable, Hashable

🧭 Navigation

NavigationStack, NavigationLink

CosMath
아이들을 위한 구구단 학습 앱, 퀴즈 커스터마이징과 게임화된 보상 시스템 제공.

CosMath는 2단부터 12단까지 곱셈 퀴즈를 연습할 수 있도록 돕는 교육용 게임 앱입니다.
질문 수와 난이도 설정이 가능하며, 맞춘 문제 수에 따라 ‘행성 레벨’ 보상을 획득하게 하여 사용자의 재미와 학습 성취감을 돕습니다.

Or Scan

Key Features

🧐 커스텀 퀴즈 생성기

사용자가 문제 수, 난이도, 단 수를 직접 설정 가능.

⏱️ 실시간 피드백

하단에 표시되는 Score의 실시간 업데이트로 현재 점수를 디스플레이 하며, 게임 이후 전체문제에 대한 답안과 결과 요약을 제공.

🏆 보상 시스템

정답률에 따라 ‘행성 레벨’ 보상을 획득하여 동기 부여 강화.

🌎 적응형 UI

LazyVGrid를 통한 iPhone 및 iPad에 최적화된 레이아웃 제공.

📁 데이터 저장

퀴즈 및 점수는 @State를 통해 저장되고 View 내에서 공유되어 현재 게임 진행 상태를 추적 가능.

Tech Stack

🛠️ Framework & Architecture

🔗 State Management

📐UI Components & Layout

LazyVGrid, Stepper(), GridItem

🚥 Logic & Control Flow

Switch/Case, Enum

iExpense
다양한 통화를 지원하는 개인 예산 관리 앱.

현명한 소비, 스마트한 저축. 전 세계 어디서든.


iExpense는 개인 예산과 지출을 효과적으로 관리할 수 있는 앱으로, 다양한 통화를 선택하는 옵션을 지원합니다.

Key Features

💸 지출 기록

개인용/비즈니스용으로 지출을 구분하고, Sectioned List를 사용해 보기 쉽게 표시.

📁 데이터 저장

UserDefaultsJSONEncoder/Decoder를 이용해 데이터를 로컬 저장.

🎨 동적 UI 피드백

금액 범위(낮음, 중간, 높음)에 따른 컬러 코드로 지출 상태를 직관적으로 파악.

🛠️ 사용자 설정

다양한 통화 옵션을 Toggle 방식으로 간단하게 다중 선택 가능.

🗑️ 데이터 관리 도구

✔️ 스와이프 동작으로 로컬 데이터 삭제 기능 지원.
✔️ didSet 관찰자를 통해 지출 데이터 변경 시 자동 저장.

Tech Stack

🛠️ Framework & Architecture
🏠 Data Management
🔗 State Management
📡 Protocol & API

Codable, Identifiable

🧭 Navigation

NavigationStack, navigationDestination, Sheet

🧩 UI Components

List, Form, Section, ToolbarItem, EditButton