Skip to content

kiwi85547/function

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,089 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🌟 서비스 소개

  • 'FUNCTION' 은 "경매"를 통해 상품을 거래하는 플랫폼입니다
  • "긴장감 넘치는 경매의 스릴"울 추구하며, 타임어택 경매 ⏳를 통해 경매가 종료되면, 당첨여부를 바로 확인 가능합니다
  • 당첨된 후에는 판매자와 채팅을 통해 구매를 확정할 수 있습니다

👨‍👨‍👧‍👦 팀원 소개

Da Hee Kim

Ye Been Kim

Jin A An

Hwa Yeong Joe

Jeong Yun Heo

⛓ 기술 스택

Backend :  Java, Spring Boot, MyBatis

Frontend : React, Vite, Node.js

Server :  AWS EC2

Management : Git, GitHub, Notion

Database : AWS S3, MariaDB, Docker

⭐️ 주요 기능

회원가입 및 로그인

email_signup

  • 회원가입
    • 클라이언트가 입력한 정보를 바탕으로 회원을 DB에 저장합니다
    • 입력 정보가 양식에 맞는지 정규 표현식으로 검증합니다
    • 이메일과 닉네임이 중복이 아닌지 확인합니다
    • 휴대폰 번호로 인증번호를 보내 유효한 휴대폰 번호인지 확인합니다
    • 개인정보 수집 동의 여부를 확인합니다
    • 모든 항목이 확인되었을 때만 회원 가입이 가능합니다

email_login

  • 로그인
    • 클라이언트가 제공한 이메일과 비밀번호로 회원을 조회합니다.
    • 이메일과 비밀번호로 회원임이 검증되면 JWT 토큰을 발급합니다.
    • 발급된 JWT 토큰은 LocalStorage에 저장되어 axios 요청이 발생할 때마다 서버에 전달됩니다
    • JWT 토큰의 정보를 Context에 저장하여 사용자 정보를 애플리케이션 전역에서 사용합니다.

상품 경매

상품

  • 경매 참여
    • 경매를 참여하기 전에 모달을 띄워 경매 참여 시 유의사항을 보여줍니다.
    • 경매를 계속 참여할 수 있으며 계속 마지막으로 참여한 가격이 경매에 참여한 가격이 됩니다.
    • 입찰 금액을 입력하면 시작가보다 같거나 높기 전까지 경고 메세지를 띄웁니다.
    • 해당 상품의 경매에 처음 참여할 경우 참여 인원이 변경됩니다.

낙찰 여부 확인

낙찰여부확인

  • 경매 참여 후 낙찰 여부 확인
    • 경매 참여 후 낙찰 여부는 마이 페이지 입찰내역에서 볼 수 있습니다.
    • 낙찰 성공 : 낙찰 성공 벳지로 알려주고 거래하기 버튼을 클릭하면 판매자와의 채팅으로 이어집니다.
    • 낙찰 실패 : 낙찰 실패 벳지로 알려줍니다.

채팅

채팅 목록

  • 채팅 목록
    • 사용자가 참여 중인 채팅방 목록 조회
    • 상품 제목 클릭 시 상품 페이지로 이동
    • 닉네임 클릭 시 닉네임 상점(상대의 판매 목록)으로 이동
    • 삭제된 상품이나 탈퇴한 회원은 클릭 비활성화
    • 마지막 대화부터 현재까지 얼마나 지났는지 표시
    • 안 읽은 메세지 표시
      • 안 읽은 메세지 클릭 시 안 읽은 메세지 카운트 사라지며, 상대측은 전송됨 표시 사라짐
    • 메세지 클릭 시 1 : 1 채팅 방 생성 및 STOMP 활성화

1대1채팅 후기

  • 1:1채팅
    • 채팅방 입장 시 STOMP 활성화, <(뒤로가기) 클릭 시 STOMP 비활성화
    • 두명의 사용자 간의 실시간 1:1 채팅 가능
    • 채팅 전송 시 상대방이 안 읽은 상태면 “전송됨” 표시
    • 실시간으로 상대측에서 메세지 읽고 답장 시 “전송됨" 소멸
    • 상품명 클릭 시 상품 페이지로 이동
    • 닉네임 클릭 시 닉네임 페이지로 이동
    • 채팅방 나가기 클릭 시 메인 화면으로 이동 및 STOMP 비활성화
      • 한 명만 나가기 버튼을 누르면 다른 사용자는 채팅방 유지, 두 명 모두 나가기를 하면 메세지&채팅방 삭제

후기

  • 후기
    • 결제까지 완료한 입찰자는 후기 등록 가능
    • 본인이 작성한 후기 조회 가능
    • 결제 완료한 구매자(입찰자)가 보낸 후기 조회 가능

