A modern tech product review and management platform built with React and Node.js. TechHive allows users to discover, review, and manage tech products with features like upvoting, tagging, and moderation.
- Email/Password and Google Authentication
- Role-based access (Admin, Moderator, User)
- User profile management
- Subscription options
- Add new tech products with details and tags
- Product review queue for moderation
- Upvoting system
- Product reporting functionality
- Featured products showcase
- Post product reviews with ratings
- View user reviews
- Moderation of reviews
- Admin Dashboard
- User management
- Statistics overview
- Coupon management
- Moderator Dashboard
- Product review queue
- Report management
- User Dashboard
- My products
- Profile management
- Responsive design
- Dark/Light theme toggle
- Modern gradient UI
- Loading states and animations
- React with Vite
- React Router DOM
- TanStack Query for data fetching
- Axios for API calls
- Tailwind CSS with DaisyUI
- Firebase Authentication
- React Hook Form
- React Tag Input
- Framer Motion for animations
- React Toastify for notifications
- SweetAlert2 for modals
- Node.js
- Express.js
- MongoDB
- JWT for authentication
- Stripe for payments
- Clone the repository
git clone https://github.com/omarFaruk99/TechHive_Client
git clone https://github.com/omarFaruk99/Hechive_Server
- Install dependencies
cd tech-hive
npm install
- Create
.env.local
file with:
VITE_API_KEY=your_firebase_api_key
VITE_AUTH_DOMAIN=your_firebase_auth_domain
VITE_PROJECT_ID=your_firebase_project_id
VITE_STORAGE_BUCKET=your_storage_bucket
VITE_MESSAGING_SENDER_ID=your_messaging_sender_id
VITE_APP_ID=your_app_id
- Run development server
npm run dev
src/
├── assets/
├── components/
├── context/
├── firebase/
├── hooks/
├── layouts/
├── pages/
│ ├── Dashboard/
│ └── Home/
├── route/
└── main.jsx
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.