Skip to content

madcamp-KAIMARU/week-1

Repository files navigation

빵빵이와 친구들


Outline


혹시 이 알고리즘을 아시나요?

image

대전 하면 성심당이고, 성심당 하면 대전이죠. 말로만 듣던 성심당에 같이 갈 친구를 찾고 있는 여러분들을 위해 이 앱을 만들었습니다.

🍞 ‘빵빵이와 친구들’을 이용해서 빵을 같이 먹을 빵친에게 전화를 걸고, 새로운 빵친을 구하는 모집글을 작성해보세요! 빵 랭킹을 확인하고 나만의 평점과 후기를 남겨 다양한 빵을 경험해볼 수 있습니다😄 🍞

Team


이승주 : Tab1, Tab3 구현

<iframe src="https://github.com/leesju0103" frameborder="0" style="width:100%; height:500px;"></iframe>

신민철 : Tab2, Tab3 구현

<iframe src="https://github.com/minchurl" frameborder="0" style="width:100%; height:500px;"></iframe>

Tech Stack

Front-end : Kotlin

IDE : Android Studio

Version Control Tool : Git (GitHub)

About


세 개의 탭은 각각 빵친 리스트, 빵먹으러 갈 사람~, 성심당 랭킹으로 구성되어 있습니다.

Tab 1: 빵친 리스트

빵을 같이 먹을 빵친의 이름과 전화번호를 확인할 수 있는 탭


tab1_recording.webm

  • 연락처 목록 : 접근 권한을 허용받으면 휴대폰의 주소록에서 연락처를 불러와 리스트로 보여줍니다. 이름과 전화번호를 확인할 수 있습니다.
  • 연락처 추가 : 연락처 추가 버튼을 누르면 다이얼로그에서 이름과 번호를 입력하여 새로운 빵친 연락처를 추가할 수 있습니다.
  • 연락처 수정 : 연락처 수정 버튼을 누르면 기존 빵친 연락처를 수정할 수 있습니다.
  • 연락처 상세정보 : 리스트에서 연락처를 클릭하면 기본 전화 어플로 연결되어 바로 연락을 할 수 있습니다.
  • 연락처 검색 : 저장된 연락처의 이름으로 검색할 수 있습니다.
  • 연락처 삭제 및 동기화 : 연락처를 빵친 리스트에서 삭제할 수 있고, 동기화 버튼을 누르면 휴대폰의 주소록과 동기화하여 모든 연락처를 불러오는 작업을 진행합니다.

Tab 2: 빵먹으러 갈사람~

새로운 빵친을 구하는 포스트를 확인할 수 있는 탭


tab2-새 포스트 생성.webm

tab2-참여.webm

  • 빵 사진 나열 : 인스타그램 돋보기와 같이 3열로 빵 사진을 나열합니다. 각 칸에 맞도록 사진을 보여줍니다. 각 사진은 빵 먹으러 갈 사람을 구하는 포스트를 대표하는 사진입니다.
  • 빵 포스트 상세보기 : 사진을 클릭하면 사진이 팝업되며, 빵 먹으러 갈 사람을 구하는 포스트의 상세 정보가 나옵니다. 빵 포스트에서 간단한 설명과 날짜, 위치, 인원을 확인할 수 있습니다.
  • 빵 포스트 생성 : 사용자는 빵 먹으러 갈 사람을 구하는 빵 포스트를 생성할 수 있습니다. 포스트에 필요한 사진은 사용자 폰에 저장된 사진 또는 카메라로 직접 찍은 사진을 업로드할 수 있습니다. 또한 포스트의 목적을 담은 설명과 함께 날짜와 최대 참가자 수, 만남 장소를 입력하여 포스트를 생성합니다.
  • 빵 포스트 참가 관리 : 포스트의 “참여하기” 버튼을 눌러 빵 먹으러 갈 사람을 모집하는 빵 포스트에 참가할 수 있습니다. 이미 참여한 포스트의 경우, 빵 사진이 블러 처리되어 보이며, 사진의 우상단에 “참여중”이라는 문구가 표시됩니다. 이미 참여 중인 이벤트의 상세보기에서 “참여중!” 버튼을 누르면 해당 이벤트 참가를 취소할 수 있습니다.

Tab 3: 성심당 랭킹

성심당 빵 랭킹을 확인하고, 나만의 평점과 리뷰를 남길 수 있는 탭


tab3.webm

  • 빵 랭킹 : 성심당 공식 홈페이지에서 가져온 빵 리스트를 RecyclerView로 나열합니다. 빵 대표사진, 이름, 전체 평점, 내 평점 정보를 포함합니다. 이때 보여지는 내 평점은 가장 최근에 매긴 평점에 해당합니다.
  • 빵 검색 및 정렬 : 원하는 빵의 이름으로 검색할 수 있습니다. 정렬 기준은 평점 높은 순, 평점 낮은 순, 가나다순이 있으며, 이 기준에 따라 빵 목록을 정렬할 수 있습니다.
  • 후기 작성 : 작성된 후기가 없는 빵을 클릭하면, 평점과 후기를 작성할 수 있습니다. 평점은 5점 만점이며, 후기는 사진을 첨부하여 자유롭게 작성할 수 있습니다. 작성 후 저장 버튼을 눌러 후기를 저장할 수 있습니다.
  • 작성한 후기 리스트 보기 : 해당 빵에 대한 후기가 있다면, 지금까지 작성한 후기 리스트를 확인할 수 있습니다. 리스트에는 매긴 내 평점과 작성 날짜, 후기 내용과 사진이 포함됩니다. 삭제하고 싶은 후기를 휴지통 아이콘을 클릭해 삭제할 수 있습니다.

APK File

빵빵이와 친구들

  • 스크럼

    06.28 스크럼

    어제까지 한 일

    오늘 할 일

    • 아이디어 기획
    • 작업 분배

    궁금한/필요한/알아낸 것

    • RecycleViewer 이해
    • Github에서 project file을 clone해오니 실행 안되는 현상 발생
      • local.properties에 sdk.dir을 설정해줘야 한다.
      • VC는 local.properties를 추적하지 않음!
      • 따라서, 로컬에서 손수 만들어줘야한다.

    06.29 스크럼

    어제까지 한 일

    • 탭 1 주요기능 구현
      • 접근권한 허용 받을 시 주소록에서 연락처 불러오기
        • Listview로 보여주며, 이름과 번호 확인 가능
      • 연락처 클릭하면 기본 전화 어플로 연결되어 바로 연락 가능
      • 연락처 추가 버튼을 누르면 다이얼로그에 이름, 번호를 입력하여 생성
    • 탭 2 주요기능 구현
      • 인스타 돋보기 같이 빵 사진 나열
        • 3열로 빵 사진 나열
        • 각 칸 틀에 맞도록 사진 나열
      • 사진 터치하면 사진이 팝업되고, 그 아래 사진 description이 뜨도록 만듦
      • 사용자 폰에 있는 사진 업로드 가능
      • 더미 데이터 생성
      • 구현 내용 레포에 업로드

오늘 할 일

  • 연락처와 갤러리 코드 merge, 충돌 시 발생하는 문제 해결
  • 탭 1에서 연락처 삭제 및 검색 기능 추가 구현
  • 탭 2의 사진 팝업 시 사진이 팝업되는 것은 구현. 이때 어떤 정보를 사용자에게 보여줘야 할 지 고민
  • 탭 3 주제 확정 후 구현 구상

궁금한/필요한/알아낸 것

  • Git commit은 최대한 자주 하기. 중간에 작업한 내용이 날라가서 다시 코딩했다.
  • Chat-gpt는 GitHub 레포도 읽을 수 있다.
  • 에뮬레이터 실행이 안될 때 local.properties 확인하자. keeps stopping 에러는 코드에서 발생한 문제일 확률이 크다.

07.01 스크럼

어제까지 한 일

  • 탭 1, 2 디버깅 및 주요기능 구현 완료
    • 연락처 검색 및 삭제 기능 구현
    • 휴대폰 연락처 목록에 있는 번호 불러오는 동기화 기능 추가
  • 탭 3 컨셉 확정 및 구현
    • 성심당 빵 랭킹 탭
    • 성심당 공식 홈페이지에서 빵 리스트를 가져와서 이를 Recycler view로 나열
    • 빵 사진, 빵 이름, 다른사람들의 빵 평점값을 더미데이터로 만듬
    • 각 빵 사진마다 내 평점을 매길 수 있음

오늘 할 일

  • 탭 3 구현 이어서
    • 더미데이터 수정
    • 빵 검색 기능 추가
  • 탭 2 카메라로 바로 연결 가능하도록 구현
  • 탭 1, 2 컨셉에 맞게 UI 수정

궁금한/필요한/알아낸 것

  • 많이 쓰이는 라이브러리 종류
    • Recycler view
    • Glide
  • androix는 android support library를 개선하여 만들어진 것이다
    • androidx로 마이그레이션하거나 하나만 선택해서 쓸 수 있음!!

07.02 스크럼

어제까지 한 일

  • Tab2 수정
    • DummyData 수정: 내가 이미 참여하고 있는 빵 이벤트의 경우, hasJoined를 true로 만들도록 만듬
    • 카메라로 업로드하는 기능 추가: post 추가할 때, 로컬에 있는 이미지 파일 불러오는 것 뿐만 아니라 기기 카메라 이용해서 찍은 사진 바로 가져올 수 있게 함
      • 권한 부여 이슈 발생 → 해결. 궁금한/필요한/알아닌 것 칸 참조
    • 이벤트 참가 버튼 수정
      • hasJoined가 true면 이미 이 이벤트를 참여한 상태이므로 버튼을 join이 아닌 already joined로 보이도록 바꿈
      • join 버튼을 누르면 현재 참여인원을 하나 늘리고, already joined 버튼을 누르면 현재 참여인원을 하나 줄이는 로직 구현
    • Tab2 디자인: Tab1과 동일한 스타일로 구현
  • Tab3 수정
    • 평점 매길 빵 검색할 수 있도록 구현
    • 정렬 기준에 따라 랭킹 순위 볼 수 있도록 번호 매김
  • ‘빵’ 컨셉에 맞게 전체적인 ui 수정

오늘 할 일

  • 앱 이름: 빵빵이와 친구들
  • Tab3 팝업탭 구상 및 구현
    • 이미지가 들어있는 탭을 눌렀을 때, 빵 리뷰 나올 수 있도록 작업
  • 전체적으로 디자인 한번 더 점검
  • Tab2 Shared Preferences 적용
  • 앱 로고 구상 및 스플레시 이미지에 적용
  • README 파일 작성 시작 + 산출물 페이지도 작성 시작

궁금한/필요한/알아낸 것

  • 카메라 이슈
    • 기기 카메라를 사용하여 사진을 업로드 하려면 카메라 권한 뿐만 아니라 저장공간 권한까지 필요하다
    • 카메라 권한은 한번만 사용 / 이 앱을 사용하는 동안 계속 사용 가능 / 사용 불가로 세 가지 권한이 있다
    • 권한 종류가 3개이므로 이를 유의하면서 구현해야 한다.

07.03 스크럼

어제까지 한 일

  • 앱 이름: 빵빵이와 친구들
  • Tab3 팝업탭 구상 및 구현
    • 이미지가 들어있는 탭을 눌렀을 때, 빵 리뷰 나올 수 있도록 작업
  • 전체적으로 디자인 한번 더 점검
  • Tab2 Shared Preferences 적용
  • 앱 로고 구상 및 스플레시 이미지에 적용
  • README 파일 작성 시작 + 산출물 페이지도 작성 시작
  • tab1 추가기능 : 연락처 초성으로 분류

오늘 할 일

  • tab1 추가기능 : 연락처 수정 기능 구현
  • tab1 추가기능 : 연락처 ㄱ, ㄴ, ㄷ로 스크롤
  • tab3 추가기능 : 후기가 없는 빵이면 후기를 작성할 수 있게 하기. 기존에 후기를 작성한 빵이면 후기를 볼 수 있는 페이지 만들기.
  • 테스트
  • README 수정, 앱 시연 사진 올려두기
  • PPT 만들기
  • 발표준비

궁금한/필요한/알아낸 것

  • drawable을 사용하여 Button의 색상, 경계선의 radius 등을 변경하려고 할 때 색깔이 적용되지 않는 문제는 Button 대신 Theme.AppCompat.Light.NoActionBar을 사용하면 된다.
  • 뷰가 다른 뷰에 가려져서 안 보이는 경우가 있음 → elevation 속성을 조절해 뷰의 우선순위를 결정한다.

Releases

No releases published

Packages

No packages published

Languages