Skip to content

A modern fullstack multi-vendor e-commerce platform built with Next.js 15, featuring real-time flash sales, advanced product filtering, vendor management, and premium UI/UX design.

License

Notifications You must be signed in to change notification settings

Pusri27/minimarket-hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MiniMarket Hub

A modern fullstack multi-vendor e-commerce platform built with Next.js 15, featuring real-time flash sales, advanced product filtering, vendor management, and premium UI/UX design.

πŸš€ Features

Core Functionality

  • Multi-Vendor Marketplace: Support for multiple vendors with individual storefronts and product management
  • Advanced Product Filtering: Filter by category, price range, rating, and vendor with real-time updates
  • Flash Sales System: Time-limited deals with countdown timers and stock progress indicators
  • Shopping Cart: Persistent cart state with Zustand, supporting add/remove/update operations
  • Product Search: Intelligent search with recent searches and trending products
  • Vendor Profiles: Dedicated vendor pages with ratings, product listings, and store information
  • Product Reviews: User ratings and reviews with average score calculation
  • Wishlist: Save favorite products for later
  • Registry System: Gift registry creation and management for special occasions

User Experience

  • Responsive Design: Mobile-first approach with seamless tablet and desktop experiences
  • Dark Mode: Full dark mode support across all pages
  • Mega Menu: Structured category navigation with promotional content
  • Mobile Bottom Navigation: App-like navigation for mobile users
  • Recently Viewed: Floating widget tracking user browsing history
  • Loading States: Skeleton loaders and optimistic UI updates
  • Empty States: User-friendly messages when no data is available

Authentication & Security

  • User Authentication: Secure login and registration system
  • Protected Routes: Role-based access control for customer and vendor areas
  • Session Management: Persistent authentication state

πŸ› οΈ Tech Stack

Frontend

  • Framework: Next.js 15 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • UI Components: Shadcn/UI, Radix UI
  • State Management: Zustand
  • Icons: Lucide React

Backend

  • API: Next.js API Routes
  • ORM: Prisma
  • Database: PostgreSQL (Neon)
  • Authentication: Custom implementation with session management

Development Tools

  • Package Manager: npm
  • Linting: ESLint
  • Type Checking: TypeScript

πŸ“¦ Installation

Prerequisites

  • Node.js 18+
  • PostgreSQL database (or Neon account)
  • npm or yarn

Setup Steps

  1. Clone the repository

    git clone https://github.com/Pusri27/minimarket-hub.git
    cd minimarket-hub
  2. Install dependencies

    npm install
  3. Configure environment variables

    Create a .env file in the root directory:

    DATABASE_URL="your_postgresql_connection_string"
    NEXT_PUBLIC_APP_URL="http://localhost:3000"
  4. Set up the database

    npx prisma generate
    npx prisma db push
    npx prisma db seed
  5. Run the development server

    npm run dev
  6. Open your browser

    Navigate to http://localhost:3000

πŸ“ Project Structure

minimarket-hub/
β”œβ”€β”€ prisma/
β”‚   β”œβ”€β”€ schema.prisma          # Database schema
β”‚   └── seed.ts                # Database seeding script
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ (public)/          # Public pages (home, products, vendors)
β”‚   β”‚   β”œβ”€β”€ auth/              # Authentication pages
β”‚   β”‚   β”œβ”€β”€ api/               # API routes
β”‚   β”‚   └── globals.css        # Global styles
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ ui/                # Shadcn UI components
β”‚   β”‚   β”œβ”€β”€ layout/            # Layout components (navbar, footer)
β”‚   β”‚   └── home/              # Home page specific components
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   β”œβ”€β”€ prisma.ts          # Prisma client instance
β”‚   β”‚   └── utils.ts           # Utility functions
β”‚   └── store/
β”‚       └── cart-store.ts      # Zustand cart state management
β”œβ”€β”€ public/                    # Static assets
└── package.json

πŸ”‘ Key Components

Pages

  • Home (/): Hero carousel, flash sales, category grid, trending products, featured stores
  • Products (/products): Product listing with advanced filtering and sorting
  • Product Detail (/products/[id]): Detailed product view with reviews and related products
  • Vendors (/vendors): Vendor directory with search and filtering
  • Vendor Profile (/vendors/[id]): Individual vendor storefront
  • Cart (/cart): Shopping cart management
  • Registry (/registry): Gift registry creation and management
  • Customer Service (/customer-service): Help center with FAQs

API Routes

  • GET /api/products: Fetch products with filtering and pagination
  • GET /api/vendors: Fetch vendor listings
  • Additional routes for authentication, cart management, and data operations

🎨 Design Philosophy

The application follows modern e-commerce design principles:

  • Premium Aesthetics: Clean, professional interface with attention to visual hierarchy
  • Performance First: Optimized images, lazy loading, and efficient data fetching
  • Accessibility: Semantic HTML, ARIA labels, and keyboard navigation support
  • Consistency: Unified design system using Shadcn/UI components
  • User-Centric: Intuitive navigation, clear CTAs, and helpful feedback messages

🚒 Deployment

The application is optimized for deployment on Vercel:

  1. Push to GitHub

    git push origin main
  2. Connect to Vercel

    • Import your repository on Vercel
    • Configure environment variables
    • Deploy
  3. Database Migration

    • Ensure your production database is set up
    • Run migrations via Vercel CLI or dashboard

πŸ“ Database Schema

The application uses the following main models:

  • User: Customer and vendor accounts
  • Vendor: Vendor profiles and shop information
  • Product: Product listings with images, pricing, and inventory
  • Category: Product categorization
  • Review: Product reviews and ratings
  • Cart: Shopping cart items
  • Order: Order management and history
  • Registry: Gift registry system

🀝 Contributing

This is a personal portfolio project. However, feedback and suggestions are welcome through GitHub issues.

πŸ“„ License

This project is open source and available under the MIT License.

πŸ‘€ Author

Pusri27

πŸ™ Acknowledgments

  • Next.js team for the amazing framework
  • Shadcn for the beautiful UI component library
  • Vercel for hosting and deployment platform
  • The open-source community for inspiration and tools

About

A modern fullstack multi-vendor e-commerce platform built with Next.js 15, featuring real-time flash sales, advanced product filtering, vendor management, and premium UI/UX design.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published