서점 리스본의 '글쓰기 노트_첫문장' 을 참고하여 개발.
GPT가 감정(mood)을 입력받아 그 감정에 적절한 한 문장을 제시.
첫 문장을 제시해주면, 그 이후에 사용자가 이어 적는 방식.
예시) '휴대폰이 꺼졌다'
아.. 이전에는 뭐하고 살았더라?
mood_tracker_2.mp4
- Firebase Authentication을 사용한 이메일/비밀번호 로그인
- Validation
- 게시글 추가, 삭제 기능
- 게시글 감정(mood) 추가 기능
- 감정에 따른 첫 문장 제시 기능 - GPT
- Firebase를 사용한 실시간 데이터 동기화
- Riverpod
- AsyncNotifier, StreamNotifier
- AsyncValue를 통한 로딩/에러 상태 처리
- GoRouter를 사용한 네비게이션 구현
- 인증 상태에 따른 Redirection
- Authentication
- Firestore (DB) : user, post 정보 저장
paintbrush버튼을 눌렀을 때 현재 선택된 감정을 GPT에게 넘겨 한 문장을 추천받는 기능 구현- Open AI 모델 사용 :
gpt-4o-mini - 프롬프트 개선 : 예시(Few-shot Learning) 추가
- API Request Customization : 앱의 성격에 맞게 조정
| 레이어 | 구현 |
|---|---|
| Model (데이터 모델) | PostModel |
| Repository (데이터 액세스) | PostRepository |
| ViewModel (비즈니스 로직) | postProvider (StreamNotifier) |
| View (UI 레이어) | HomeScreen, PostScreen |
- MVVM (Model-View-ViewModel) 패턴 적용
- Repository 패턴으로 데이터 액세스 계층 분리
- ViewModel을 통한 비즈니스 로직 처리
- Provider를 통한 의존성 주입