Skip to content

yetJunior/guhaejojibsa-frontend

Repository files navigation

🐶 구해줘 집사

🐾 프로젝트 주제

반려동물 케어 매칭 서비스

⌛️ 프로젝트 요약

분류 내용
주제 반려동물 관련
인원 5
기간 2023.08.09 ~ 2023.xx.xx
배포 링크 🌐link

📝️ 프로젝트 자료

분류 내용
API 문서 링크 📗link
서버 모니터링 🖥️link
프로젝트 문서 📝link
예제 동영상 📹link
발표자료(ppt) 📝link
GitHub 🌃back, 🏙️front

Backend Deploy Frontend Deploy



기획 배경

  • 휴가철마다 버려지는 반려동물 🐶
  • 반려동물을 케어하기 어려운 1인 가구 반려인 🐱
  • 대학생의 90%가 반려동물 관련 아르바이트를 선호 😋
  • 부족한 일자리 문제 해결 😥

기대 효과

  • 바쁜 현대인을 위한 케어링 전문가 매칭 🐾
  • 취미에서 수익까지 이어지는 효과 기대 💸
  • 일자리 창출 효과 💡

🔨개발 환경 - 기술 스택

개발 언어 :
개발 프레임 워크:
라이브러리 :
데이터베이스 :
도구 :
배포 :
사용 기술 :


👥 팀원 소개


ER 다이어그램

ER-Diagram

플로우 차트

Flowchart

시퀀스 다이어그램

Sequence Diagram

배포 구성도

Deploy Diagram

아키텍쳐 구성도

Architecture Diagram


개발 내용

유저

  • 회원가입, 로그인, 개인 화면 수정 기능을 제공
  • 네이버,구글 oauth2 로그인 기능을 제공(처음 회원가입을 하는 유저에게만 추가적인 정보입력을 할 수 있도록 함)
  • 로그인시에 유저 캐싱에 저장을 하여 반복된 유저의 접근시에 레디스에서 유저를 캐싱하여가져올 수 있도록 함
  • 로그인 시에 엑세스토큰과 레디스를 이용한 리프레시 토큰을 발급하여 로그인은 유지할 수 있도록 함

게시글

  • 모든 유저는 게시글을 작성할 수 있음
  • 게시글 작성시에는 사진(s3),게시글(mysql-rds)에 저장이 됨
  • 만약 판매자가 접근하면 게시글을 수정 및 삭제가 가능함
  • 게시글 상세보기를 클릭하면 리뷰와 함께 게시글 확인이 가능함
  • 게시글 내에서 주문, 채팅, 신고등 다양한 기능으로 연결이 됨

주문

  • 결제 이후 진행하는 과정으로 주문 과정을 진행
  • 결제완료후에 판매자가 구매 확정을 클릭하여야 실제 프로세스가 진행가능함(배달의 민족 주문 확인과 같은 기능)
  • 해당 확인 과정 이후에는 구매자는 취소를 하지 못하고 프로세스가 진행됨
  • 프로세스 진행완료후 주문완료 버튼을 클릭하며 리뷰를 작성할 수 있음

채팅

  • WebSocket STOMP, Redis(pub/sub),Redis(data저장)를 이용해 구현
    • 채팅방과 채팅에 관한 데이터를 저장 후 활용
      • 채팅 기록이 있는 유저와 매칭되면 전에 있던 채팅 데이터를 불러옴
  • 구매자가 게시글을 통해 판매자에 대한 채팅방 생성 및 채팅 전송
    • 이때 채팅방 생성은 이전에 동일한 유저와의 기록이 있다면 같은 채팅방을 반환함
  • 채팅을 통해 구매자와 판매자 간의 시간, 날짜 등 의견 조율
  • 협의 완료 후 주문을 진행하여 결제를 진행함

결제

  • 구매자는 판매자의 게시글을 통해 물건 혹은 서비스 구매 가능
  • 결제를 위해 토스 페이먼츠 API 활용
  • 핵심적으로 요청, 인증, 승인 단계를 거침
    • 요청
      • 서버로부터 구매자의 유저 정보와 구매를 희망하는 제품 및 서비스의 정보를 받아 결제 요청 정보를 입력받는 단계
      • 구매자는 위젯을 통해 카드사를 선택하고 신용카드 정보를 입력
    • 인증
      • 구매자가 선택한 결제 수단인 카드사에서 진행
      • 카드사가 요청받은 결제 정보, 즉 고객의 신용카드 정보와 결제 금액을 확인해서, 이 거래가 유효하며 결제를 허용해도 되는지 확인하는 과정
    • 승인
      • 인증된 결제를 카드사에 승인해달라고 요청하는 과정
      • 인증 결과로 돌아온 파라미터로 요청
      • 승인이 성공해야 판매자는 구매자에게 상품이나 서비스를 제공
      • 카드사나 은행은 결제 금액을 구매자에게 청구하기 때문에 실제로 결제가 마무리되는 단계
  • 검증
    • 서버에서 카드사에 결제 요청 및 인증 단계 전에 결제할 데이터를 임시 저장
    • 해당 데이터를 바탕으로, 실제 거래가 이루어지는 승인 단계 과정 전에 결제 예정 금액과 비교 검사
    • 이를 통해 결제 과정 중에 발생한 가격 변동 등의 비정상적인 접근을 방지

후기

  • 구매자는 판매자가 주문 상태를 주문 완료(END) 상태로 업데이트 후 후기 작성 가능
  • 기능 : 후기 작성, 수정, 삭제
    • 후기 작성 : 후기 내용, 별점, 이미지 첨부 가능.
      이미지 ➡️ S3 저장
      내용, 별점 데이터 ➡️ MySQL 저장
    • 후기 수정 : 내용, 별점, 이미지 수정 가능.
      변경 사항 없을 시 원본 데이터 그대로 재작성
    • 후기 삭제 : Soft Delete 개념으로 삭제 시 데이터의 상태를 "DELETE"로 변경 후 조회되지 않도록 구현

신고

  • 유저는 타 유저의 불건전한 게시글과 리뷰를 신고
  • 관리자는 신고 조회 및 관리 가능
  • 상태 값 : { '검토중', '해결됨', '거절됨' }

🔼 버전 정보

1️⃣ Ver 1.0 (23/08/09 ~ 23/09/15)

  • 게시글 기능 (판매만 등록 가능)
  • 게시글을 통한 상품 구매 가능 (토스 API 사용)
  • 게시글을 올린 유저와 채팅 기능 (Redis Pub/Sub 사용, WebSocket 사용)
  • 게시글의 리뷰 작성 기능
  • 게시글 및 리뷰 신고 기능
  • 소셜 로그인 기능 (Google/Naver)

2️⃣ Ver 1.1 (23/09/25 ~ 23/10/31)

  • 게시글 구매/판매 태그 추가
  • 게시글 기간 추가
  • HTTPS 적용
  • 결제 시 영수증 출력 기능 추가
  • 환불 및 취소 기능 추가

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages