YogVaidya is a comprehensive yoga streaming and wellness platform connecting users with mentors for yoga, meditation, and diet planning.
- User & Mentor Roles: Distinct dashboards and features for Students and Mentors.
- Video Streaming: Watch yoga and meditation classes.
- Live Sessions: Book and join live sessions with mentors.
- Diet Plans: Personalized diet plans created by mentors.
- Authentication: Secure login via Email/Password and Google OAuth (using Better Auth).
- Payments: Integrated with Razorpay for subscriptions and session bookings.
- Framework: Next.js 15 (App Router)
- Database: MongoDB
- ORM: Prisma
- Styling: Tailwind CSS
- Authentication: Better Auth
- Testing: Vitest (Unit) & Playwright (E2E)
- Node.js (v18 or higher)
- MongoDB Database
- npm or yarn
-
Clone the repository:
git clone https://github.com/yourusername/yogvaidya.git cd yogvaidya -
Install dependencies:
npm install
-
Environment Setup:
- Copy
.env.exampleto.env:cp .env.example .env
- Update
.envwith your actual credentials. - Important: Ensure
DATABASE_URLis set to your MongoDB connection string.
- Copy
- Start the development server:
npm run dev
- Open http://localhost:3000 in your browser.
- Unit Tests:
npm test - E2E Tests:
npm run e2e
- Generate Prisma Client:
npx prisma generate
- Build the application:
npm run build
- Start the production server:
npm start
src/app: Next.js App Router pages and layouts.src/components: Reusable UI components.src/lib: Utility functions, database configuration, and services.prisma: Database schema and migrations.__tests__: Unit tests.e2e: End-to-End tests.
- Fork the project.
- Create a feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.