Video in the works
Kalptaru Yog Vidyalaya
Browsing courses, sending an enquiry, and the admin side.

About the project
Kalptaru Yog Vidyalaya is a yoga institute in Faridabad. Its website lists courses and workshops and takes enquiries, and the staff run it all from an admin panel without touching code.
Kalptaru Yog Vidyalaya is a yoga institute in Faridabad. Its website lists courses and workshops, shows the gallery and videos, and takes enquiries from people who want to join.
The real point is the admin panel: the staff run the whole site themselves. They add courses and workshops, choose what shows on the home page, manage the gallery and videos, and work through enquiries with search and filters.
Anurag wrote the first version on MongoDB. I moved it to Postgres, rewrote the API, and built most of the content tools.
How it works
Browse
A visitor reads about courses and workshops: level, schedule, fees and prerequisites.
Enquire
They send an enquiry. It records which course or workshop it came from, with its level and fees, and the staff get an email.
Follow up
Staff work through the inbox with search, date and course filters, and mark enquiries read or unread.
Join
Each course has its own enrolment link and WhatsApp group link.
Keep it fresh
Staff edit courses, home page highlights, the gallery and videos from the admin, with no code.
Under the hood
- Site
- Next.js 16 and React 19, with Framer Motion.
- Data
- Prisma on Postgres (Neon).
- Admin
- NextAuth login; courses, workshops, enquiries, gallery and videos.
- Nodemailer for enquiry notifications.
What I did
- Moved the backend from MongoDB to Postgres and rewrote every API route
- Search, date and course filters for the enquiry inbox, and a working read and unread toggle
- Courses and workshops as separate types, each with its own order and up to 3 shown on the home page
- Enrolment links, WhatsApp group links and prerequisites on each course
- Every enquiry records which course or workshop it came from, with its level and fees
- A video section and a gallery, both managed from the admin
- Redesigned the benefits section and refreshed the hero, founder and about content
- Reviewed and merged all 11 pull requests
What was new
- A client who can update the whole site from an admin panel
- Moving a live site from MongoDB to Postgres
Problems I hit, and how I fixed them
Vercel builds failed after the database move.
Fix Generate the database client at build time and pin a stable version.
New enquiries had no status, so read and unread didn't work.
Fix Save new ones as unread, and treat a missing status as unread.
Creating a course without a schedule failed.
Fix The schedule defaults to "Flexible".
The enquiries page kept reloading in a loop.
Fix Fixed the effect's dependencies.
