šŸ“– You are reading MatchNest v1.0 documentation. View Changelog →

Introduction

MatchNest is a full-featured, production-ready matrimonial SaaS platform built with Next.js 14+, TypeScript, Prisma ORM, and Tailwind CSS. It provides everything you need to launch a professional matrimonial website.

What is MatchNest?

MatchNest is a complete, self-hosted matrimonial platform with:

  • A beautiful marketing website with pricing, about, features, and success stories pages
  • Full user dashboard with profile management, matchmaking, messaging, and billing
  • Comprehensive admin panel for managing users, payments, content, and settings
  • Flexible subscription system with Free, Silver, Gold, and Platinum plans
  • Secure JWT-based authentication with role-based access control
  • File upload system for avatars and photo galleries
  • Support ticket system for customer service
  • Real-time notifications

Tech Stack

Next.js 14+ (App Router)

Server components, streaming, and API routes

TypeScript + Zod

End-to-end type safety and runtime validation

Prisma ORM + SQLite

Type-safe database queries, easily swap to PostgreSQL/MySQL

Tailwind CSS v4

Utility-first styling with zero-config setup

Quick Start

The fastest way to get MatchNest running locally:

# Clone the repository
git clone https://github.com/your-repo/matchnest.git
cd matchnest

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env
# Edit .env with your values

# Set up the database
npm run db:push
npm run db:seed

# Start development server
npm run dev

Then open http://localhost:3000 to see the app.

Default admin credentials after seeding: [email protected] / admin123

Directory Structure

matchnest/
ā”œā”€ā”€ prisma/
│   ā”œā”€ā”€ schema.prisma        # Database schema (20+ models)
│   └── seed.ts              # Demo data seeder
ā”œā”€ā”€ prisma.config.ts         # Prisma 7 configuration
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ app/
│   │   ā”œā”€ā”€ (marketing)/     # Public website pages
│   │   ā”œā”€ā”€ (auth)/          # Login, register, forgot password
│   │   ā”œā”€ā”€ (dashboard)/     # Member dashboard
│   │   ā”œā”€ā”€ (admin)/         # Admin panel
│   │   ā”œā”€ā”€ api/             # API routes
│   │   └── docs/            # Documentation (this site)
│   ā”œā”€ā”€ components/
│   │   ā”œā”€ā”€ ui/              # Reusable UI components
│   │   └── layout/          # Layout components
│   └── lib/
│       ā”œā”€ā”€ auth.ts          # JWT authentication
│       ā”œā”€ā”€ prisma.ts        # Database client
│       ā”œā”€ā”€ constants.ts     # App-wide constants
│       ā”œā”€ā”€ utils.ts         # Utility functions
│       ā”œā”€ā”€ validations.ts   # Zod validation schemas
│       ā”œā”€ā”€ subscription.ts  # Subscription limits
│       └── upload.ts        # File upload handler
└── public/
    └── uploads/             # User-uploaded files