Skip to content
YANG SEUNG HYEOK
Dose2Time 앱 소개
AI 맞춤 영양제 추천

💊 dose2time

건강 설문을 바탕으로 맞춤 영양제를 추천하고, 복용 중인 영양제를 관리할 수 있는 모바일 앱

🛠 Flutter · Dart

🤖 AI 맞춤 영양제 추천

Dose2Time - Apps on Google Play

Dose2Time app analyzing your health to recommend supplements.

https://play.google.com/store/apps/details?id=com.yangnyeon.takemed

프로젝트 소개

dose2time은 어떤 영양제를 선택해야 할지 고민하는 사용자를 위한 AI 영양제 추천 및 관리 앱입니다.

사용자가 26개의 건강 설문에 답하면 AI가 응답을 분석하여 적합한 영양제를 추천합니다. 추천받은 영양제와 현재 복용 중인 제품은 앱에 저장하여 관리할 수 있습니다.

Flutter로 개발하여 Android를 지원하도록 구성했습니다.

📷 대표 이미지

26문항 건강 설문 — 나이대 선택
26문항 건강 설문 — 건강 상태 입력
AI 분석 중 화면

개발 배경

영양제는 종류가 많고 효능도 다양해 사용자에게 적합한 제품을 직접 찾기 어렵습니다. 단순히 영양제 목록을 제공하는 것이 아니라 사용자의 건강 상태와 생활 습관을 먼저 확인하고, 그 결과를 기반으로 필요한 영양제를 추천하는 서비스를 만들고자 했습니다.

주요 기능

1. AI 맞춤 영양제 추천

건강 상태, 생활 습관, 식습관 등을 확인하는 26개의 설문을 제공합니다. 설문이 완료되면 응답을 AI 추천 API로 전달하고, 사용자에게 적합한 영양제와 추천 이유를 보여줍니다.

  • 26문항 건강 설문
  • 설문 진행률 표시
  • AI 맞춤 영양제 추천
  • 추천 이유와 섭취 정보 제공
  • 추천 결과 내 목록 저장

2. 내 영양제 관리

현재 복용 중이거나 관심 있는 영양제를 앱에 저장할 수 있습니다. 저장된 데이터는 SQLite를 사용해 기기 내부에 보관되며, 네트워크가 없어도 확인할 수 있습니다.

  • 영양제 추가 및 저장
  • 저장 정보 수정·삭제
  • 복용 활성 상태 관리
  • AI 추천 결과 바로 저장
  • SQLite 기반 오프라인 보관

3. 영양제 목록 조회

MariaDB(PHP)에 저장된 영양제 데이터를 REST API로 제공하여 앱에서 조회할 수 있도록 구현했습니다.

  • 영양제 이름 및 제품 정보 제공
  • 원격 이미지 데이터 연동
  • Cloudinary를 활용하여 이미지 서버를 구축하고 원격 이미지 URL 연동
  • 인기 영양제 목록 표시
  • REST API 기반 데이터 조회
Cloudinary 이미지 서버
Cloudinary 이미지 서버 이용
영양제 REST API 데이터 구조
인기 영양제 목록
AI 맞춤 영양제 추천 결과

4. 사용자 설정

다양한 사용자가 편하게 이용할 수 있도록 언어와 글자 크기 설정을 구현했습니다.

  • 한국어·영어 지원
  • 글자 크기 4단계 조절
  • 사용자 설정 기기 내부 저장
  • 개인정보처리방침 제공
글자 크기 설정
설정 — 한국어
설정 — English

데이터 흐름

건강 설문 작성

AI 추천 API 요청

맞춤 영양제 결과 제공

SQLite에 추천 결과 저장

MariaDB(PHP REST API GET)

REST API

영양제 목록 조회

Flutter 앱

서버 이전 경험

문제

초기에는 AWS 서버와 MariaDB를 이용해 영양제 목록을 저장하고 REST API를 운영했습니다. 하지만 프로젝트 규모에 비해 AWS 서버 유지 비용이 지속적으로 발생하면서 개인 서비스로 운영하기에는 부담이 컸습니다.

해결

API 서버와 데이터베이스 운영 환경을 Railway로 이전했습니다. 기존 REST API 구조를 유지하면서 연결 설정과 배포 환경을 변경하여 앱 수정 범위를 최소화했습니다.

결과

  • 서버 운영 비용 절감
  • 배포 과정 간소화
  • 기존 API 기능 유지
  • 개인 프로젝트에 적합한 운영 환경 구축

AdMob 수익화

서비스 운영을 위한 수익 모델로 Google AdMob 배너 광고를 적용했습니다.

홈, AI 추천, 영양제 관리 화면에 광고를 배치하고 Android 광고 권한과 Application ID를 설정했습니다.

홈 화면 — AdMob 배너 광고
AI 추천 설문 화면

담당한 작업

  • Flutter 기반 Android·iOS 앱 개발
  • 26문항 건강 설문과 AI 추천 기능 구현
  • SQLite 기반 영양제 저장·관리 기능 개발
  • MariaDB 및 REST API를 활용한 영양제 데이터 연동
  • AWS에서 Railway로 서버 이전
  • 한국어·영어 및 글자 크기 설정 구현
  • AdMob 광고 연동과 앱 출시 대응

기술 스택

App
Flutter, Dart
State
Riverpod
Local
SQLite, SharedPreferences
Backend
REST API
Database
MariaDB
Infrastructure
AWS, Railway
Ads
Google AdMob
Platform
Android, iOS

프로젝트 구조

Flutter App
├─ 홈
├─ AI 건강 설문
├─ AI 추천 결과
├─ 내 영양제 관리
└─ 설정
Local
└─ SQLite
Backend
├─ REST API
└─ MariaDB(PHP)
Infrastructure
└─ AWS → Railway

프로젝트를 통해 배운 점

AI 추천 기능 구현뿐만 아니라 모바일 앱, REST API, MariaDB를 연결하여 하나의 서비스를 완성했습니다. 또한 AWS 운영 과정에서 발생한 비용 문제를 확인하고 Railway로 서버를 이전하면서 기능 개발뿐만 아니라 서비스 운영 비용과 유지보수 환경도 함께 고려하는 경험을 얻었습니다.

건강 설문부터 AI 추천, 영양제 관리, 서버 운영까지 직접 구현하고 실제 운영 비용 문제까지 개선한 Flutter 모바일 프로젝트입니다.