Md Foysal Ahmed
Matrimony Platform2026

Doctors Matrimony

A Bangladeshi doctors-focused matrimony platform with public biodata search, profile submission, premium biodata, admin review workflows, transactions, notifications, and email/SMS marketing.

Next.jsTypeScriptReactNestJSPostgreSQLPrismaTailwind CSSShadcn UITanStack QueryTanStack TableReact Hook FormZodRecharts
Doctors Matrimony screenshot 1
Doctors Matrimony screenshot 2

Project Overview

Doctors Matrimony is a full-stack matrimony platform built specifically for Bangladeshi doctors and medical students. The project combines a public Bangla website for browsing and submitting biodata with a secure admin panel for reviewing profiles, managing premium listings, tracking transactions, sending notifications, and running email/SMS campaigns.

The product is designed around a structured biodata workflow. Visitors can explore approved profiles, filter by personal and location criteria, view profile details, and submit a new biodata. Admins can review pending submissions, approve verified profiles, mark premium biodata, track successful marriages, manage hadia records, and monitor platform performance through charts and reports.

Key Features


Technologies Used

Frontend

TechnologyPurpose
Next.js 16App Router, public pages, admin routes, and SSR
React 19Component-based public website and admin panel
TypeScriptType safety across forms, API clients, hooks, and UI
Tailwind CSS v4Responsive styling for public pages and dashboards
shadcn/ui + Radix UIAccessible admin UI, forms, dialogs, and controls
TanStack QueryAPI state, mutation handling, caching, and refetching
TanStack TableAdmin biodata, transaction, and campaign tables
React Hook Form + ZodValidated biodata and admin forms
RechartsDashboard and reporting charts
ZustandClient-side filter and interface state

Backend & Infrastructure

TechnologyPurpose
NestJS 11Modular API for biodata, auth, marketing, and admin
PostgreSQLRelational database for biodata and operational data
PrismaSchema modeling, generated client, and database access
JWT + PassportAdmin authentication and protected API access
Permission GuardsGranular admin permission enforcement
NodemailerEmail delivery and campaign sending
Docker ComposeLocal PostgreSQL development environment

Platform Modules

Public Matrimony Website

The public site is built for Bangla-speaking users and presents the platform as a trusted doctors-only matrimony service. It includes hero content, statistics, biodata search entry points, premium biodata sections, division and district browsing, image galleries, intro videos, trust highlights, pricing, and informational pages.

Biodata Marketplace

Approved biodatas are shown publicly with searchable and filterable criteria. The system supports biodata detail pages, public stats, district/division counts, profile printing, sharing, contact visibility, and visitor tracking.

Biodata Submission

The create-biodata flow collects structured information including identity, doctor type, education, medical college details, family background, profession, partner expectations, BMDC registration, WhatsApp/contact details, and pledge confirmation.

Admin Panel

Admins can review pending biodatas, edit profile details, approve public visibility, manage premium and successful-marriage metadata, restore or permanently manage deleted biodatas, view reports, track transactions, manage support flows, and control role permissions.

Marketing & Notifications

The admin panel includes email template management, targeted email campaigns, SMS campaigns, notification sending, subscriber feeds, and notification tracking. Campaign audiences can be built from biodata status, verification, premium, hadia, individual users, or custom filters.


Architecture Highlights

Route Organization

The frontend separates public, static content, and admin areas:

app/(client)  -> public home, biodatas, pricing, whitelist, create biodata
app/(pages)   -> informational and SEO content pages
app/admin     -> protected dashboard, biodata, marketing, reports, transactions

This keeps the public matrimony experience focused while giving admins a separate operational workspace.

Modular Backend

The NestJS backend is split into clear feature modules:

auth, biodata, location, notification,
email-marketing, sms-marketing, intro-video, prisma

The module split makes the biodata marketplace, admin tools, marketing features, and shared location data easier to maintain independently.

Prisma Data Model

The database schema models the core matrimony operations:

Permission-Based Admin Access

Admin APIs use JWT authentication with permission guards such as biodata read/write/delete, transaction management, reports, notifications, and email marketing. This allows operational access to be separated by admin responsibility.


Challenges Faced

1. Modeling a Detailed Biodata Form

Problem: Doctor-focused biodata requires many domain-specific fields, including medical education, BMDC verification, current professional status, family details, marriage expectations, and contact rules.

Solution: Built a structured Prisma schema and form system that keeps biodata data normalized enough for search and admin review while still capturing long-form profile details for the public profile page.

2. Balancing Public Search With Privacy

Problem: Visitors need enough information to evaluate profiles, but contact and sensitive profile data must be handled carefully.

Solution: Public endpoints only expose approved biodatas, while admin endpoints have separate protected access. Profile detail pages support controlled contact sections, share cards, print views, and visitor counting.

3. Admin Review and Monetization Workflow

Problem: The platform needed to support pending review, approval, premium promotion, successful marriage records, hadia tracking, and transaction management from one admin panel.

Solution: Added separate models and admin screens for biodata status, premium info, successful marriage info, hadia info, and transactions, then tied them into dashboard metrics and reports.

4. Targeted Communication at Scale

Problem: Admins needed to contact users based on biodata status, verification, premium membership, hadia records, custom filters, or individual selections.

Solution: Built email template management, email campaign history, SMS campaigns, audience preview, and persisted campaign records with recipient counts, sent counts, and failed counts.


Results


Links


Built with Next.js, NestJS, PostgreSQL, Prisma, Tailwind CSS, shadcn/ui, TanStack Query, and Recharts.