/HonJaRang

자취생들을 위한 네트워크 형성을 목적으로 한 웹 커뮤니티

Primary LanguageJava

Logo

🏚😊 혼자랑 😊🏚

📢 서비스 소개

자취생들을 위한 네트워크 형성을 목적으로 한 웹 커뮤니티

🤔 기획 배경

1인 가구의 증가하는 현실 속에서 그들의 불편함을 듣게 되었습니다. 배송비 및 배달비의 부담, 도움 요청의 어려움, 타지 생활로 인한 외로움 등이 주요 고민이었습니다. 혼자랑은 편리한 서비스를 가진 커뮤니티로서, 자취생들의 삶의 질 향상에 기여하고자 하였습니다.

💻 주요 기능

  1. 화상 채팅 서비스(혼밥/술, 도움, 자유, 게임, 스터디)

  2. 공동배달 및 공동구매 모집 기능, 중고거래 기능 (장터)

  3. 장터에서 사용가능한 실시간 채팅 기능

  4. 1인 가구를 위한 꿀팁 및 게시판 기능

  5. 위치기반 편의시설 확인 기능

메인

마이페이지

공동배달

공동배달가게검색

공동배달장바구니

공동구매

중고거래

공동구매채팅

게시판

편의시설조회

화상

📜 시연 시나리오

공동 배달

  • 모집자가 공동 배달 할 가게와 최소 목표금액, 배달비 등을 설정해서 글 작성을 합니다.
  • 사용자는 회원가입 시 입력한 주소의 10km 반경 이내의 공동 배달을 모집하는 가게들의 글을 볼 수 있습니다.
  • 원하는 가게가 있다면 참여하기 버튼을 통해 모집자가 작성한 글의 상세페이지에 갈 수 있습니다.
  • 사용자는 메뉴 리스트에서 원하는 메뉴를 선택하여 수량을 정해 장바구니에 담을 수 있습니다.
  • 이때 가격*수량만큼의 포인트가 차감되므로 포인트가 부족할 경우엔 장바구니에 담을 수 없습니다.
  • 동일한 글에서 장바구니에 처음 메뉴를 담을 때만 선배달비 1,000포인트가 차감됩니다.
  • 이때 글 작성자의 경우엔 장바구니에 메뉴를 담아도 포인트가 차감되지 않습니다.
  • 메뉴를 담은 참여자들만 장바구니 목록 조회가 가능합니다.
  • 장바구니 목록에서 메뉴별 삭제가 가능합니다.
  • 목표 금액 달성 후 마감시간이 끝나면 글 작성자는 메뉴 리스트를 보고 주문합니다.
  • 참여자들은 채팅을 통해 다 같이 정확한 수령 장소 및 시간을 정하며 대화를 나눌 수 있습니다.
  • 수령 후 작성자 제외 수령확인 버튼을 누르면 글 작성자에게 주문한 모든 메뉴만큼의 포인트가 충전됩니다.
  • 참여자들은 화상채팅 방을 만들어 함께 얘기하며 식사를 즐길 수 있습니다.

공동 구매

  • 모집자가 공동 구매할 상품과 목표 금액을 설정해서 글 작성을 합니다.
  • 사용자는 회원가입 시 입력한 주소의 10km 반경 이내의 공동 구매를 모집하는 글을 볼 수 있습니다.
  • 사용자는 상품 설명과 지도에서 만남 장소가 확인 가능합니다.
  • 원하는 상품이 있다면 참여하기 버튼을 통해 모집자가 작성한 글의 상세페이지에 갈 수 있습니다.
  • 사용자는 수량을 정해 구매를 할 수 있으며 보유 포인트가 (상품*수량) + (배송비/목표인원) 보다 많아야 구매가 가능합니다.
  • 참여자는 구매를 하면 참여자 목록 확인이 가능합니다.
  • 목표 인원 달성 후 마감시간이 끝나면 글 작성자는 수량을 보고 주문합니다.
  • 참여자는 채팅을 통해 다 같이 정확한 시간을 정하며 대화를 나눌 수 있습니다.
  • 수령 후 작성자 제외 수령확인 버튼을 누르면 글 작성자에게 수량만큼의 포인트가 충전됩니다.

