A modern web application connecting patients with Ayurvedic doctors for consultations and appointments.
- Doctor Discovery: Browse and search for Ayurvedic doctors
- Appointment Booking: Schedule consultations with preferred doctors
- Appointment Management: View, cancel, and track appointment status
- Profile Management: Update personal information and medical history
- Appointment Requests: View and manage incoming appointment requests
- Patient Management: Access patient information and appointment history
- Profile Management: Update professional information and specializations
- Blog System: Share health tips and articles (coming soon)
- React 18 - UI framework
- Vite - Build tool and dev server
- Tailwind CSS - Styling
- Redux Toolkit - State management
- React Router v6 - Routing
- Axios - HTTP client
- React Hot Toast - Notifications
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database
- Mongoose - ODM
- JWT - Authentication
- Cookie Parser - Cookie handling
- CORS - Cross-origin resource sharing
AyurConnect/
โโโ Frontend/ # React frontend application
โ โโโ src/
โ โ โโโ Components/ # Reusable UI components
โ โ โ โโโ UI/ # Basic UI components (Button, Input, etc.)
โ โ โ โโโ Cards/ # Card components
โ โ โ โโโ Modals/ # Modal components
โ โ โ โโโ Layout/ # Layout components
โ โ โ โโโ Forms/ # Form components
โ โ โ โโโ Profile/ # Profile-related components
โ โ โ โโโ Authentications/ # Auth components
โ โ โโโ pages/ # Page components
โ โ โ โโโ Home/ # Landing page
โ โ โ โโโ PatientHomePage/ # Patient dashboard pages
โ โ โ โโโ DoctorHomePage/ # Doctor dashboard pages
โ โ โ โโโ Appointment/ # Appointment booking pages
โ โ โโโ features/ # Redux slices
โ โ โโโ hooks/ # Custom React hooks
โ โ โโโ utils/ # Utility functions
โ โ โโโ constants/ # Constants and configurations
โ โ โโโ assets/ # Static assets
โ โโโ public/ # Public assets
โโโ Backend/ # Node.js backend application
โ โโโ config/ # Configuration files
โ โโโ controllers/ # Route controllers
โ โโโ middleware/ # Custom middleware
โ โโโ models/ # Database models
โ โโโ routes/ # API routes
โ โโโ utils/ # Utility functions
โโโ README.md # Project documentation
- Node.js (v18 or higher)
- MongoDB
- npm or yarn
-
Clone the repository
git clone <repository-url> cd AyurConnect
-
Install dependencies
# Install frontend dependencies cd Frontend npm install # Install backend dependencies cd ../Backend npm install
-
Environment Setup
Create
.envfiles in both Frontend and Backend directories:Backend/.env
PORT=5000 MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret CLIENT_URL=http://localhost:5173 NODE_ENV=development
Frontend/.env
VITE_API_URL=http://localhost:5000 VITE_GOOGLE_CLIENT_ID=your_google_client_id
-
Start the development servers
# Start backend server (from Backend directory) npm run dev # Start frontend server (from Frontend directory) npm run dev
-
Access the application
- Frontend: http://localhost:5173
- Backend API: http://localhost:5000
POST /api/v1/user/signin- User loginPOST /api/v1/user/signout- User logoutPOST /api/v1/user/register- User registration
GET /api/v1/user/public/doctors- Get all doctors (public)GET /api/v1/user/getdoctor- Get current doctor profilePUT /api/v1/user/updatedoctor- Update doctor profile
GET /api/v1/user/getpatients- Get current patient profilePUT /api/v1/user/updatepatient- Update patient profile
POST /api/v1/user/appointments- Create appointmentGET /api/v1/user/getPatientAppointments- Get patient appointmentsGET /api/v1/user/getDoctorAppointments- Get doctor appointmentsPUT /api/v1/user/appointments/:id/cancel- Cancel appointmentPUT /api/v1/user/appointments/:id/accept- Accept appointmentPUT /api/v1/user/appointments/:id/decline- Decline appointment
- Use ESLint for code linting
- Follow consistent naming conventions
- Use TypeScript for better type safety (future enhancement)
- User: Authentication and basic user info
- Doctor: Doctor-specific information and credentials
- Patients: Patient-specific information and medical history
- Appointment: Appointment scheduling and status management
- Redux Toolkit for global state
- React hooks for local state
- Custom hooks for reusable logic
- Connect your GitHub repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy automatically on push to main branch
- Set environment variables
- Configure MongoDB connection
- Deploy using Vercel CLI or Railway dashboard
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email support@ayurconnect.com or create an issue in the repository.
- Video consultation integration
- Payment gateway integration
- Prescription management
- Health records management
- Mobile app development
- AI-powered health recommendations
- Multi-language support
- Advanced analytics dashboard