A modern Buy & Sell Marketplace where users can easily list, browse, and manage second-hand products.
Built with React, Tailwind CSS, Express, Firebase, and MongoDB, this project offers a smooth, secure, and responsive experience — both for buyers and sellers.
🌐 Client: Smart Deals Client
⚙️ Server: Smart Deals Server
🌐 Client Code : Smart Deals Client
⚙️ Server Code : Smart Deals Server
- 🔐 User Authentication (Firebase Email & Google Sign-In)
- 🛒 Add / Edit / Delete Product Listings
- 🧭 Category & Filter System (price range, usage, condition)
- ⚙️ RESTful API with Express & MongoDB
- 💬 Notifications using Toastify & SweetAlert2
- 📱 Fully Responsive design with Tailwind CSS
- 🔥 Secure Admin Operations via Firebase Admin SDK
- ⚡ Fast Performance using Axios & modern React optimizations
| Technology | Version | Description |
|---|---|---|
| React | ^19.1.1 | Component-based frontend library |
| React Router | ^7.9.5 | Client-side routing |
| Tailwind CSS | ^4.1.16 | Utility-first CSS framework |
| Axios | ^1.13.2 | HTTP client for API calls |
| Firebase | ^12.5.0 | Authentication & hosting |
| React Toastify | ^11.0.5 | Toast notifications |
| SweetAlert2 | ^11.26.3 | Elegant alerts |
| SweetAlert2 React Content | ^5.1.0 | SweetAlert2 with React support |
| React Icons | ^5.5.0 | Icon library for UI |
| Technology | Version | Description |
|---|---|---|
| Express | ^5.1.0 | Node.js web framework |
| MongoDB | ^6.20.0 | NoSQL database |
| Firebase Admin | ^13.6.0 | Firebase server SDK |
| CORS | ^2.8.5 | Enable cross-origin requests |
| Dotenv | ^17.2.3 | Manage environment variables |
smart-deals/
│
├── client/ # Frontend (React + Tailwind)
│ ├── src/
│ ├── public/
│ └── package.json
│
└── server/ # Backend (Express + MongoDB)
├── index.js
├── .env
└── package.json
git clone https://github.com/amdadislam01/smart-deals-client.gitcd smart-deals-client/client
npm install
npm run devcd ../server
npm install
npm startCreate .env files in both client and server folders.
VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_AUTH_DOMAIN=your_auth_domain
VITE_PROJECT_ID=your_project_id
PORT=5000
MONGODB_URI=your_mongodb_connection_string
FIREBASE_SERVICE_ACCOUNT=your_firebase_admin_credentials
| Method | Endpoint | Description |
|---|---|---|
GET |
/products |
Get all products |
POST |
/products |
Add a new product |
PUT |
/products/:id |
Update product info |
DELETE |
/products/:id |
Delete a product |
GET |
/users |
Get all users |
POST |
/users |
Add new user |
DELETE |
/users/:id |
Remove user |
- Go to Firebase Console
- Create a new project → Add Web App
- Get config and paste it into your
.env - Create a serviceAccountKey.json from Firebase Admin SDK
- Add it inside your server folder or in
.envas a JSON string
👤 MD. Amdad Islam
💼 Software Engineering Student | Web Developer
📍 Dhaka, Bangladesh
🌐 Portfolio
- 📦 Implement product wishlist & cart system
- 💳 Add Stripe or SSLCommerz payment gateway
- 🧾 Create user dashboards for buyers/sellers
- 🌍 Add language switch (EN / BN)
