2024.05.13 - [◽️ Programming/T I L] - [Project 일지] 단어장 앱 만들기 (1)
2024.05.14 - [◽️ Programming/T I L] - [Project 일지] 단어장 앱 만들기 (2)
2024.05.15 - [◽️ Programming/T I L] - [Project 일지] 단어장 앱 만들기 (3)
2024.05.16 - [◽️ Programming/T I L] - [Project 일지] 단어장 앱 만들기 (4)
2024.05.19 - [◽️ Programming/T I L] - [Project 일지] 단어장 앱 만들기 (5)
2024.05.20 - [◽️ Programming/T I L] - [Project 일지] 단어장 앱 만들기 (6)
오늘은 3번째 팀프로젝트가 마무리 되어 KPT 회고를 남겨두려고 한다!
- ProJect : TURTLE VOCA
- ProJect 일정 : 24.05.13 ~ 24.05.24
- ProJect 인원 : 4명
- ProJect 링크 : https://github.com/SijongKim93/Vocabulary
- ProJect 시연 : https://www.youtube.com/watch?v=-2Fh_SXVbxI
- 사용 툴 : Notion , Figma , Github , Swift , Xcode , FireBase
- 프로젝트 구조
내가 구현한 기능
- 로그인 / 회원가입 페이지
- 영화 목록 페이지
- 영화 검색 페이지 (Search Bar 구현)
- Calendar 기능 구현
- 단어 필터링 기능 구현
- 마이페이지 기능 구현
- TTS(Text To Speech) 기능 구현
- Kakao Talk 소셜 로그인 구현
- UserDefault를 사용한 유져 데이터 저장 구현
- 단어 외우기 기능 구현
- 예외 상황 처리
와이어프레임
단어장 / 단어 추가 페이지
단어장
구현 기능 - 단어장 및 단어 저장, 수정, 삭제 / Notification , viewDidAppear , CoreData, PHPickerView , AVFoundation , AVSpeechSynthesizer , DeepL API , DiffableDataSource , Combine
단어장을 추가할 수 있고 추가된 단어를 삭제 수정가능하며, AVSpeechSynthesizer를 활용해 TTS 기능으로 활용성이 높아졌다.
DiffableDataSource를 활용해 더욱 유연한 구성이 가능했고 API 에서 가져온 값을 Combine을 활용해 실시간 연동될 수 있도록 구현되어있다.
단어 퀴즈 페이지
단어 퀴즈
구현 기능 - FlashCard , Quiz , HangMan 게임 구현
단어장을 선택해 선택한 단어장 내 단어를 활용해 게임을 진행할 수 있다. 그냥 외우는 것 보다 게임을 통해 학습력을 더욱 향상시킬 수 있도록 구현하였다.
단어 기록 페이지
게임을 진행한 내용이 기록으로 남겨지도록 구현한 페이지로 이용자가 진행한 게임의 목록과 기록을 확인할 수 있다.
캘린더 페이지
캘린더
구현 기능 - UICalendar , didSelect , decorationFor , didSelectDate 활용
캘린더 내 특정 날짜를 선택할 수 있으며, 선택한 날짜에 저장된 단어만 모아 확인할 수 있다.
선택한 날짜 내 데이터가 존재한다면 decorationFor 내 거북이를 띄워 지속적인 학습의 목표를 가질 수 있도록 구현했다.
캘린더 단어장
특정 날짜를 선택하면 해당 날짜에 저장된 데이터가 담기며, 단어장 구분 없이 날짜 기준으로 단어가 정리되어 들어간다.
단어장만 크게 볼 수 있도록 편의성있게 구현되어있으며, 필터를 넣어 원하는 정렬 방식으로 변경이 가능하도록 했다.
마이페이지
마이페이지 기록
총 저장된 단어의 갯수와 내가 외웠다고 생각한 단어의 갯수를 카운트해 확인할 수 있으며, 게임을 진행한 횟수도 확인이 가능하다.
내가 얼마나 저장하고 외웠는지 알 수 있도록 구현하였다.
소셜로그인 및 iCloud 연동
소셜 로그인이 가능하도록 애플 , 카카오톡 로그인을 구현해 넣어두었다. 또한 앱이 삭제될 경우 현재 저장된 단어가 모두 날아가므로 이를 보완하기 위해 iCloud에 데이터를 저장하거나 불러오기가 가능하도록 구현했다.
프로젝트 회고
튜터님 피드백
KPT 회고
Keep
- 다양한 예외 상황을 생각하고 해당 내용을 처리한 점
- 추기 기능 구현에 대한 끊임없는 고민
- 프로젝트 진행 과정 중 팀원들과 원활한 의사소통
Problem
- 코드 컨벤션 세부 디테일 설정
- 초기 디자인, 기능 구체화 및 세부화
- 초기 프로젝트 파일 구현 시 세팅 미흡으로 인한 문제 발생
Try
- 앱스토어 출시 도전
- 지속적인 유지보수를 통한 앱 완성도 상승
- 로그인 기능을 활용해 커뮤니티 기능 구현 고민
- 더 많은 소셜 로그인 기능 구현
- 위젯 및 Notification 구현
이렇게 2주간 진행되었던 팀프로젝트도 끝이 났다 ㅎㅎ 제출 날짜는 끝이 났지만 아직 만족스럽지 않거나 보완하고 싶은 부분이 있어 팀원들 모두 더욱 구현 할 수 있도록 개발을 진행할 예정이고 지속적으로 유지보수를 진행 할 예정이다.
이번 프로젝트를 통해 이전보다 더 심도있는 기술 및 구현을 가져간 것 같아 많이 배우고 느낄 수 있는 프로젝트였다.
앞으로 남은 최종 프로젝트까지 잘 마무리가 됐으면 좋겠다. 🙂
'◽️ Programming > Project 회고' 카테고리의 다른 글
[Project] 여행 기록 앱 만들기 KPT 회고록 (0) | 2024.07.12 |
---|---|
[Project] 영화 앱 만들기 KPT 회고록 (0) | 2024.05.06 |
[Project] 키오스크 KPT 회고록 (0) | 2024.04.08 |