Skip to content

600GramsMarket/HangeunMarket

Repository files navigation

header

Hits



Introduction

'당'신 '근'처의 마켓, 당근 마켓🥕 클론 코딩 프로젝트
'한'성대 '근'처의 마켓, 한근 마켓🍖

'한근 마켓'은 파이어베이스와 안드로이드 활용능력을 기르기 위한, 2023-2 고급 모바일 프로그래밍 기말 대체 사이드 프로젝트입니다.
당근마켓의 이름 뜻인 '당'신 '근'처의 마켓에서 아이디어를 따와,'한'성대 '근'처에서 한성대 학생들끼리 중고거래를 한다는 컨셉으로 이름을 지었습니다.

1. 회원가입 / 로그인

  • Email / Password를 이용한 회원가입

    • 사용자로부터 Email, Password, 이름, 소속, 등의 정보를 입력받아 회원가입을 진행합니다.
    • 회원가입은 Firebase Authentication를 통해 이루어지며, 사용자 정보는 Firebase Realtime Database에 저장됩니다.
  • Email / Password를 이용한 로그인

    • Firebase Authentication를 이용하여 사용자가 입력한 이메일과 비밀번호가 유효한지 확인 후, 로그인을 승인합니다.
1.mp4
default.mp4

2. 게시글 등록/수정/삭제

  • 게시글 등록

    • 사용자로부터 등록할 물건의 사진과 정보를 전달받아 이미지는 Firebase Storage에 글 정보는 Firebase RealtimeDatabase 업로드합니다.
    • 게시글의 업로드로 인해 Firebase Realtime Database에 변화가 발생하면, LiveData의 observe를 통해 즉각적으로 반영됩니다.
    • 게시글의 사진은 Glide라이브러리를 통해 얻어옵니다.
  • 게시글 수정/삭제

    • 게시글 수정은 현재 로그인한 계정과 게시글의 작성자가 동일한 경우에만 승인됩니다.
    • 사용자와 판매자가 동일하지 않은 경우에만 거래 제안하기 버튼이 활성화 됩니다.
    • 게시글 수정버튼을 눌러서 상품 이미지를 포함한 상품 정보를 수정할 수 있습니다.
    • 작성자가 동일할 경우 수정/삭제 팝업메뉴가 활성화되고, 동일하지 않을 경우 신고 메뉴가 활성화됩니다.
    • 신고 기능은 별도로 구현되지 않았으며, 계정이 다를경우에 대한 차별성을 두기 위해 제작하였습니다.
    • 게시글 상품 상태를 판매중 상태와 판매 완료 상태로 변경 가능하며, 메인 페이지에서 확인 할 수 있습니다.
    • 판매중,판매완료 상태와 상품의 거래 위치 정보, 가격 정보 등은 검색을 통해 필터링할 수 있습니다.
default.mp4
default.mp4

3. 채팅(거래 제안)기능

  • Firebase RealtimeDatabase 를 활용한 채팅기능
    • 상품의 구매 희망자는 판매자와 1대1 채팅이 가능합니다.
    • 사용자의 채팅이 실시간으로 반영되어 보여집니다.
default.mp4

4. 상품 필터링 기능

  • 상품 필터링 검색 기능
    • 왼쪽의 장소 선택을 통해, 상품의 거래 위치를 선택할 수 있습니다.
    • 오른쪽 상단의 돋보기를 눌러 상품의 상태(판매완료/판매중)와 가격 범위를 선택받아 원하는 상품 검색이 가능합니다.
default.mp4



🔨Used Skill