A full-featured platform where users can create accounts, post and rate product reviews, vote, comment, access premium content, and make secure payments — all with admin moderation and control.
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
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://assignment-9-client-iota.vercel.app/
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 |
git clone https://github.com/md-maruf-billa/Assignment-9-client.git cd Assignment-9-client
npm install # or yarn install
Create a .env.local
file in the root directory (see Environment Variables section below)
npm run dev # or yarn dev
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
API documentation is available at /api/docs
when running the development server.
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature
)git commit -m 'Add some amazing feature'
)git push origin feature/amazing-feature
)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