Welcome to the artechbid! This project is a web application where users can create, view, and bid on artwork. It supports bidding and notifications to keep you updated with the latest bids. 🖌️
- 🖼️ Artwork Creation: Users can create and upload their own artwork.
- 💸 Real-Time Bidding: Bid on artwork created by others.
- 📢 Notifications: Receive notifications if someone outbids you.
- ⏳ Auction Timer: Countdown timer for live auctions.
- 📜 User Profiles: Track your bids and created artworks.
- Frontend: NextJS, ReactJS, Tailwind CSS, ShadCN
- Backend: Firebase (Firestore, Firebase Storage, Cloud Functions)
- Authentication: NextAuth
- Notification System: Firestore triggers and collections
Follow these steps to set up the project locally.
- Node.js (v20+)
- Yarn or npm or pnpm
-
Clone the Repository:
git clone https://github.com/J3E1/artechbid.git cd art-auction-platform
-
Install Dependencies:
yarn install
or
npm install
or
pnpm install
-
Set Up Firebase:
-
Create a new project in the Firebase Console.
-
Add a new web app to your Firebase project.
-
Copy the Firebase config object and paste it into a new file named
firebaseConfig.js
in thesrc
directory:// src/firebaseConfig.js const firebaseConfig = { apiKey: "YOUR_API_KEY", authDomain: "YOUR_PROJECT_ID.firebaseapp.com", projectId: "YOUR_PROJECT_ID", storageBucket: "YOUR_PROJECT_ID.appspot.com", messagingSenderId: "YOUR_MESSAGING_SENDER_ID", appId: "YOUR_APP_ID", measurementId: "YOUR_MEASUREMENT_ID" }; export default firebaseConfig;
-
-
Configure Firestore Rules:
Go to the Firebase Console and navigate to Firestore Database > Rules. Set your rules to:
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /users/{userId} { allow read, write: if true; match /notifications/{notificationId} { allow read, write: true; } } match /artworks/{artworkId} { allow read, write: true; match /bids/{bidId} { allow read, write: true; } } } }
-
Start the Development Server:
yarn dev
or
npm run dev
or
npm dev
Open http://localhost:3000 to view the app in the browser.
- Create an Account: Sign up and create your user profile.
- Add Artwork: Navigate to the 'create' section to upload and create your artwork.
- Bid on Artwork: Browse available artwork and place bids in real-time.
- Notifications: Check your notifications to see if you've been outbid.
- Add user settings and profile customization.
- Add OAuth.
- Implement social sharing features for artwork.
- Enhance the notification system with email alerts.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to the amazing Firebase community for the awesome tools and support.
- Inspired by dribble design.