Skip to content

iapoorv01/KalaMitra

 
 

Repository files navigation

Screenshot 2025-09-20 005738 Screenshot 2025-09-20 005953

Preserving Tradition, Empowering Artisans ✨


🌟 KalaMitra is a celebration of heritage and creativity, uniting artisans and art lovers in a vibrant, AI-powered marketplace.
Inspired by tradition, built with ❤️ for the artisan spirit.


✨ Features

🔐 Authentication & Role Management

  • Supabase Auth with email/password, Google OAuth & Microsoft OAuth
  • Role-based access: Buyers and Sellers Screenshot 2025-09-20 012457
  • Automatic redirects based on user role
  • Protected routes and middleware

🧑‍🎨 Seller Features

  • Virtual Stall Management: Create and customize your artisan profile with a personalized 3D stall.
  • Product Management: Add, edit, and delete products
  • Virtual Products:Design and sell digital creations such as Kolams, templates, and craft designs.
  • Collaborate: Partner with your favorite creators or sellers to grow together
  • Auctions: Create and manage live auctions for products
  • Reels: Showcase artisan stories and products with short video reels
  • AI Tools: Photo enhancement, story generation, and smart recommendations
  • Public Stall Pages: Shareable stall URLs for customers
  • Seller Analytics: Track performance and sales
  • Notifications: Real-time updates for bids, sales, and all activity
  • Scheme Connect: Get access to both private and government schemes for vendors

🛍️ Buyer Features

  • Marketplace Browsing: Discover unique handcrafted items
  • Advanced Search & Filtering: Use Semantic Search or browse by category, name, or description.
  • Product Details: Explore rich product pages with artisan profiles, narrated stories, gifting options, and custom craft requests.
  • Shopping Cart: Add items and manage quantities Screenshot 2025-09-20 010627
  • Artisan Discovery: Explore individual seller stalls
  • Mic Support: No need to type — simply speak in any Indian language for searches or interactions.
  • Auctions: Participate in live auctions and place bids
  • Leaderboard: See top sellers and trending products
  • Notifications: Real-time updates for bids, purchases, and offers
  • Recommendations: Get AI-powered suggestions based on preferences and activity.
  • Gifting Options: Individual & group gifting with custom messages
  • Custom Craft Requests: Buyers can request personalized handmade or digital crafts
  • Chat & Group Chat: Direct communication between buyers & artisans
  • Follow Feature: Build artisan communities & loyal buyer base
  • AR Product Visualization: View crafts in real-world spaces before buying
  • AI Shopping Assistant: RAG chatbot for search, filters & smart follow-ups
  • Story Narration: Listen to stories behind products in marketplace and product page
  • 3D Bazaar: Immersive virtual marketplace with customizable stalls
  • Donate Waste: Donate Waste or Leftover Items to Ngos or Artisans so they can create something unique and earn something from it

🎭 Cultural Theme & Design

  • Warm Earthy Palette: Terracotta, saffron, indigo, and beige colors
  • Cultural Patterns: Mandala-inspired backgrounds and textures
  • Responsive Design: Mobile-first approach with desktop optimization
  • Smooth Animations: Framer Motion for delightful user experience
  • Multi-language Support: Built-in translation for Indian languages
  • Debug Tools: Integrated debug and translation test pages for developers
  • Cron Jobs: Auto-cleanup + auction end automation for smooth ops

🚀 Tech Stack

  • Frontend: Next.js 15 (App Router), TypeScript, TailwindCSS Screenshot 2025-09-20 012802
  • Backend: Supabase (PostgreSQL, Auth, Storage)
  • Styling: TailwindCSS with custom cultural theme
  • Animations: Framer Motion
  • Icons: Lucide React
  • Deployment: Ready for Vercel, Netlify, or any Next.js hosting

🚀 Tech Stack

  • Frontend: Next.js 15 (App Router), TypeScript, TailwindCSS
  • Backend: Supabase (PostgreSQL, Auth, Storage)
  • Styling: TailwindCSS with custom cultural theme
  • Animations: Framer Motion
  • Icons: Lucide React
  • Deployment: Ready for Vercel, Netlify, or any Next.js hosting

📁 Project Structure