중고 거래

  • 구매자는 참여하기 버튼을 통해 판매자가 작성한 글을 보고 1 대 1 채팅을 할 수 있습니다.
  • 구매자가 구매를 하면 판매 완료로 바뀝니다.

채팅

  • 1 대1 채팅과 단체 채팅이 있습니다.
  • 다른 사용자의 닉네임을 누르면 사용자 페이지로 가며 채팅 버튼을 눌러 1 대 1로 채팅이 가능합니다.
  • 공동배달, 공동구매 참여시 단체 채팅이 가능합니다.
  • 채팅 목록 확인이 가능하며 목록에서 미확인한 채팅방에는 확인 못한 메시지 개수가 표시됩니다.
  • 다른 창에 있을 경우 크롬에서 채팅 알림이 나와 놓치지 않고 채팅 이용이 가능합니다.

화상채팅

  • 화상채팅 카테고리에는 자유, 도와주세요, 혼밥/혼술, 게임, 스터디가 있습니다.
  • 방은 선택한 카테고리가 위치하는 곳에 생성됩니다.
  • 최대 8명이서 가능합니다.
  • 화상 채팅방에서는 음성 on/off, 카메라 on/off가 가능하며 실시간 채팅을 통해서도 즐길 수 있습니다.

게시판

  • 게시판 카테고리에는 자유, 꿀팁이 있습니다.
  • 사용자들은 각 카테고리에 맞는 글을 작성하고 볼 수 있습니다.
  • 작성자는 글 수정, 삭제가 가능합니다.
  • 사용자는 좋아요, 댓글 쓰기 및 삭제가 가능합니다.
  • 검색어 입력으로 제목에서 같은 키워드가 있을 경우 검색이 가능합니다.
  • 관리자는 게시글 중에서 공지로 등록할 수 있으며 등록한 글은 게시글 목록에서 최상단에 위치하게 됩니다.

지도

  • 지도에서는 사용자가 회원가입 시 입력한 위치 기반으로 편의시설 조회가 가능합니다.
  • 은행, 마트, 약국, 카페, 편의점 조회가 가능하며 한 번에 15개씩 볼 수 있습니다.

📚 기술 스택

Backend
  • Java 17
  • Spring Boot 3.1.1
  • MySQL 8.0.34
  • MongoDB 6.0.8
  • Redis 6.2.6 e
  • RabbitMQ 3.13.0
  • OpenVidu 2.28.0
  • AWS S3
  • AWS SES
  • Firebase
Frontend
  • React 18.2.0
  • Redux 4.2.1
  • Redux Toolkit 1.9.5
  • OpenVidu 2.28.0/li>
  • stompjs 2.3.3
  • tailwind CSS
  • Firebase
IDE
  • IntelliJ IDEA Ultimate 2023.2
  • Visual Studio Code 1.81
CI/CD
  • Jenkins 2.419
  • Nginx 1.25.1
  • AWS EC2
  • SSL
  • Docker
  • Kubernetes

와이어프레임

공통_와이어프레임


ERD

공통_ERD


아키텍처

공통_아키텍처


🗓 프로젝트 진행 기간

2023.07.04(월) ~ 2023.08.18(금) (약 7주)

🏆 팀원 소개

  • 김현지(팀장, FE) : 공동배달, 중고거래, 페이지 디자인

  • 김재욱(FE리더) : WebRTC, 공동구매, 마이페이지, 게시판

  • 김동혁(FE) : 회원관리, 지도, 채팅

  • 박세훈(BE리더) : 인증, 공동 구매, 공동 배달, 채팅, 서버 아키텍처 설계, 인프라 구축

  • 이효진(BE) : 중고거래, 회원관리, 게시판

  • 차재호(BE) : 리버스 프록시 구축, WebRTC, 게시판