Skip to content

Latest commit

History

177 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AUCTION

자유롭게 경매로 물건을 거래할 수 있는 플랫폼입니다. 당근마켓과 크림이 하지 못하는 것을 저희는 합니다.

슬라이더실시간 랭킹알람 기능기타 기능
총 네가지 탭으로 구성 → HOME / SHOP / ADD / MY

프로젝트 소개

몰입캠프 우수작 선정 프로젝트


> 개발 기간: 1주
> 개발 인원: 2명

Member

안지형정우성
@ahnji0520@NOEL-code

Stack

  • Programming Language: JavaScript
  • Frontend : HTMLCSSReact
  • Backend : Node.jsMongoDBExpress
  • Infra : AWS

프로젝트 시작하기

Version

Node.js v22.4.0
npm v10.8.1

Installation

$ git clone https://github.com/NOEL-code/madcamp_4
$ cd madcamp_4

frontend

$ cd frontend
$ npm install
$ npm run start

backend

$ cd backend
$ npm install
$ npm run start

서비스 소개


HOME

Image description 1Image description 2Image description 3
  • 슬라이더: 롤렉스를 돌려보세요! 광고 클릭 시 세부페이지로 이동
슬라이더실시간 랭킹실시간 랭킹
  • 실시간 랭킹: 최다 관심순, 높은 응찰가순

    실시간 랭킹
  • 알람 기능: 낙찰 성공/실패 알람, 응찰 현황 알람, 게임 입장 알람


SHOP

실시간 랭킹 - 검색 / 카테고리 / 인기순 정렬

ADD

슬라이더실시간 랭킹
  • 상품 등록 페이지

MY

슬라이더 - 잔고, 관심상품, 판매내역, 구매내역 확인 가능

LOGIN/REGISTER

슬라이더실시간 랭킹
  • 로그인 및 회원가입

DETAIL

  • 현황 및 상세 정보 확인 가능, 사진 클릭 시 전체비율로 확인 가능
슬라이더실시간 랭킹실시간 랭킹
슬라이더실시간 랭킹실시간 랭킹
  • 판매자: 낙찰하기 버튼
  • 그 외: 응찰하기 버튼

게임 페이지

  • 동점자 O: 게임 페이지로 이동

    • 판매자와 동점자들만 게임 페이지 열람 가능
    • 동점자들이 모두 게임을 완료하면 판매자가 낙찰하기를 누르고, 가장 높은 점수를 획득한 사람에게 낙찰됨
  • 동점자 X: 바로 낙찰

  • 낙찰에 실패한 사람들에게는 환불되고, 판매자의 계좌는 낙찰 금액만큼 늘어나며 낙찰자의 경우 낙찰 금액만큼 줄어듦.

실시간 랭킹
슬라이더슬라이더실시간 랭킹
실시간 랭킹실시간 랭킹

API 명세서 📄

APIMethodURLDescriptionRequest HeaderRequest BodyResponseError
Users APIPOST/api/users/register사용자 회원가입-{"userEmail": "string", "userPassword": "string", "name": "string", "phoneNumber": "string"}{"accessToken": "string", "refreshToken": "string"}400 Bad Request, 500 Internal Server Error
Users APIPOST/api/users/login사용자 로그인-{"userEmail": "string", "userPassword": "string"}{"accessToken": "string", "refreshToken": "string", "resUser": {"id": "string", "phoneNumber": "string", "name": "string", "balance": "number", "favorites": "array"}}401 Unauthorized, 403 Forbidden, 500 Internal Server Error
Users APIPOST/api/users/logout사용자 로그아웃Authorization: Bearer -{"message": "Logged out successfully"}500 Internal Server Error
Users APIPOST/api/users/refresh-token리프레시 토큰으로 새로운 엑세스 토큰 반환-{"refreshToken": "string"}{"accessToken": "string"}401 Unauthorized, 403 Forbidden
Users APIGET/api/users/accountBalance/:userId사용자의 계좌 잔고 조회Authorization: Bearer -{"balance": "number"}500 Internal Server Error
Users APIGET/api/users/:userId사용자 정보 조회--{"id": "string", "userName": "string"}500 Internal Server Error
Products APIGET/api/products모든 상품 조회--[{"productId": "string", "productName": "string", "price": "number", "description": "string", "dueDate": "date", "userId": "string", "category": "string", "productPhotos": ["string"]}]500 Internal Server Error
Products APIGET/api/products/:productId특정 상품 조회--{"productId": "string", "productName": "string", "price": "number", "description": "string", "dueDate": "date", "userId": "string", "category": "string", "productPhotos": ["string"]}500 Internal Server Error
Products APIGET/api/products/user/:userId유저가 올린 상품 리스트 조회--[{"productId": "string", "productName": "string", "price": "number", "description": "string", "dueDate": "date", "userId": "string", "category": "string", "productPhotos": ["string"]}]500 Internal Server Error
Products APIGET/api/products/likedProductList/:userId유저가 좋아요를 누른 상품 리스트 조회--[{"productId": "string", "productName": "string", "price": "string", "description": "string", "dueDate": "date", "userId": "string", "category": "string", "productPhotos": ["string"]}]500 Internal Server Error
Products APIPOST/api/products상품 저장Authorization: Bearer {"productName": "string", "price": "number", "description": "string", "dueDate": "date", "userId": "string", "category": "string", "productPhotos": ["string"]}{"message": "Product saved successfully"}500 Internal Server Error
Products APIPUT/api/products/:productId상품 수정Authorization: Bearer {"productName": "string", "price": "number", "description": "string", "dueDate": "date", "userId": "string", "category": "string", "productPhotos": ["string"]}{"message": "Product updated successfully"}500 Internal Server Error
Products APIDELETE/api/products/:productId상품 삭제Authorization:-{"message": "Product deleted successfully"}500 Internal Server Error
Products APIGET/api/products/successBid/user/:userId유저가 낙찰받은 상품 리스트 조회--[{"productId": "string", "productName": "string", "price": "number", "description": "string", "dueDate": "date", "userId": "string", "category": "string", "productPhotos": ["string"]}]500 Internal Server Error
Bids APIPOST/api/bid/:productId입찰하기Authorization: Bearer {"bidderId": "string", "bidAmount": "number"}{"message": "Bid placed successfully"}500 Internal Server Error
Bids APIPOST/api/bid/close/:productId낙찰하기Authorization: Bearer {"userId": "string"}{"message": "Bid closed successfully"}500 Internal Server Error
Bids APIPUT/api/bid/sameScore/:productId같은 가격으로 낙찰Authorization: Bearer -{"message": "Bid updated successfully"}500 Internal Server Error
Bids APIGET/api/bid/game/:productId게임 정보 가져오기Authorization: Bearer -{"game": {...}}500 Internal Server Error
Bids APIPOST/api/bid/create/game게임 만들기Authorization: Bearer {"productId": "string", "users": [{"userId": "string", "score": "number", "isComplete": "boolean"}]}{"message": "Game created successfully"}500 Internal Server Error
Bids APIPUT/api/bid/update/score게임 점수 업데이트 하기Authorization: Bearer {"productId": "string", "userId": "string", "score": "number"}{"message": "Score updated successfully"}500 Internal Server Error
Bids APIPOST/api/bid/game/close게임 종료Authorization: Bearer {"productId": "string", "winnerId": "string", "loserIds": ["string"], "bidAmount": "number"}{"message": "Game closed successfully"}500 Internal Server Error
Likes APIPOST/api/likes/:productId좋아요 누르기Authorization: Bearer -{"message": "Like added successfully"}500 Internal Server Error
Likes APIDELETE/api/likes/:productId좋아요 취소하기Authorization: Bearer -{"message": "Like removed successfully"}500 Internal Server Error
Likes APIGET/api/likes좋아요 목록 조회Authorization: Bearer -[{"productId": "string", "productName": "string", "price": "number", "description": "string", "dueDate": "date", "userId": "string", "category": "string", "productPhotos": ["string"]}]500 Internal Server Error
Alarms APIPOST/api/alarms알람 저장-{"userId": "string", "title": "string", "content": "string"}{"message": "Alarm saved successfully"}500 Internal Server Error
Alarms APIDELETE/api/alarms/:alarmId알람 삭제--{"message": "Alarm deleted successfully"}500 Internal Server Error
Alarms APIGET/api/alarms/user/:userId알람 목록 조회--[{"_id": "string", "userId": "string", "title": "string", "content": "string", "createdAt": "date"}]500 Internal Server Error

마무리

이렇듯 AUCTION은, 자유로운 경매 거래를 통해 사용자들이 더 나은 거래 경험을 할 수 있도록 도와주는 어플리케이션입니다. 다양한 기능을 통해 경매를 쉽게 관리하고 추적할 수 있어, 사용자에게 더욱 편리한 거래 환경을 제공합니다. 경매의 재미와 긴장감을 느끼며 새로운 거래 방식을 경험해보세요!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages