Back to Projects
ArtHub

ArtHub

Live DemoGitHub (Repository)

📝 Project Overview

ArtHub is a full-stack digital art marketplace built with the MERN stack that connects independent artists with art collectors. It features a role-based system (Admin, Artist, Buyer) with dedicated dashboards, Stripe Checkout for one-time artwork purchases and subscription upgrades, tiered subscription plans (Free, Pro, Premium) with monthly purchase limits, BetterAuth authentication with email/password and Google OAuth, and an admin analytics dashboard with Recharts-powered daily revenue tracking. The platform also includes search, category filtering, sorting, server-side pagination, and a comment system for buyers.

⚙️ Tech Stack

Next.js (App Router)ReactTailwind CSSDaisyUINode.jsExpress.jsMongoDBBetterAuth (JWT + Google OAuth)Stripe (Checkout + Webhooks)Framer MotionRechartsReact Hot ToastJavaScript (ES6+)

Challenges Faced

  • 1Building a reliable Stripe webhook-driven purchase flow that inserts purchase records, marks artworks as sold, and updates monthly purchase counters atomically.
  • 2Designing a role-based access system (Admin, Artist, Buyer) with protected routes and automatic redirects to an unauthorized page on role mismatch.
  • 3Enforcing subscription business rules such as monthly purchase limits, auto-resetting counters each month, and blocking artists from purchasing or commenting.
  • 4Combining search, category/status filtering, sorting, and server-side pagination into a single MongoDB query pipeline for the artworks endpoint.

🚀 Future Improvements

  • Add real-time notifications for purchases and comments using WebSockets or SSE.
  • Build public artist portfolio pages showcasing all artworks by an artist.
  • Implement a wishlist/favorites system so buyers can save artworks for later.
  • Add an artist payout system using Stripe Connect for direct revenue splits.

Explore more projects

← All Projects