Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qetiproject/auction-app
https://github.com/qetiproject/auction-app
express mongodb nodejs
Last synced: 8 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/qetiproject/auction-app
- Owner: qetiproject
- Created: 2024-04-04T13:20:17.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-04-05T13:51:06.000Z (8 months ago)
- Last Synced: 2024-04-05T15:31:50.994Z (8 months ago)
- Topics: express, mongodb, nodejs
- Language: JavaScript
- Homepage:
- Size: 2.97 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.txt
Awesome Lists containing this project
README
Გააკეთედ აუქციონის API
Გააკეთედ აუქციონის აპლიკაციის api, აპლიკაციის მთავარი ფუნქციონალი შემდეგია
user შეეძლებათ დადონ პროდუქტები გასაყიდათ აუქციონზე, და სხვა user ებს შეეძლებათ რომ იყიდონ პროდუქტები აუქციონის პრინციპით
Აუქციონის მუშაობის პროცესი
User შეუძლია რომ დადოს bid სასურველ პროდუქტზე bid მეტი უნდა იყოს საწყის ფასეზე მინიმუმ 50 ლარით ან თუ უკვე არსებობს სხვა ბიდები ბოლო ბიდზე მეტი უნდა იყოს ასევე 50 ლარით
Იმარჯვებს user ვისი ბიდის შემდეგაც გავა ერთი საათი, თუ ბოლო ბიდიდან გავიდა ერთი საათი product owner შეეძლება რო გამოაცხადოს აუქციონი დახურულად და ამ დროს users ვინც დადო ბოლო ბიდი wonProducts:[] ჩაემატება მოგებული პროდუქტიUSER
Მომხმარებლის ობიექტის სტურუქტურა{
_id: ”მომხმარებლის აიდი”,
username: ”სახელი”,
wonProducts: [{product}],
sellProducts: [{product}],
role: [“bidder”, ”seller”]
}// Create User
POST: /api/users - მომხმარებლის შექმნისთვის განკუთვნილი რექვესთი რომელმაც უნდა შექმნას მომხამრებელი username ის და role პარამეტრის გადცემით
DELETE: /api/users/:userId მომხმარებლის წაშლის რექვესთი
GET: /api/users/:userId ერთი მომხამრებლის წამოღებაProduct
Პროდუქტის ობიექტის სტურუქტურა{
_id: ”მომხმარებლის აიდი”,
title: ”პროდუქტის სახელი”,
basePrice: 1200,
bids: [],
sold: false,
seller: {user}
}Create product
post /api/products - გასაყიდი პროდუქტის შექმნა აუცილებელი ველებია title,basePrice,sellerMark as sold
put /api/products - პროდუქტის გაყიდულად გამოცხადება, აუცილებელი ველია product, გაყიდულლად გამოცხადება შეიძლება მხოლოდ მაშინ თუ ბოლო ბიდიდან გასულია მინიმუმ 1 საათიBid Structure
ბიდის სტურქტურა
{
Product: პროდუქტი,
Bidder: ვინც დაბიდა,
Amount: რამდენი დაბიდა,
createdAt: როდის დაბიდა
}Create bid
Post /api/bids - აუცილებელი ველებია product, bidder, amount
Get /api/bids/:productId - ბიდების წამოღება უნდა შეგვეძოს მხოლოდ პროდუქტის ჭრილშიᲛონახაზი make as sold ფუნქციონალის
/api/close/auction/:productIdConst lastbid = Product.bids[product.bids.length - 1]
Const bidTime = Product.bids[product.bids.length - 1].createdAt
if(date.now() - bidTime > 1hour) {
Product.closed = true;
Lastbid.bidder.wonProducts.push(product)
}