A backend service built using Hono.js for routing, MongoDB + Mongoose for database interactions, Cloudinary for image uploads, Phonepay as the payment gateway and Nodemailer for sending emails.
- Hono.js – Lightweight web framework for building APIs
- MongoDB + Mongoose – NoSQL database with a flexible schema layer
- Cloudinary – Image hosting and transformation
- Phonepay – Payment gateway integration
- Nodemailer – Email sending
- 🔐 Authentication & Authorization (JWT-based access & refresh tokens)
- 👤 Role based Access restrict users based on role
- 📷 Image Uploads using Cloudinary (with transformations)
- 💳 Payment Integration via Phonepay (subscription plans, profile unlocks, etc.)
- 📧 Email Notifications (signup verification, password reset, etc.)
- 🛡 Security Support (auth guards, request validation, rate limit)
- 🕵️ Advanced Search & Filters for matchmaking with personal & partner preferences
- 📊 Admin Dashboard APIs (basic user/admin management, payments for super admin)
- 🔔 Real-time Notifications (possibly via WebSockets or push notifications)
- 💬 In-app Messaging / Chat System
- 📈 Activity Tracking & Analytics (profile views, interests, etc.)
- 🧪 Testing Setup vitest support
- 📖 API Documentation – Add Swagger / Postman collection for easy API exploration (currently VS code rest client support available)
- 🤖 Extracting user images and info using Ollama AI server
- Node.js (v18+ recommended)
- MongoDB URI
- Cloudinary credentials
- Phonepay API keys
- Email keys
- Clone the repository
git clone https://github.com/glRajkumar/sdm-matrimony-backend.git
cd sdm-backend- Install dependencies
npm install- Set up environment variables
Create a .env file in the root directory and add the following:
MONGODB_URI=
ACCESS_TOKEN_SECRET=
REFRESH_TOKEN_SECRET=
CLOUDINARY_API_KEY=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_SECRET=
FRONTEND_URL=
EMAIL_ID=
EMAIL_PASS=
EMAIL_HOST=
PHONE_PAY_CLIENT_ID=
PHONE_PAY_SECRET=Start the development server:
npm run devThe API will be available at: http://localhost:PORT (default: 5000)
sdm-backend/
├── src/
│ ├── controllers/ # Request handlers
│ ├── middlewares/ # Middleware functions
│ ├── models/ # Mongoose models
│ ├── routes/ # API routes
│ ├── utils/ # Utility functions
│ └── index.ts # Entry point
├── test/ # http test files for testing api routes using rest client
├── .env # Environment variables
├── package.json
└── README.md