Skip to content

NOEL-code/madcamp_4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

177 Commits
 
 
 
 
 
 
 
 

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

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors