Main git repo - https://github.com/abumahid/ReviewHub-Client
A comprehensive platform that allows users to create accounts, share product reviews with ratings, categorize reviews, and interact with posts through voting and commenting. The portal includes premium content features, admin moderation, and a payment system.
Live Link- https://review-hub-s3h.vercel.app/
- 📋 Table of Contents
- 🌟 Features
- 🛠️ Technology Stack
- 📋 Prerequisites
- 🚀 Installation
- 🔐 Environment Variables
- 💻 Usage
- 📚 API Documentation
- 🤝 Contributing
- 📄 License
- 📬 Contact
- User Registration & Authentication: Secure signup/login with JWT authentication
- User Profiles: View and manage personal information and review history
- Role-based Access Control: Different permissions for regular users and administrators
- Create & Manage Reviews: Users can create, edit, and delete their own reviews
- Rating System: 1-5 star rating for products
- Categorization: Organize reviews by product categories
- Media Support: Upload images with reviews
- Purchase Source: Add optional links to where products were purchased
- Premium Reviews: Special high-quality reviews available for purchase
- Preview System: Users can see a preview before purchasing
- One-time Payment: Pay once to unlock full premium content
- Payment History: Track all purchases in user profile
- Voting System: Upvote/downvote reviews
- Comment System: Discuss reviews with other users
- Reply Functionality: Respond to specific comments
- Review Moderation: Approve or unpublish user reviews
- Content Management: Monitor and moderate all portal content
- Premium Content Management: Set prices and manage premium reviews
- Analytics Dashboard: Track payments and popular content
- Advanced Filtering: Find reviews by category, rating, date, or popularity
- Search Functionality: Keyword search across all reviews
- Related Reviews: Discover similar products in the same category
| Category | Technologies |
|---|---|
| Frontend | Next.js, React.js |
| UI Components | Tailwind CSS, shadcn/ui |
| Backend | Next.js API routes, Server Actions |
| Database | SQL database (via Prisma ORM) |
| Authentication | NextAuth.js |
| Payment Processing | SSLCOMMERZ |
| Image Storage | Vercel Blob |
| Deployment | Vercel |
- Node.js (v18 or higher)
- npm or yarn
- Database (PostgreSQL recommended)
- Stripe account (for payment processing)
- Cloudinary account (for image uploads)
- Clone the repository
git clone https://github.com/md-maruf-billa/Assignment-9-client.git
cd Assignment-9-client
- Install dependencies
npm install
# or
yarn install
- Set up environment variables
Create a .env.local file in the root directory (see Environment Variables section below)
- Run the development server
npm run dev
# or
yarn dev
- Open your browser
Navigate to http://localhost:3000 to see the application
Create a .env.local file in the root directory with the following variables:
# API Configuration
NEXT_PUBLIC_BASE_API=your_api_url
# Cloudinary Configuration
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=your_cloud_name
NEXT_PUBLIC_CLOUDINARY_API_KEY=your_cloudinary_api_key
NEXT_PUBLIC_CLOUDINARY_API_SECRET=your_cloudinary_api_secret
NEXT_PUBLIC_CLOUDINARY_PRESET_NAME=your_cloudinary_preset
# Authentication (if using NextAuth)
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_nextauth_secret
# Database (if using Prisma)
DATABASE_URL=your_database_connection_string
# Stripe (if implementing payments)
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key
STRIPE_SECRET_KEY=your_stripe_secret_key
- Navigate to the signup page to create a new account
- Verify your email address if required
- Log in with your credentials
- Navigate to the "New Review" page
- Fill in the product details, rating, and review content
- Upload images if desired
- Submit your review for approval
- Browse premium reviews
- Preview content before purchasing
- Complete payment through the secure Stripe checkout
- Access your purchased content immediately
- Log in with admin credentials
- Access the admin dashboard
- Moderate reviews, manage users, and view analytics
API documentation is available at /api/docs when running the development server.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Project Link: https://github.com/md-maruf-billa/Assignment-9-client