- 개발 기간 :
2025.06 ~ 2025.07 - 도메인 :
라이프스타일/일기 앱 - 팀 및 역할 :
BE/FE 1인, AI 1인 中 BB/FE 개발자로 참여
초등학생 시절 방학숙제였던 일기장 컨셉의 앱입니다.
일기를 작성하면, 일정시간 후 일기에 대한 코멘트와 칭찬도장이 AI선생님으로부터 도착합니다.
(1) 일기 쓰기
- 제목, 본문, 날씨, 감정 상태 등을 입력하여 일기를 작성할 수 있습니다.
- 작성된 일기는 JWT 인증을 통해 Spring 서버로 전송됩니다.
- 일기 저장 후, AI 분석이 완료되면 자동으로 코멘트가 붙고 알림이 도착합니다.
(2) 홈 화면 (캘린더 기반 시각화)
- Flutter 캘린더 위젯을 커스터마이징하여 월별 일기 작성 현황을 한눈에 보여줍니다.
- 날씨 아이콘 클릭을 통해 특정 날짜의 일기 여부를 직관적으로 확인할 수 있습니다.
(3) 일기 상세조회
- 작성된 일기의 제목, 본문, 감정, 날씨, AI 코멘트, 칭찬 도장 이미지를 함께 확인할 수 있습니다.
- 스크롤이 길어져도 ‘선생님의 코멘트’ 영역은 고정되도록 UI를 설계했습니다.
(4) 회원가입 및 JWT 인증 처리
- 자체 로그인 기반으로 회원가입 및 로그인 기능을 구현했습니다.
- 로그인 후 발급받은 AccessToken은 Bearer 헤더로 요청마다 첨부됩니다.
(5) 설정 화면
- 사용자 닉네임 조회 및 수정, 로그아웃, 회원 탈퇴 기능을 제공합니다.
- API 응답 기반으로 상태를 갱신하며, UX 측면에서도 자연스럽게 반영됩니다.
(6) 푸시 알림 (FCM)
- AI 코멘트가 도착하면 FCM 알림을 통해 사용자에게 실시간으로 전달됩니다.
- 기기별 Firebase Token을 저장하여 개별 사용자 대상 전송이 가능합니다.
/lib
┣ main.dart
┣ config/
┃ ┗ constants.dart # API base URL, 환경변수
┣ services/
┃ ┣ api_client.dart # Dio 초기화 및 공통 처리
┃ ┗ auth_service.dart # 로그인, 회원가입, 토큰 관리
┣ models/
┃ ┣ login_request.dart
┃ ┣ homework.dart
┃ ┗ user.dart
┣ screens/
┃ ┣ login_screen.dart
┃ ┣ home_screen.dart
┃ ┣ diary_detail_screen.dart
┃ ┗ diary_write_screen.dart
┣ widgets/
┃ ┣ calendar_widget.dart # 캘린더 UI
┃ ┣ diary_card.dart # 일기 리스트 카드 UI
┗ main.dart # 라우팅 및 앱 테마 설정Frontend
Flutter,flutter_screenutil,firebase_messaging,flutter_secure_storage
Design / UX
초등학생 일기장 스타일 UI,카드형 레이아웃