문의 게시판

FAQ_gif

  • FAQ (자주 하는 질문)
    • 자주 묻는 질문들이 카테고리별로 정리되어 있습니다.
    • 질문을 클릭하면 답변이 나타나며, 여러 개의 답변을 한번에 볼 수 있습니다.
    • ‘맨 위로’ 버튼을 누르면 화면이 맨 위로 스크롤 됩니다.

사진확대,이전글다음글gif

  • 1:1 문의게시판
    • 비밀글을 작성할 수 있고, 본인이 쓴 비밀글만 읽을 수 있습니다.
    • 관리자만 답변을 달 수 있으며, 목록에서 답변 상태를 확인할 수 있습니다.
    • 첨부한 사진을 크게 확대하여 볼 수 있습니다.
    • 이전글, 다음글 버튼을 통해 다음글을 확인할 수 있습니다.

자유 게시판 댓글

게시판

  • 자유게시판 댓글 리스트
    • 해당 게시물에 댓글 작성이 가능합니다.
    • 댓글 리스트 밑에 위치한 ‘답글쓰기’를 클릭하면 답글 입력창이 나타납니다.
    • 답글을 작성하면 순서에 따라 위치에 따라 정렬됩니다.
    • 무한으로 답글을 작성할 수 있습니다.
  • 부가 기능
    • 메뉴를 클릭하면 수정 및 삭제가 가능합니다.
    • 취소 버튼을 누르면 답글 창이 닫힙니다.
    • 프로필 사진을 클릭하면 상점으로 이동합니다.

📆 서비스 개발 개요

기획 의도

  • 사용자들이 원하는 상품을 얻기 위해 보이지 않는 경쟁을 함으로써 긴장감과 재미를 줍니다.
  • 판매자에게는 처음 상품을 올린 가격(시작가)보다 더 높은 가격에 팔 수 있는 기회, 구매자에게는 원하는 상품을 더 저렴하게 구매할 수 있는 기회를 제공합니다.
  • 비공개 입찰을 통해 경매 방식으로 거래하는 차별화된 방식입니다.

개발 일정

  • 총 진행 기간: 2024.06.03 ~ 2024.07.04 ( 32일 )
  • 설계 기간: 2024.06.03 ~ 2024.06.05 ( 와이어 프레임, ERD, API)
  • 피드백 반영 기간: 2024.06.06 ~ 2024.06.22 ( 17일 )
  • 화면 / 기능 구현, 테스트 기간 : 2024.06.23 ~ 2024.07.04 ( 12일 )

와이어 프레임

와이어프레임

ERD

전체 erd

🖼 사용 기술 스택

기술 스택

🔨기술 선정 Why ?

  • Spring Boot
    • 내장된 톰캣 서버와 다양한 패키지를 통해 RESTful 웹 서비스를 구축할 수 있습니다.
  • AWS EC2
    • 가상 서버를 사용하여 애플리케이션의 실행 환경을 제공합니다. 웹 애플리케이션, 데이터베이스 서버 등 다양한 형태의 애플리케이션을 호스팅합니다.
  • AWS S3
    • 데이터의 내구성이 높고 높은 가용성을 제공하여 데이터 손실 없이 안정적으로 저장할 수 있어 파일을 저장할 때 사용합니다.
  • Docker
    • 애플리케이션을 컨테이너화하여 개발, 테스트, 배포를 진행하였습니다.
  • Websocket
    • 클라리언트와 서버 간의 실시간 양방향 통신을 가능하게 하여 채팅을 할 수 있도록 하였습니다.
  • STOMP
    • Websocket을 통해 메시징 프로토콜을 구현하여 백엔드에서는 메시징 브로커와의 통신을 담당하고, 프론트엔드에서는 실시간 메시지 송수신을 처리합니다.
  • MariaDB
    • MySQL 기반으로 오픈 소스 관계형 데이터베이스 관리 시스템으로 최적화된 쿼리를 작성할 수 있습니다.
  • React
    • 사용자 인터페이스 구축을 위한 JavaScript 라이브러리로 컴포넌트 기반 구조를 통해 빠른 렌더링과 재사용성을 제공합니다. 단일 페이지 애플리케이션 개발할 때 적합하며, 라우팅, 상태 관리, 데이터 흐름 등을 간편하게 관리할 수 있습니다.

⚙ 개발 환경 및 IDE

  • Spring Boot 3.2.6
  • Java 21.0.3
  • React 18.2.0
  • Docker 26.1.1

🎞 최종산출물

발표 자료 및 영상

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors