Skip to content

NOEL-code/madcamp_4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

AUCTION

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

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

프로젝트 소개

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


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

Member

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

Stack

  • Programming Language: JavaScript
  • Frontend : HTML CSS React
  • Backend : Node.js MongoDB Express
  • 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 1 Image description 2 Image description 3
  • 슬라이더: 롤렉스를 돌려보세요! 광고 클릭 시 세부페이지로 이동
슬라이더 실시간 랭킹 실시간 랭킹
  • 실시간 랭킹: 최다 관심순, 높은 응찰가순

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


SHOP

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

ADD

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

MY

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

LOGIN/REGISTER

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

DETAIL

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

게임 페이지

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

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

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

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

API 명세서 📄

API Method URL Description Request Header Request Body Response Error
Users API POST /api/users/register 사용자 회원가입 - {"userEmail": "string", "userPassword": "string", "name": "string", "phoneNumber": "string"} {"accessToken": "string", "refreshToken": "string"} 400 Bad Request, 500 Internal Server Error
Users API POST /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 API POST /api/users/logout 사용자 로그아웃 Authorization: Bearer - {"message": "Logged out successfully"} 500 Internal Server Error
Users API POST /api/users/refresh-token 리프레시 토큰으로 새로운 엑세스 토큰 반환 - {"refreshToken": "string"} {"accessToken": "string"} 401 Unauthorized, 403 Forbidden
Users API GET /api/users/accountBalance/:userId 사용자의 계좌 잔고 조회 Authorization: Bearer - {"balance": "number"} 500 Internal Server Error
Users API GET /api/users/:userId 사용자 정보 조회 - - {"id": "string", "userName": "string"} 500 Internal Server Error
Products API GET /api/products 모든 상품 조회 - - [{"productId": "string", "productName": "string", "price": "number", "description": "string", "dueDate": "date", "userId": "string", "category": "string", "productPhotos": ["string"]}] 500 Internal Server Error
Products API GET /api/products/:productId 특정 상품 조회 - - {"productId": "string", "productName": "string", "price": "number", "description": "string", "dueDate": "date", "userId": "string", "category": "string", "productPhotos": ["string"]} 500 Internal Server Error
Products API GET /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 API GET /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 API POST /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 API PUT /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 API DELETE /api/products/:productId 상품 삭제 Authorization: - {"message": "Product deleted successfully"} 500 Internal Server Error
Products API GET /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 API POST /api/bid/:productId 입찰하기 Authorization: Bearer {"bidderId": "string", "bidAmount": "number"} {"message": "Bid placed successfully"} 500 Internal Server Error
Bids API POST /api/bid/close/:productId 낙찰하기 Authorization: Bearer {"userId": "string"} {"message": "Bid closed successfully"} 500 Internal Server Error
Bids API PUT /api/bid/sameScore/:productId 같은 가격으로 낙찰 Authorization: Bearer - {"message": "Bid updated successfully"} 500 Internal Server Error
Bids API GET /api/bid/game/:productId 게임 정보 가져오기 Authorization: Bearer - {"game": {...}} 500 Internal Server Error
Bids API POST /api/bid/create/game 게임 만들기 Authorization: Bearer {"productId": "string", "users": [{"userId": "string", "score": "number", "isComplete": "boolean"}]} {"message": "Game created successfully"} 500 Internal Server Error
Bids API PUT /api/bid/update/score 게임 점수 업데이트 하기 Authorization: Bearer {"productId": "string", "userId": "string", "score": "number"} {"message": "Score updated successfully"} 500 Internal Server Error
Bids API POST /api/bid/game/close 게임 종료 Authorization: Bearer {"productId": "string", "winnerId": "string", "loserIds": ["string"], "bidAmount": "number"} {"message": "Game closed successfully"} 500 Internal Server Error
Likes API POST /api/likes/:productId 좋아요 누르기 Authorization: Bearer - {"message": "Like added successfully"} 500 Internal Server Error
Likes API DELETE /api/likes/:productId 좋아요 취소하기 Authorization: Bearer - {"message": "Like removed successfully"} 500 Internal Server Error
Likes API GET /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 API POST /api/alarms 알람 저장 - {"userId": "string", "title": "string", "content": "string"} {"message": "Alarm saved successfully"} 500 Internal Server Error
Alarms API DELETE /api/alarms/:alarmId 알람 삭제 - - {"message": "Alarm deleted successfully"} 500 Internal Server Error
Alarms API GET /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

Watchers

Forks

Releases

No releases published

Packages

No packages published