Skip to content

Hritvik-Mohan/Auction-Project

Repository files navigation

Auction-Project

Online Auction System


An e-commerce website where people would go to sell or buy stuff but an online auction is a process of buying and selling goods and different kinds of things where products don’t have a clear price.

So the interested buyers would offer a bid. A bid is an offer of a certain price that someone is willing to pay for a particular product in the auction. Offering a bid and taking the highest bid. And then selling the particular item to the highest qualified bidder.

It’s a place that holds auctions on the internet. It's a platform that is a mediator for two kinds of people. The seller and the buyer or the bidder. The seller is someone who creates a listing for placing their product in the auction according to his needs. And the buyer is someone who sees items they are interested in, they can bid for that item. And the highest bid wins that particular item listed in the auction.



Setting up the app locally

Prerequisites

  • NodeJS v20.11.1
  • Install git as you will need git bash later on to set up mongoDB locally if you are using windows.
  • MongoDB v7.0.2 - Windows Setup
  • nodemon npm module.
  • Cloudinary account for uploading images.
  • Email service for sending emails(Recommended yahoo mail, use app password given by yahoo)
  • MongoDB Compass(optional)
  • Stripe account for payment(optional).

Next Steps

  1. Clone the repository
  2. Install the dependencies
npm install
  1. Run the app in devlopment environment:
  • Go to configs foleder, cd configs
  • Create a dev.env file inside the configs folder
    • On mac using terminal touch dev.env
    • On windows using git bash touch dev.env
    • or simply just create the file mannualy.
  • Add following environment variables to the file:
NODE_ENV=development
PORT=3000
MONGODB_CONNECTION_STRING=<This is required if you intend to host your db online>
MONGODB_LOCAL_CONNECTION=mongodb://localhost:27017/auctionDB
JWT_SECRET=<JWT secret of your choice>
JWT_EXP=7d
SIGN_COOKIE=<Sign cookie of your choice>
CLOUDINARY_CLOUD_NAME=<Your cloudinary cloud name>
CLOUDINARY_KEY=<Your cloudinary key>
CLOUDINAY_SECRET=<Your cloudinary secret>
MAIL_ACC=<Your yahoo email account for sending mails>
MAIL_PASS=<Your yahoo app password generated by yahoo>
STRIPE_TEST_TOKEN=<Your stripe test token>
STRIPE_WEBHOOK_SECRET=<Your stripe webhook secret>
SKIP_EMAIL_VERIFICATION=true # Set this to true if you want to skip email verification

2.1 If you want to skip setting up email verification then remember to set

SKIP_EMAIL_VERIFICATION=true
  1. Finally start the app
npm run devstart

Contributing

Contributors 👥



Connect with us on Discord