Task create a web auction application for an antique items seller. The application will allow users to bid on antique items displayed in the site and admin users to set up items for auction. Product management and auctioning are within the scope of the application; shopping cart and payment integration are not.
The ability to activate the auto-bidding will be possible in the Item detail page. A user can activate auto-bidding by clicking on a checkbox in the item detail page aside the Bid now button.
The next time someone else makes a bid on the marked item, the bot should automatically outbid them by 1. Configuring the Auto-bidding The Auto-bidding parameters can be configured by the user in a separate page (you can choose at your discretion how to display / show the configurations page). These parameters are listed below:
- Maximum bid amount (showing the maximum amount the bot can use for auto-bidding purposes)
Note: This maximum amount will be split between all items where we have activated auto-bidding.
Important Note: Be mindful of the concurrency issues with auto-bidding!
The backend part is in the api
folder, next is all the instruction
for running it:
cd api/
cp .env.example .env
. Then set the environment variables according to your project needs.composer install --no-scripts --ignore-platform-reqs
sail up -d
sail artisan key:generate
sail artisan storage:link
sail composer update
sail artisan key:generate && sail artisan migrate:refresh && sail artisan passport:install
To take care of the concurrence of the bids, the controller receive the requests then go to a queue and sequentially get processed in a different thread, so the client immediately get responded (optimistically).
You can find the documentation for insomnia
https://insomnia.rest/download in
documentation/insomnia.json
folder