[Flutter] 스나이퍼팩토리 Flutter 2차 월말평가

GONG·2023년 6월 29일
0
post-thumbnail

[github 링크]


github - 2차 월말평가 다이어리 앱

개발 과정

1. 기획

  • GitHub 형태의 다이어리 앱 기획

2. 기능명세서 작성

  • 노션에 기능명세서 작성

3. 디자인

  • figma 활용 (링크 -> Dithub

4. 개발

  • Firestore 컬렉션

    • 각 기능별 컬렉션을 만들고, 하위에 uid로 문서를 생성해 uid 문서 안에 List or List<Map<String, dynamic>> 형태로 데이터를 저장

주요 기능

1. 홈 탭

1-1. 캘린더, 다이어리

  • 상단에 ListView.builder를 사용해 현재 팔로우중인 친구들을 나타내고, 하단에 PageView 형식으로 유저별 달력과 일기를 구성

1-2. 다이어리 수정, 삭제

  • 수정 시 이미지가 있는 경우 기존 이미지를 스토리지에서 삭제하고, 새 이미지 업로드 후 제목과 내용을 업데이트 → 마지막으로 다이어리 리스트를 갱신하는 순서로 코드가 진행됨
  • 삭제의 경우에도 이미지가 있을 시 해당 이미지도 스토리지에서 삭제

2. 친구 탭

2-1. 팔로잉 목록, 친구찾기

  • 팔로우 시 firestore의 follow 컬렉션 하위에 uid로 문서가 생성됨.
  • 문서에 List 타입으로 팔로우한 유저의 uid 저장

3. 할일 탭

3-1. 투두리스트

  • 컨트롤러 생성 시에 getTodo 메소드를 호출해 firestore에서 리스트를 불러오고 추가, 삭제 등의 기능을 수행 (todo 길게 눌러서 삭제)

4. 설정 탭

4-1. 프로필 설정

  • 사진 선택, 이름 변경 후 설정하기 버튼 클릭 시 user의 photoURL, DisplayName 업데이트하고 홈화면으로 이동
  • 이동 즉시 바뀐 이름, 사진 확인 가능

4-2. 로그아웃

  • 로그아웃 버튼 클릭 시 확인 다이얼로그 표시
  • 확인 클릭 시 로그아웃 기능 수행

후기

저번주에 팀프로젝트를 끝내고 아주 전에 정리해뒀던거 긁어다 벨로그 쓰고 있는데 지금 다시 보니까 너!!무 허접해서 뭐라 쓸말이 없습니다...
밀린 강의들 해치우느라 월말평가도 3일컷내서 코드를 정말 대충 짯던 기억밖에 나지 않습니다...

firestore 구조에서 일기를 저장할 때 List<Map<String, dynamic>> 타입의 diaryList 말고 각각의 일기를 하나의 문서로 관리했으면 좀 더 보기 좋았을텐데 아쉽ㄴ[ㅔ요

'
위 사진같은 느낌인데 앞 카트에 바퀴도 하나 빠져잇는 앱

그래도 재밋엇다!!!!!!!!!!!!!!!!!!

profile
우와재밋다

0개의 댓글