हुनर • HUNAR Platform

Authentic Grassroots Artisan Monetization & Career Platform

TypeScript Next.js Express Tailwind CSS License: MIT

Hunar is an authentic, hyper-local career and direct patronage platform purpose-built for India's grassroots creators: visual artists, Madhubani folk masters, Khurja ceramicists, Awadhi bridal henna artists, and large-scale muralists.

It eliminates intermediary exploitation by guaranteeing 100% direct artisan equity, transparent physical provenance tracking, WhatsApp-first client negotiations, and milestone-based commissions.


🏛️ Monorepo Architecture

The repository is organized into three completely decoupled sub-projects:

hunar-platform/
├── tinyfish/                     # DEDICATED TINYFISH AGENT PACKAGE
│   ├── src/
│   │   ├── client.ts             # Core TinyFish SDK client instance & API key auth
│   │   ├── services/
│   │   │   ├── search.ts         # Search API: Live craft & GI registry search
│   │   │   ├── fetch.ts          # Fetch API: Clean markdown/JSON scraping & courier SOPs
│   │   │   ├── web-agent.ts      # Web Agent: Goal-driven multi-step courier rate comparisons
│   │   │   └── browser.ts        # Browser Infra: Cloud browser automation for rural hub discovery
│   │   ├── mock/                 # Resilient fallback fixtures & simulated agent logs
│   │   └── index.ts              # Unified module exports
│   ├── package.json
│   ├── tsconfig.json
│   └── README.md
│
├── backend/                      # CORE SERVER & DATABASE API
│   ├── src/
│   │   ├── controllers/          # Orders, Products, In-App Chat, Mentorship handlers
│   │   ├── models/               # Prisma schema, database migrations
│   │   ├── routes/               # Express/REST API endpoints
│   │   │   ├── chat.ts
│   │   │   ├── payment.ts
│   │   │   └── tinyfish.ts       # Routes invoking the ./tinyfish service
│   │   ├── middleware/           # Session auth & role checks
│   │   └── config/
│   ├── package.json
│   ├── tsconfig.json
│   └── .env.example
│
├── frontend/                     # USER INTERFACE (Next.js 14+)
│   ├── src/
│   │   ├── app/                  # Next.js App Router
│   │   │   ├── dashboard/
│   │   │   │   ├── customer/     # Customer Bazaar, Orders, In-app Chat
│   │   │   │   ├── seller/       # Studio Workbench, Products, Mentorship setup
│   │   │   │   └── admin/        # Logistics Benchmarks, Hubs, TinyFish Live Monitor
│   │   │   ├── login/
│   │   │   └── layout.tsx        # Wrapped with LanguageProvider
│   │   ├── components/           # UI elements, Chat modals, QR payment widgets
│   │   ├── context/              # LanguageContext (8 Indian languages)
│   │   └── lib/                  # Frontend utilities & TinyFish API consumers
│   ├── package.json
│   ├── tailwind.config.js
│   └── tsconfig.json
│
├── .gitignore
└── README.md

🎨 Craftsmanship-First Design System ("Anti-AI Slop")

Hunar strictly rejects generic template patterns (no purple-to-blue neon gradients, no floating pill badges, no three-box feature clones, and no glassmorphic blurs). The interface is grounded in tactile Indian materiality:

  • Palette:
    • Kohl Charcoal (#1E2229): Deep mineral typography and grounded slate buttons.
    • Raw Terracotta (#B4461F / #963716): Primary accents, craftsmanship seals, and milestones.
    • Forest Sage (#2D583B / #23452E): WhatsApp channels, verified master badges, and customer action buttons.
    • Matte Linen / Canvas (#F9F6F0 / #FAF7F2): Tactile card surfaces with subtle hairline borders (#E8DEC8).
  • Typography:
    • Headings: Upright Cinzel and Plus Jakarta Sans (Weights 600/700).
    • Body Copy: Humanist DM Sans for high-density catalog specifications.
  • Physical Geometry:
    • Structured rounded-sm corners with snappy duration-150 transitions.

👥 Dual Persona Workflows

1. Seller / Artisan Experience (/dashboard/seller/*)

  • Studio Hub (/dashboard/seller): Real-time metrics on catalog valuation, quote requests, and active gigs.
  • Craft Inventory (/dashboard/seller/products): Inventory management with stock levels, lead times, and physical dimensions.
  • Listing Studio (/dashboard/seller/products/new): Structured artwork publisher.
  • Client Leads & Boli (/dashboard/seller/inquiries): Interactive commission workflow (Under Review ➔ Crafting in Progress ➔ Dispatched ➔ Completed).
  • Open Gigs Radar (/dashboard/seller/opportunities): Commercial tenders and cafe facade commissions matched to artisan categories.
  • Kala Roadmap (/dashboard/seller/roadmap): Practical 6-month earnings milestones and commercial pricing benchmarks.

2. Customer / Patron Experience (/dashboard/customer/*)

  • Curated Craft Bazaar (/dashboard/customer): Regional feed filterable by medium (Pottery, Madhubani, Murals, Bridal Mehndi) and city.
  • Master Directory (/dashboard/customer/artisans): Directory of grassroots masters with verification status and base rates.
  • Commission Tracker (/dashboard/customer/orders): 4-stage visual timeline tracking raw pigment preparation to safe packaging.
  • Post a Requirement (/dashboard/customer/post-gig): Patron curation desk to post custom wall mural or bulk gifting requirements.
  • Saved Moodboard (/dashboard/customer/wishlist): Shortlisted artists and pieces for interior commissions.

🚀 Getting Started

Prerequisites

  • Node.js 18.x or higher
  • npm 9.x or higher

1. Clone & Setup

git clone https://github.com/tanmay7-gif/Hunar-platform.git
cd Hunar-platform

2. Install Dependencies

Install root workspace dependencies, which automatically installs both frontend and backend:

npm install

3. Environment Setup

Create environment files from the examples:

# Frontend
cp frontend/.env.example frontend/.env.local

# Backend
cp backend/.env.example backend/.env

4. Running the Development Servers

Option A: Run Both Concurrently (Workspaces)

# Frontend (Next.js App on http://localhost:3000)
npm run dev:frontend

# Backend (Express API on http://localhost:5000)
npm run dev:backend

📡 REST API Reference

The backend exposes a structured REST API under /api:

Method Endpoint Description
POST /api/auth/login Authenticate user or switch 1-click demo personas
GET /api/auth/me Fetch active session profile
GET /api/products Retrieve catalog artworks with category & city filters
GET /api/products/:id Fetch detailed artwork specifications and provenance
POST /api/products Publish new artwork to studio inventory
GET /api/creators Discover verified regional artisan profiles
GET /api/creators/:username Retrieve public Hunar Lookbook card
GET /api/inquiries Fetch customer/seller commission inquiries
POST /api/inquiries Submit custom commission brief
PATCH /api/inquiries/:id Update milestone progress and studio notes
GET /api/opportunities List open gigs and cafe mural tenders
POST /api/opportunities Post patron requirements to Gigs Radar
GET /api/stats Platform-wide artisan metrics & GMV statistics
GET /api/health Service health status check

🔒 Security & Data Integrity

  • Direct client-to-artisan WhatsApp routing prevents commission interception.
  • Strict TypeScript schemas shared across frontend models and backend controllers.
  • Cross-Origin Resource Sharing (CORS) restricted to authenticated frontend origin.

📄 License

This project is licensed under the MIT License.

Built With

Share this project:

Updates

Submission history