Welcome to Auction Arc's Repository 🥳! This is a hobby project made Hardik Mutha and Aryan Mehta to explore and refine our skills in fullstack development.
Auction Arc is a place where anyone from the world can log on and offer their product for sale. It is focussed on auctions where users can bid until a certian date, after which the product is sold to the highest bidder.
-
-
Real-time bid updates using WebSockets or polling
-
Dynamic bid history per product
-
Bid validation based on current highest bid and auction timing
-
-
-
Sellers can create and delete auction items
-
Upload multiple images with product details (title, description, base price, etc.)
-
Set auction end times
-
-
-
Secure sign-up and login
-
JWT-based session handling
-
Role-based access control (e.g., admin, seller, bidder)
-
-
-
Bidders can view their active and past bids in dashboard
-
Each product stores an array of bid IDs for quick access
-
Admins/sellers can monitor bid activity
-
-
-
Countdown timers on product pages
-
Automatic auction status update once time expires
-
-
- Users can bookmark auctions they're interested
Follow these steps to set up and run the project on your local machine:
git https://github.com/HardikMutha/AuctionArc.git
cd AuctionArccd client
npm installcd ../server
npm installCreate a .env file in both the client and server directories.
PORT=8080
MONGO_STRING=<YOUR_MONGO_DB_STRING>
SECRET_HASH_STRING="secret string here"
CLOUDINARY_CLOUD_NAME=<YOUR_CLOUDINARY_NAME>
CLOUDINARY_API_KEY=<YOUR_CLOUDINARY_API_KEY>
CLOUDINARY_API_SECRET=<YOUR_CLOUDINARY_API_SECRET>
SECRET_HASH_STRING="theslyfoxjumpedoverthelazydog"
VITE_BACKEND_URL="http://localhost:8080"
VITE_SUPABASE_URL=<YOUR_SUPABASE_URL>
VITE_SUPABASE_ANON_KEY="<YOUR_SUPABASE_ANONYMOUS_KEY>"
cd server
npm startcd ../client
npm run devThe client will be available at http://localhost:5173 and will communicate with the backend at http://localhost:8080.
- Frontend -- React, Tailwind CSS, TypeScript
- Backend -- Express, JWT, MongoDB,Node.js
- Realtime -- Supabase Realtime
- Deployment -- Vercel
We welcome contributions from the community! If you'd like to help improve this project, follow the steps below to get started:
-
Fork this repository and clone it locally:
git clone https://github.com/YOUR_USERNAME/YOUR_FORK.git cd YOUR_FORK -
Follow the instructions above to run the project locally
- Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name-
Make your changes and ensure everything works as expected.
-
Commit your changes with a clear message:
git commit -m "Add your message here"- Push your branch to your fork:
git push origin feature/your-feature-name-
Open a Pull Request from your branch to the main branch of the original repository.
-
Describe your PR clearly — mention what you changed, why you did it, and any issues it closes.
-
Any Improvements in UI/UX or color-schemes are encouraged as designing is not our forte.
-
Make sure your code follows the project's coding standards.
-
Add tests for new features or bug fixes.
-
Document your code where necessary.
-
Create clear, descriptive commit messages.





