📹 Video Consultations | 🤖 AI-Powered Wellness | 📅 Smart Booking | 💳 Secure Payments |
---|---|---|---|
📊 Admin Dashboard | 🔔 Real-time Notifications | 🔐 Robust Authentication | 🖼️ Secure File Uploads |
- 🧱 Clean Architecture: Modular, scalable, and maintainable
- 🔒 Secure Transactions: Stripe payment gateway integration
- 🚀 Real-time Communication: Powered by Socket.io
- 📊 Comprehensive Logging: Winston for robust error tracking
- 🧩 Reusable Components: Enhancing code reusability and consistency
To set up AVM Ayurvedic locally, follow these steps:
# 1️⃣ Clone the repository
git clone https://github.com/sinanptm/avm-ayurvedic
# 2️⃣ Navigate to the project directory
cd avm-ayurvedic
# 3️⃣ Install dependencies
npm install
# 4️⃣ Install server-side dependencies
cd server
npm install
# 5️⃣ Install client-side dependencies
cd ../client
npm install
# 6️⃣ Return to the root directory and start the development server
cd ..
npm run dev
# 7️⃣ 🔧 Setup Environment Variables
Ensure that you create a `.env` file in both the **server** and **client** directories with the following content:
### Server-side `.env`:
```bash
# MongoDB connection URL
MONGODB_URL=mongodb://localhost:27017/AVM
# Server settings
PORT=8000
NODE_ENV=dev
CLIENT_URL=http://localhost:3000
# Nodemailer settings for email
SENDER_EMAIL=test@example.com
NODEMAILER_PASSKEY=test-nodemailer-passkey
# JWT token secrets
ACCESS_TOKEN_SECRET=test-access-token-secret
REFRESH_TOKEN_SECRET=test-refresh-token-secret
# AWS S3 storage configuration
AWS_REGION=eu-north-1
AWS_ACCESS_KEY_ID=test-aws-access-key-id
AWS_SECRET_ACCESS_KEY=test-aws-secret-access-key
S3_BUCKET_NAME=test-avm-ayurvedic-bucket
# Stripe payment gateway keys
STRIPE_PUBLISHABLE_KEY=pk_test_XXXXXXXXXXXXXXXXXXXXXXXX
STRIPE_SECRET_KEY=sk_test_XXXXXXXXXXXXXXXXXXXXXXXX
STRIPE_WEBHOOK_SECRET=whsec_XXXXXXXXXXXXXXXXXXXXXXXX
# Google Gemini AI API key
GEMINI_API_KEY=test-gemini-api-key
# 8️⃣ Setup Client Environment Variables
NEXT_PUBLIC_ENV=development
# API URL for backend server
NEXT_PUBLIC_API_URL=http://localhost:8000/api
NEXT_PUBLIC_BASE_API_URL=http://localhost:8000
# Firebase configuration for authentication
NEXT_PUBLIC_FIREBASE_API_KEY=test-firebase-api-key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=test-firebase-auth-domain
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=test-firebase-messaging-sender-id
NEXT_PUBLIC_FIREBASE_APP_ID=test-firebase-app-id
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=test-firebase-measurement-id
# Stripe publishable key for client
NEXT_PUBLIC_STRIPE_KEY=pk_test_XXXXXXXXXXXXXXXXXXXXXXXX
# Metered TURN server for WebRTC
NEXT_PUBLIC_METERED_TURN_USERNAME=test-metered-turn-username
NEXT_PUBLIC_METERED_TURN_CREDENTIAL=test-metered-turn-credential
# 9️⃣ Start the development server
npm run dev