KalaMitra/
│
├── public/
│   ├── pdf.worker.min.js
│   ├── kalamitra-logo.png
│   ├── kalamitra-symbol.png
│   ├── gold&jwellery.jpg
│   ├── pottery.jpg
│   ├── saree.jpg
│   ├── notfound.png
│   ├── file.svg
│   ├── globe.svg
│   ├── next.svg
│   ├── vercel.svg
│   └── window.svg
├── src/
│   ├── app/
│   │   ├── api/
│   │   │   ├── ai-chat/
│   │   │   │   ├── delete/
│   │   │   │   │   └── route.ts
│   │   │   │   └── route.ts
│   │   │   ├── auction/
│   │   │   │   ├── bid/
│   │   │   │   │   └── route.ts
│   │   │   │   ├── cron/
│   │   │   │   │   ├── end/
│   │   │   │   │   │   └── route.ts
│   │   │   │   │   └── route.ts
│   │   │   │   ├── end/
│   │   │   │   │   └── route.ts
│   │   │   │   └── route.ts
│   │   │   ├── auth/
│   │   │   │   ├── google/
│   │   │   │   │   ├── callback/
│   │   │   │   │   │   └── route.ts
│   │   │   │   │   └── route.ts
│   │   │   │   ├── microsoft/
│   │   │   │   │   ├── callback/
│   │   │   │   │   │   └── route.ts
│   │   │   │   │   └── route.ts
│   │   │   ├── backfill-embeddings/
│   │   │   │   └── route.ts
│   │   │   ├── chat/
│   │   │   │   ├── message/
│   │   │   │   │   └── route.ts
│   │   │   │   ├── messages/
│   │   │   │   │   └── route.ts
│   │   │   │   ├── thread/
│   │   │   │   │   └── route.ts
│   │   │   │   ├── threads/
│   │   │   │   │   └── route.ts
│   │   │   ├── cleanup-activity/
│   │   │   │   └── route.ts
│   │   │   ├── collaboration/
│   │   │   │   ├── end/
│   │   │   │   │   └── route.ts
│   │   │   │   ├── list/
│   │   │   │   │   └── route.ts
│   │   │   │   ├── products/
│   │   │   │   │   └── route.ts
│   │   │   │   ├── request/
│   │   │   │   │   └── route.ts
│   │   │   │   ├── respond/
│   │   │   │   │   └── route.ts
│   │   │   │   ├── search-sellers/
│   │   │   │   │   └── route.ts
│   │   │   │   ├── split-proposal/
│   │   │   │   │   └── route.ts
│   │   │   │   └── route.ts
│   │   │   ├── custom-request/
│   │   │   │   └── route.ts
│   │   │   ├── generate-ad/
│   │   │   │   └── route.ts
│   │   │   ├── generate-story/
│   │   │   │   └── route.ts
│   │   │   ├── generate-tutorial-pdf/
│   │   │   │   └── route.ts
│   │   │   ├── gift/
│   │   │   │   └── route.ts
│   │   │   ├── leaderboard/
│   │   │   │   └── route.ts
│   │   │   ├── placeholder/
│   │   │   │   └── route.ts
│   │   │   ├── marketplace/
│   │   │   |   ├──products/
│   │   │   |   |   └── route.ts
│   │   │   |   ├──bazaar/
│   │   │   |   |   └── route.ts
│   │   │   ├── recommendations/
│   │   │   │   └── route.ts
│   │   │   ├── refine-tutorial/
│   │   │   │   └── route.ts
│   │   │   ├── removebg/
│   │   │   │   └── route.ts
│   │   │   ├── search/
│   │   │   │   └── route.ts
│   │   │   └── translate/
│   │   │       └── route.ts
│   │   ├── auctions/
│   │   │   └── page.tsx
│   │   ├── auth/
│   │   │   ├── signin/
│   │   │   │   └── page.tsx
│   │   │   └── signup/
│   │   │       └── page.tsx
│   │   ├── cart/
│   │   │   └── page.tsx
│   │   ├── dashboard/
│   │   │   └── seller/
│   │   │       ├── reels/
│   │   │       │   └── page.tsx
│   │   │       ├── CollaborationManager.tsx
│   │   │       ├── CollaborativeProductsManager.tsx
│   │   │       ├── ProfileManager.tsx
│   │   │       ├── RevenueSplitManager.tsx
│   │   │       ├── SellerAnalytics.tsx
│   │   │       ├── SellerAuctionsList.tsx
│   │   │       └── page.tsx
│   │   ├── dm/
│   │   │   └── page.tsx
│   │   ├── gifts/
│   │   │   └── page.tsx
│   │   ├── group-gift/
│   │   │   └── [id]/
│   │   │       └── page.tsx
│   │   ├── leaderboard/
│   │   │   └── page.tsx
│   │   ├── marketplace/
│   │   │   └── page.tsx
│   │   ├── notifications/
│   │   │   └── page.tsx
|   |   |──recommendations/
|   |   |  └── page.tsx 
│   │   ├── product/
│   │   │   └── [id]/
│   │   │       └── page.tsx
│   │   ├── profile/
│   │   │   ├── [user_id]/
│   │   │   │   └── page.tsx
│   │   │   └── page.tsx
│   │   ├── reels/
│   │   │   └── page.tsx
│   │   ├── stall/
│   │   │   └── [id]/
│   │   │       └── page.tsx
│   │   ├── favicon.ico
│   │   ├── globals.css
│   │   ├── layout.tsx
│   │   ├── page.tsx
│   │   ├── about/
│   │   │   └── page.tsx
│   │   ├── howitworks/
│   │   │   └── page.tsx
│   │   ├── successstories/
│   │   │   └── page.tsx
│   │   ├── support/
│   │   │   └── page.tsx
│   │   ├── policy/
│   │   │   └── page.tsx
│   │   ├── terms/
│   │   │   └── page.tsx
│   │   ├── cookies/
│   │   │   └── page.tsx
│   │   ├── contact/
│   │   │   └── page.tsx
│   │   ├── wishlist/
│   │   │   └── page.tsx
│   ├── components/
│   │   ├── AIChatConditional.tsx
│   │   ├── AIProductForm.tsx
│   │   ├── AIShoppingChat.tsx
│   │   ├── ARViewer.tsx
│   │   ├── AuctionWidget.tsx
│   │   ├── DMChat.tsx
│   │   ├── DonateModal.tsx
|   │   ├── ErrorBoundary.tsx
|   │   ├── Footer.tsx
|   │   ├── GroupGiftContribution.tsx
|   │   ├── GroupGiftModal.tsx
|   │   ├── HideNavbar.tsx
|   │   ├── LanguageProvider.tsx
|   │   ├── Leaderboard.tsx
|   │   ├── Market3DButton.tsx
|   │   ├── MarketplaceNavigator3D.tsx
|   │   ├── MarketplaceStalls3D.tsx
|   │   ├── MessageInputModal.tsx
|   │   ├── MotionWrapper.tsx
|   │   ├── Navbar.tsx
|   │   ├── NotificationsList.tsx
|   │   ├── ProductCard.tsx
│   │   ├── ShareModal.tsx
│   │   ├── StallCustomizationModal.tsx
│   │   ├── ThemeProvider.tsx
│   │   ├── ThreeDStall.tsx
│   │   ├── TranslationDebug.tsx
│   │   ├── TranslationTest.tsx
│   │   ├── VideoPlayer.tsx
│   │   └── VirtualProductForm.tsx
│   ├── contexts/
│   │   └── AuthContext.tsx
│   ├── lib/
│   │   ├── locales/
│   │   │   ├── assamese.json
│   │   │   ├── bengali.json
│   │   │   ├── bodo.json
│   │   │   ├── dogri.json
│   │   │   ├── en.json
│   │   │   ├── gujarati.json
│   │   │   ├── hi.json
│   │   │   ├── kannad.json
│   │   │   ├── kashmiri.json
│   │   │   ├── konkani.json
│   │   │   ├── maithili.json
│   │   │   ├── malyalam.json
│   │   │   ├── manipuri.json
│   │   │   ├── marathi.json
│   │   │   ├── nepali.json
│   │   │   ├── oriya.json
│   │   │   ├── punjabi.json
│   │   │   ├── sanskrit.json
│   │   │   ├── santhali.json
│   │   │   ├── sindhi.json
│   │   │   ├── tamil.json
│   │   │   ├── telgu.json
│   │   │   └── urdu.json
│   │   ├── activity.ts
│   │   ├── ai-service.ts
│   │   ├── chat-parser.ts
│   │   ├── embedding-service.ts
│   │   ├── google-oauth.ts
│   │   ├── microsoft-oauth.ts
|   |   ├── rate-limit.ts
|   |   ├── local-limit.ts
│   │   ├── i18n.ts
│   │   ├── image-similarity.ts
│   │   ├── llm-generator.ts
│   │   ├── supabase.ts
│   │   └── translate.ts
│   ├── types/
│   │   ├── product.ts
│   │   ├── speech.d.ts
|   |   ├── swiper.d.ts
|   |   ├── css.d.ts
│   │   └── three-shims.d.ts
│   └── utils/
│       ├── marketplaceScene.ts
│       ├── stallScene.ts
│       └── three-types.ts
├── .gitignore
├── README.md
├── eslint.config.mjs
├── next-i18next.config.js
├── next.config.ts
├── package-lock.json
├── package.json
├── postcss.config.mjs
├── tailwind.config.js
├── tsconfig.json
└── vercel.json

