하루 한줄, Flutter로 만드는 나만의 감성 노트앱 개발기

하루 한줄, Flutter로 만드는 나만의 감성 노트앱 개발기

시작하며: 왜 Flutter로 노트앱을 만들었나?

"매일 한 줄이라도 기록하자."
지나간 하루를 돌아보고, 한 줄의 감정을 남기고 싶었다. 노트를 쓰자니 부담되고, SNS에 올리긴 싫었다. 그래서 직접 만들었다. 이름하여 ‘하루 한줄’.

Flutter는 빠르게 UI를 구성할 수 있고, iOS/Android 동시 배포가 가능해 사이드 프로젝트에 최적이었다.
이 글은 내가 하루 한줄 노트앱을 만들면서 겪은 기술적 고민, 선택의 과정, 그리고 배운 점들을 공유하기 위한 기록이다.


앱 기능 기획: 단순함 속에 감성을 담다

핵심 기능 정의

  • 하루에 딱 한 줄만 작성 가능
  • 캘린더 기반으로 기록 조회
  • 간단한 글귀/명언 노출로 감성 추가
  • 로컬 저장 → 추후 Firebase 연동 고려

UX/UI 설계 원칙

  • 최대한 심플하고 직관적인 구조
  • 타이핑 공간에 감성을 유도하는 문구
  • 배경 색은 하루의 기분을 반영 (선택적 기능)

기술 스택과 구조

  • Flutter 3.19
  • Provider 기반 상태관리
  • Hive를 활용한 로컬 DB
  • TableCalendar 패키지로 캘린더 구현
  • GetIt으로 DI 구성

예시 디렉토리 구조

lib/
 ┣ models/
 ┣ providers/
 ┣ screens/
 ┣ widgets/
 ┗ main.dart

개발하면서 부딪힌 문제들

1. 캘린더 커스터마이징

기본 TableCalendar는 기능은 좋지만 디자인이 너무 투박했다.
직접 위젯을 조합해서 스타일링을 바꾸고, 특정 날짜에 기록이 있을 경우 점 표시를 커스텀하는 데 시간을 쏟았다.

2. 하루 1줄 제한 로직

단순히 DateTime.now()만 쓰면 날짜 비교 시 시간차 문제가 생긴다.
→ 날짜만 비교할 수 있게 DateTime(year, month, day)로 기준을 통일했다.

bool isSameDay(DateTime a, DateTime b) {
  return a.year == b.year && a.month == b.month && a.day == b.day;
}

배운 점 & 다음 계획

  • UI/UX는 코드보다 더 중요하다.
    감성 앱은 ‘느낌’이 전부다. 기능보다 분위기가 핵심이다.
  • 상태관리, 처음부터 구조 잡는 게 편하다.
    Provider에서 시작했지만, 규모가 커질수록 GetX나 Riverpod도 고려 중.
  • Firebase 연동 → 추후 유저 인증과 백업을 위해 적용 예정
  • 명언 API 연동 → 하루 글귀 자동 노출 기능도 실험 중

마치며: 사이드 프로젝트는 곧 나의 기록이다

‘하루 한줄’을 개발하면서 느꼈다.
사이드 프로젝트는 그냥 기능 구현이 아니라, 나를 표현하는 또 다른 방법이라는 걸.

Flutter로 만드는 나만의 노트앱.
코드도 쌓이고, 기록도 쌓인다. 그리고 그 속엔 내 하루도, 내 성장이 담긴다.

댓글

가장 많이 본 글