Premium astrology consultation platform with cinematic UI, bilingual experience, and now a production-ready testimonials pipeline.
- Client: React + Vite, Tailwind CSS, Framer Motion, react-i18next
- Server: Node.js, Express 5, Mongoose
- Database: MongoDB Atlas
Testimonialmodel with fields:fullName,review,rating,createdAt,isApproved- Moderation pipeline:
- profanity checks
- link/spam detection
- min length check
- duplicate prevention (24h same name+review)
- Publication logic:
- only 5-star approved testimonials are publicly returned
- while total reviews are
< 10, submissions remain manual (isApproved: false) - once
> 10, new 5-star submissions are auto-approved
- Routes:
GET /api/testimonialsPOST /api/testimonials
- Testimonials section fetches from backend API
- Premium animated testimonial cards and moving carousel
- New animated submission form:
- Full Name
- Review
- Rating stars (1–5)
- Hindi/English support for form copy
- Dark/light compatible glassmorphism styling
Use server/.env.example:
PORTCLIENT_URLMONGODB_URIMONGODB_DB_NAMEWHATSAPP_BOOKING_NUMBER
Use client/.env.example:
VITE_API_BASE_URLVITE_WHATSAPP_NUMBERVITE_DEFAULT_LOCALEVITE_BLOCKED_WORDS
cd server && npm install && npm run dev
cd client && npm install && npm run dev