🎯 Usage

👩‍🎨 For Artisans (Sellers)

  1. Sign up as a Seller Screenshot 2025-09-20 012059
  2. Create your Virtual Stall — personalize it with your bio, banner, and 3D stall view.
  3. Add products (physical or digital) with descriptions, titles, prices, and categories.
  4. Collaborate with other artisans or creators for co-selling or combined auctions.
  5. Showcase Reels — post short videos and product ads to attract buyers.
  6. Run Live Auctions and engage buyers through real-time bidding.
  7. Leverage AI Tools for photo enhancement, story generation, and smart pricing.
  8. Monitor Analytics — view your dashboard to track sales, visitors, and engagement.
  9. Engage via Chat or group chat with buyers for orders or collaborations.
  10. Receive Notifications for every sale, bid, or auction activity.
  11. Multi-language Support to reach buyers from all regions easily.

🛍️ For Art Lovers (Buyers)

  1. Sign up as a Buyer Screenshot 2025-09-20 014235
  2. Browse the Marketplace — discover heritage products and artisan stories.
  3. Use Mic Input — speak in your preferred Indian language instead of typing.
  4. Search Products via Semantic Search (e.g., “Diwali décor”, “painted diyas”).
  5. Use the AI Shopping Assistant — a RAG chatbot for smart search and help.
  6. View Product Details — learn the story behind each product with audio narration.
  7. AR Product Visualization — preview items in your real-world space before buying.
  8. Explore 3D Bazaar — walk through a virtual marketplace with interactive stalls.
  9. Add Items to Cart and manage your wishlist or active bids.
  10. Participate in Live Auctions and compete in leaderboards.
  11. Send Gifts — choose group or individual gifting with personal messages.
  12. Request Custom Crafts directly from artisans for personalized creations.
  13. Follow Artisans and join communities for updates on new collections.
  14. Get Real-time Notifications for offers, auctions, and purchases.
  15. Enjoy Smart Recommendations based on preferences and purchase history.
  16. Multi-language & Audio Support — hear stories, product details, and chatbot responses in any Indian language.

