A modern, full-stack e-commerce platform dedicated to showcasing and selling handcrafted products from Indian artisans and entrepreneurs. Built with Next.js, React, MongoDB, and TypeScript.
- Browse and search artisan products
- Discover talented Indian artisans
- Service request system for custom work
- Secure checkout with multiple payment options
- Wishlist and cart management
- Order tracking and history
- User reviews and ratings
- Complete seller dashboard
- Product and service management
- Sales analytics and reporting
- Order management system
- Business profile customization
- Customer reviews management
- Financial reports
- User and seller management
- Product approval system
- Order monitoring
- Analytics dashboard
- Category management
- Report generation
Frontend:
- Next.js 14+ (App Router)
- React 18+
- TypeScript
- Tailwind CSS
- Shadcn/ui Components
- Zustand (State Management)
- React Hook Form
- Zod (Validation)
Backend:
- Next.js API Routes
- NextAuth.js (Authentication)
- MongoDB & Mongoose
- REST API
Infrastructure:
- Vercel (Deployment)
- MongoDB Atlas (Database)
- UploadThing (File Uploads)
- Google OAuth
- Node.js 18.x or higher
- pnpm (recommended) or npm
- MongoDB Atlas account
- Google OAuth credentials
-
Clone the repository
git clone https://github.com/vmDeshpande/HunarHub-Digital-Marketplace cd HunarHub-Digital-Marketplace -
Install dependencies
pnpm install
-
Setup environment variables
cp .env.example .env.local
Update
.env.localwith your credentials:MONGODB_URI=your_mongodb_uri NEXTAUTH_URL=http://localhost:3000 NEXTAUTH_SECRET=your_secret_key GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret UPLOADTHING_TOKEN=your_uploadthing_token -
Start development server
pnpm dev
-
Open browser
http://localhost:3000
hunar-hub-web-app/
├── app/ # Next.js app directory
│ ├── (dashboard)/ # Protected dashboard routes
│ │ ├── admin/ # Admin panel
│ │ ├── entrepreneur/ # Seller dashboard
│ │ └── customer/ # Customer dashboard
│ ├── (public)/ # Public routes
│ │ ├── artisans/ # Artisan profiles
│ │ ├── products/ # Product pages
│ │ ├── services/ # Service pages
│ │ └── checkout/ # Checkout flow
│ ├── auth/ # Authentication pages
│ ├── api/ # API routes
│ └── layout.tsx # Root layout
├── components/ # React components
│ ├── ui/ # Shadcn UI components
│ ├── products/ # Product-related components
│ ├── layout/ # Layout components
│ ├── dashboard/ # Dashboard components
│ └── ...
├── hooks/ # Custom React hooks
├── lib/ # Utility functions & config
│ ├── auth/ # NextAuth configuration
│ ├── db/ # Database & models
│ ├── validations/ # Zod schemas
│ ├── utils/ # Helper functions
│ └── stores/ # Zustand stores
├── public/ # Static assets
├── styles/ # Global styles
└── middleware.ts # Next.js middleware
# Start development server
pnpm dev
# Build for production
pnpm build
# Start production server
pnpm start
# Run linter
pnpm lint
# Run linter with fixes
pnpm lint --fix- User - Customer and authentication
- EngineerProfile - Seller/Artisan profile
- Product - Products offered
- Order - Customer orders
- Service - Services offered
- Review - Product and service reviews
- Category - Product categories
- Email/Password authentication with bcrypt
- Google OAuth 2.0 integration
- JWT-based sessions
- Role-based access control (Customer, Entrepreneur, Admin)
- Order creation and tracking
- Multiple shipping address support
- Order status updates
- Invoice generation (ready for implementation)
- Profile images via UploadThing
- Product images (multiple)
- Service images
- Cover images
- Automatic resizing and optimization
See API.md for complete API documentation.
- Push code to GitHub
- Import project on Vercel
- Add environment variables
- Deploy automatically on push
See DEPLOYMENT.md for detailed instructions.
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
For issues and questions:
- Check existing documentation
- Review API documentation
- Check issue tracker
- Contact development team
Last Updated: May 2026
Status: Production Ready