ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Android] 주소록 App 만들기 - 마무리 & KPT 회고
    안드로이드 2024. 4. 30. 12:44

    📝 프로젝트 소개

    - 구현한 기능

    1. Contact
      • TabLayout, ViewPager2, FloatingActionButton을 활용하여 사용자 인터페이스를 구성
      • 탭 전환(TabSwitch) 클릭 이벤트를 통해 사용자의 상호작용을 처리
    2. Contact List
      • RecyclerView와 Adapter를 이용해 연락처 리스트를 동적으로 표시
      • 사용자가 좋아하는 연락처에 대해 즐겨찾기 기능을 제공
    3. Contact Mypage & Contact Detail
      • ClipboardManager, PopupMenu, Intent를 사용하여 다양한 기능을 제공 (전화, 문자, 링크 접속 및 정보 복사)
    4. Contact Dialog & Schedule Dialog
      • DialogFragment를 사용하여 사용자 입력을 받는 다이얼로그를 구현
      • 입력된 정보에 대한 유효성 검사 및 갤러리에서 이미지 선택 가능

     

    - 와이어프레임 (Figma)

     

     

    👩‍👧‍👧 팀 플랜

    - 역할 분담

    • 팀장: TabLayout와 ViewPager, data class 구현 및 관리
    • 팀원 1(나): 연락처 추가 (AddContactDialogFragment), 스케줄 추가 (AddScheduleDialogFragment)
    • 팀원 2 : 상세 정보 (ContactDetailFragment), 마이 페이지 (MyPageFragment)
    • 팀원 3: 상세 정보 (ContactDetailFragment), 마이 페이지 (MyPageFragment)
    • 팀원 4: 연락처 리스트 (ContactListFragment)

     

    - 협업 약속

    • Git 브랜치 전략:
      • develop 브랜치에 직접 푸시하는 것을 금지
      • 모든 브랜치 병합은 Pull Request를 통해 이루어짐
      • PR은 적어도 한 명 이상의 팀원의 승인이 필요
      • branch 명 : feat/기능 구현 페이지 명, refactor/기능 구현 페이지 명
    • Git 컨벤션:
      • "커밋 타입: 커밋 내용"
      • feat: 새로운 기능 추가
      • fix: 버그 수정, 병합 시 충돌 해결
      • refactor: 1) 코드 간소화, 중복된 로직 제거 2) 파일의 삭제, 이동 및 이름 변경
      • add: resource등 파일 추가
      • style: 사용자 UI 디자인 변경 시
      • etc..

     

    ⚙️ 앱 시연 영상

     

    📜 제작 과정

    • 4/22: 프로젝트 기획 단계
      • 기능 및 구현 사항 분석.
      • 와이어프레임 및 UI/UX 디자인.
      • 기술 스택 선정 및 역할 분배.
    • 4/22 ~ 4/24: 개발 진행
      • Git과 칸반 보드를 사용하여 의견을 문서화하고 공유.
    • 4/24: 테스트 및 리팩토링
      • 기능 통합 후 코드 병합과 함께 테스트 진행.
    • 4/25: 최종 병합
      • main 브랜치로의 병합 작업 후 시연 영상 제작 및 공개.

     

    📋 KPT 회고

      < 팀 피드백 >
    튜터님 피드백 UI 이쁘게 잘 만들어주셨습니다. 목표한 일정대로 개발이 잘 되었는데, 일정 스케줄링이나 코드 관리를 하는 역할을 맡는 사람이 있다면 파트 분배가 더 잘 됐을 것 같습니다.

    리사이클러 업데이트 시, 노티파이데이터셋체인지를 다 콜하고 있습니다. 리사이클러 뷰에는 아이템 업데이트를 하는 함수들이 여러 개가 있는데, 전부 시도해 보면서 각 차이를 느껴보셨으면 좋겠습니다.

    ocreate()에서 함수로 관련 로직들을 분리해 봤으면 좋겠습니다.

    어댑터에서 뷰홀더를 참조 해제할 때, 메모리 누수 문제를 해결해 보면 좋겠습니다.

    전체적으로 일정대로 잘하셨습니다. 수고하셨습니다.
    Keep - Pull Request 전에, 코드 리뷰를 하고 서로의 승인을 받기
    - 피그마를 적극적으로 사용해서 UI 구현하기
    - 화면 공유하기
    - 모르는 것이 있을 때, 바로 질문하기
    Problem • 문제점 : 정한 일정 안에 개발 및 병합을 완료하지 못한 점
    • 해결 방안 : 문제가 생길 수 있음을 염두하고 일정을 짜기

    • 문제점 : 팀원과의 소통이 원활하지만은 않았던 점
    • 해결 방안 : 화면 공유(or 웹캠)은 항상 켜두고, 일정이 있을 경우 미리 팀원에게 공지하기(이미 팀 약속에는 적어놨지만 잘 지켜지지 않았던 것 같음)
    Try - 개인 외출 시에 팀원들과 소통을 하도록 노력해보기
    - 일정 스케줄링이나 코드 관리를 하는 역할을 맡는 사람 정하기
    - 함수로 관련 로직 분리하는 과정까지 해보기
      <개인 피드백 (느낀점)>
    팀장 고생 많으셨습니다!!
    팀원 1(나) Pull Request 규칙을 정하고 준수하니 병합 시, Conflict가 적었습니다. 좋은 Git 협업 방법을 배우게 되어서 좋았습니다. 팀원분들 모두 고생 많으셨습니다. 😊
    팀원 2 3주동안 코딩이나 협업 과정 등 배워가는게 많았습니다. 적극적으로 참여해주신 팀원분들 고생 많으셨습니다 🙂
    팀원 3 팀 프로젝트를 하면서 저의 부족함을 많이 깨닫고 경각심을 가질 수 있게되었습니다
    팀원분들덕분에 무사히 프로젝트를 마칠 수 있었습니다 감사합니다!
    팀원 4 많은 걸 배운 것 같습니다 고생해주신 팀원분들께 감사합니다
    • Keep : 이번 프로젝트에서 진행한 과정 중 다음 프로젝트에서도 유지했으면 하는 부분.
    • Problem
      • 문제점 : 이번 프로젝트에서 발생한 문제점을 객관적으로 판단
      • 해결 방안 : 해당 문제점을 해결할 수 있는 현실적인 방안 제시
    • Try : 다음 프로젝트를 위해 해야 할 노력
Designed by Tistory.