🤖 AI Features

KalaMitra is powered by advanced AI capabilities: Screenshot 2025-09-20 013733

  • AI Photo Enhancement: Instantly improve product images
  • AI Story Generation: Automated product storytelling
  • Smart Recommendations: ML-powered suggestions for buyers and sellers
  • Image Recognition: Automatic product categorization
  • Multi-language Support: Built-in translation for Indian languages

All AI features are fully implemented and ready to use!


🎨 Customization

🎨 Colors & Theme

KalaMitra uses a warm, earthy palette and mandala-inspired backgrounds for a unique, culturally-rich experience. All styles are managed via TailwindCSS and custom global styles.


🚀 Deployment

🚀 Deployment

KalaMitra is ready for deployment on Vercel, Netlify, Railway, or any platform supporting Next.js.


🤝 Contributing

🤝 Contributing

We welcome contributions! Please open issues or pull requests for improvements.


📄 License

📄 License

MIT License

Preserving Tradition, Empowering Artisans ✨

About

KalaMitra – An AI-powered artisan marketplace built with Next.js + Supabase that connects local artisans with global buyers. Features AI-assisted product creation (image → description, pricing, ads), auctions, multilingual UI, personalized recommendations, and seller analytics to revive and sustain India’s cultural heritage crafts.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 97.5%
  • CSS 2.2%
  • JavaScript 0.3%