This project aims to create a safe, modular, and easily accessible E-Commerce Auction Website/System. The system will support two different auction types: Forward Auction and Dutch Auction.
Find full report document here
In a Forward Auction, the seller sets an initial price, and bidders compete by offering higher prices. Bidders need to increase their maximum bid until the set time ends. The highest bidder at the end of the auction will acquire the listed item.
In a Dutch Auction, the user listing the item starts with a higher price. This initial price is usually set too high, and the user decrements the price until bids that are higher or equal to the reserved price are placed. The auction ends when either the reserved price is reached or the time ends.
Our project focuses on creating a highly compatible front-end and back-end system. We aim to develop an efficient, secure, and fast auctioning system that users can rely on anytime and anywhere. To achieve this, we will be utilizing Next.js, a React framework known for its modular architecture. Next.js allows us to add extra features along the way without affecting the entire project. This means we can design each React component independently, almost equivalent to user cases.
NOTE: We have a docekrized microservice that is deployed and this app uses it to enable the ai assistance features. That microservice was deleted in the latest push to github as it caused issues in deployed the app to vercel. It is a seperate container anyways and should not live in the same container anyways. If you want to check the code for that, please refer to earleir commits, or test the docker image here
- Supabase:
- Choosing a free, flexible and scalable database for handling large volumes of data.
- Npm/Yarn:
- Opting for a fast and secure package manager for efficient dependency management.
- NextJs (NextAuth):
- Selecting a robust framework for building dynamic and server-rendered React applications with integrated authentication.
- React.js with Javascript:
- Using a powerful and popular library for building interactive user interfaces.
- Tailwind CSS:
- Leveraging a utility-first CSS framework for rapid and customizable UI development.
- Stripe:
- Integrating a reliable and developer-friendly payment processing solution.
NOTE: to run this program, you need to have access to the database. After you follow the steps below and install the project, create a new
.env.loca
file in the root directory. Paste the below piece of code inside and fill the variable values by the info we send you. Paste the values directly. Do not put double or single quotes around.
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
To run the project locally, follow these steps:
- Clone the repository:
git clone
- Navigate to the root directory:
cd ./FullstackAuctionStore
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Access the website at http://localhost:3000
- to run tests:
npx jest
NOTE: to run this program, you need to have nodejs and npm installed. Install latest version here