앱스쿨 5기 떡잎마을방법대 최종 프로젝트
|
프로젝트 기간: 2024/07/22 ~ 2024/09/13
노션 링크: https://likelion.notion.site/2c740f9ccfe34ca7946635f9e08bdb1e
시연 영상: https://likelion.notion.site/9a016890fead49e09bc8295471c6b302
이융의(팀장) | 박지혜(부팀장) | 김영훈 | 조아라 | 차지용 |
---|---|---|---|---|
맵, 총괄 | 채팅, 알림 | 약속, 채팅 | 게시물 | 로그인, 프로필 |
@iyungui | @jihyeep | @kyhlsd | @arachocho | @wldyd2113 |
- Swift 5.10
- Xcode 15.4
- iOS 17.0
- Figma, Github, Notion
- iOS: UIKit
- Server: Firebase
- Software Architecture: MVVM
- SPM, FCM, Kingfisher
게시물 리스트 |
맵 |
채팅 |
약속 |
프로필 |
---|---|---|---|---|
- 위치 기반 가까운 곳의 새싹 돌봄이를 찾는 / 자원하는 게시물 리스트 표기
- 사진, 거래 희망 위치 지원하며 수정 및 삭제 가능
- 새싹 돌봄이를 찾는 / 자원하는 사용자들을 지도로 표기하며 게시물과 연동
- 약속 만들기 전까지 500m 안 랜덤 표기로 위치 정보를 보호
- 다른 사용자와의 실시간 채팅을 제공해 돌봄 서비스를 도움
- 사진, 카메라, 약속 정하기 기능을 제공하며 알림 설정 유무에 따라 푸시 알림 지원
- 원활한 서비스 이용을 위해 약속 시간, 장소를 정할 수 있는 기능을 제공
- 약속은 채팅방에 표기되며 알림 설정 유무에 따라 푸시 알림 지원
- 프로필 이미지, 닉네임(중복 체크), 나의 위치 수정 가능
- 레벨 시스템, 돌봄 후기 등을 통한 신뢰도 확인
이융의 [@iyungui](https://github.com/iyungui)
- 데일리 회의로 팀원들의 상황을 파악해 소통하고 조율할 수 있었다.
- 맵 기능 구현 시 발생한 문제들을 신속히 해결해 일정에 맞춰 완료했다.
- 다른 팀원들의 작업을 도와주는 과정에서 작업 분배가 불균형 및 비효율적이라 느꼈다.
- 일부 기능에서 커뮤니케이션 부족으로 작업이 지연된 경우가 있었다.
- 기능 별로 작업 범위와 예상 기간을 명확하게 나눠 중복 작업을 줄일 것.
- 서드파티 라이브러리(Tuist) 도입을 통해 효율적으로 프로젝트를 관리할 것.
- 회의 시간을 조금 줄이고, 비동기적으로 진행 상황을 체크해 시간 효율을 높일 것.
박지혜 [@jihyeep](https://github.com/jihyeep)
- 화면 기획 및 DB 설계 이후 개발을 진행해 수정되는 내용이 적어지고 소통이 원활했다.
- 처음 개발하는 기능이나 해결하기 어려운 오류에도 포기하지 않고 해결함으로 개발 역량을 키울 수 있었다.
- 다양한 디자인 패턴을 고려하지 못하고 MVVM으로 바로 진행해 올바르게 적용하지 못했다.
- 시간 내 완성을 목표로 하다보니 비효율적인 코드가 많아졌다.
- 다양한 디자인 패턴을 적용해보고 앱에 적합한 패턴을 찾아 올바르게 적용할 것.
- 효율적인 비동기 작업 처리를 위한 프레임워크나 의존성 주입 등에 대한 리팩토링을 진행할 것.
김영훈 [@kyhlsd](https://github.com/kyhlsd)
- 화면 별 기능들을 미리 구상하고 역할을 나눠, 중복되거나 유사한 기능들을 서로 코드를 참고하며 개발 시간을 단축할 수 있었다.
- 외부 라이브러리 사용에 관해 공유가 빨라 전체적으로 적용해 성능 향상에 도움이 되었다.
- 기한이 다가올 수록 동작하는데만 급급한 코드를 작성하게 되어 비효율적인 코드가 늘어났다.
- 예상하지 못했던 오류들을 접해서 해결하긴 했지만 시간이 지연되어 다른 기능들에 충분한 시간을 투자하지 못했다.
- 아키텍처 관련해 공부하고 적용해볼 것.
- 해결하지 못한 기능과 다른 해야할 기능들 사이의 균형을 잡아 적절하게 시간을 분배할 것.
조아라 [@arachocho](https://github.com/arachocho)
- 초기에 타임라인을 나누어 작업을 시작해 효율적인 개발 진행에 도움이 되었다.
- 원활히 소통하며 아이디어를 자유롭게 제안할 수 있었고, 머지를 서로 진행하며 관련 공부가 되었다.
- 해결되지 않는 문젤르 혼자 오랜 시간 해결하려다보니 시간이 지연되었다.
- 코드 작성 시 충분히 이해하지 못하고 빌드하는데 집중하여, 추후 수정 시 수정에 어려움을 겪음
- 다른 팀원들의 코드도 이해하여 프로젝트 전체적인 흐름을 숙지할 것.
- 개인적인 트러블슈팅 내용도 적극 공유하여 함께 해결할 것.
차지용 [@wldyd2113](https://github.com/wldyd2113)
- 커밋 컨벤션을 미리 정해서 양식에 맞게 작성했다.
- 명세서를 작성하고 개발하니 편리함이 있었다.
- MVVM 패턴을 명확하게 적용하지 못했다.
- 중복된 코드들이 많아 복잡하고 비효율적이었다.
- MVVM 명확하게 이해하고 적용할 것.
- 코드 재사용을 통해 효율적인 코드를 작성할 것.