π ALL PHASES COMPLETE π
A production-ready hosting and domain management platform built with the MERN stack - similar to WHMCS.
- β Phase 1: Authentication & Core Setup
- β Phase 2: Domain Management
- β Phase 3: Payments & Billing
- β Phase 4: Frontend UI
Backend: Node.js, Express, MongoDB, Redis, BullMQ, JWT, Razorpay, Stripe, GoDaddy API Frontend: React 19, Vite 7, React Router 7, Tailwind CSS 4, Zustand, Axios
- Node.js 16+
- MongoDB
- Redis
cd backend
npm install
cp .env.example .env # Configure environment variables
npm run dev # Starts on http://localhost:5000cd frontend
npm install
cp .env.example .env # Configure API URL
npm run dev # Starts on http://localhost:5173- JWT authentication with refresh tokens
- Role-based access control (Admin/Client)
- Two-factor authentication (2FA)
- Email verification
- Password reset functionality
- Rate limiting & brute force protection
- Domain search across multiple TLDs
- Real-time availability checking
- Domain registration via GoDaddy API
- Domain transfer management
- DNS record management (A, AAAA, CNAME, MX, TXT, SRV)
- Domain contacts management
- Domain lock/unlock
- Auto-renewal system
- Expiry tracking & notifications
- Automated invoice generation
- Multiple payment gateways:
- Razorpay (Indian market)
- Stripe (International)
- Wallet payments
- Invoice PDF generation
- Email invoice delivery
- Payment reminders
- Late fee calculation
- Service suspension workflow
- Customer wallet balances
- Add funds functionality
- Pay invoices from wallet
- Transaction history
- Admin balance adjustments
- Domain expiry monitoring (daily)
- Auto-renewal processing (daily)
- Transfer status updates (hourly)
- Payment reminders (3 days before due)
- Service suspension (7 days overdue)
- Service termination (30 days suspended)
- Email notifications
- Responsive React application
- User dashboard with overview stats
- Domain management interface
- Invoice listing & payment
- Wallet management
- User profile & settings
- Mobile-responsive design
SaaSify/
βββ backend/ # Express.js API server
β βββ src/
β β βββ config/ # Database, Redis, indexes
β β βββ cron/ # Scheduled jobs (6 cron jobs)
β β βββ middleware/ # Auth, validation, error handling
β β βββ models/ # Mongoose schemas (10 models)
β β βββ modules/ # Feature modules (8 modules)
β β βββ queues/ # BullMQ queues
β β βββ services/ # Business logic
β β βββ workers/ # Background workers (5 workers)
β β βββ utils/ # Helpers, logger, encryption
β βββ storage/ # File storage
β
βββ frontend/ # React + Vite application
β βββ src/
β β βββ config/ # API configuration
β β βββ store/ # Zustand state management
β β βββ services/ # API services (6 services)
β β βββ layouts/ # Layout components
β β βββ components/ # Reusable UI components
β β βββ pages/ # Page components (13 pages)
β β βββ App.jsx # Main app with routing
β βββ public/ # Static assets
β
βββ docs/ # Documentation
60+ API Endpoints organized into modules:
- Authentication (13 endpoints): Register, login, 2FA, email verification, password reset
- Domains (17 endpoints): Search, register, transfer, DNS, contacts, renewal
- Invoices (9 endpoints): List, view, pay, generate PDF, admin operations
- Payments (7 endpoints): Razorpay & Stripe integration, webhooks, refunds
- Wallet (6 endpoints): Balance, transactions, add funds, pay invoices
- Cart (8 endpoints): Add, update, remove items, coupon, checkout
See backend/SaaSify_API_Collection.postman_collection.json for full API documentation.
- User: Authentication & roles
- Client: Customer profiles
- Domain: Domain registrations
- Product: Service catalog
- Order: Purchase orders
- Service: Active services
- Invoice: Billing documents
- Transaction: Payment records
- Wallet: Customer balances
- ActivityLog: Audit trail
NODE_ENV=development
PORT=5000
MONGODB_URI=mongodb://localhost:27017/saasify
REDIS_URL=redis://localhost:6379
JWT_SECRET=your-secret-key
JWT_REFRESH_SECRET=your-refresh-secret
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASS=your-password
GODADDY_API_KEY=your-godaddy-key
GODADDY_API_SECRET=your-godaddy-secret
RAZORPAY_KEY_ID=your-razorpay-key
RAZORPAY_KEY_SECRET=your-razorpay-secret
STRIPE_SECRET_KEY=your-stripe-secret
STRIPE_PUBLISHABLE_KEY=your-stripe-publishable-keyVITE_API_URL=http://localhost:5000/apiImport the Postman collection:
backend/SaaSify_API_Collection.postman_collection.json- Complete Project Documentation
- Phase 1: Authentication
- Phase 2: Domain Management
- Phase 3: Payments & Billing
- Phase 4: Frontend
- Workers Documentation
- Final Documentation
- Support ticket system
- Live chat integration
- Advanced analytics & reporting
- Bulk domain operations
- Hosting services (Shared, VPS, Dedicated)
- Mobile application
- White-label solution
MongoDB connection error: Ensure MongoDB is running on port 27017
Redis connection error: Start Redis with redis-server
Frontend can't connect: Check VITE_API_URL matches backend URL
Workers not running: Start with npm run workers in backend folder
See PROJECT_COMPLETE.md for detailed deployment instructions.
Proprietary - All rights reserved
Built with modern technologies and best practices for production-ready hosting platforms.
Version: 1.0.0
Last Updated: January 2025
Status: Production Ready β