MediCare is a web application designed for medical consultation, allowing users to connect with doctors, book appointments, and have video consultations.
- User Authentication: π€ Users can register and log in using their email and password. They can also set their profile picture.
- Forget Password: π Provides a feature to reset the password by sending an OTP to the registered email address.
- Doctor Registration: π©Ί Users can apply to become a doctor by submitting details such as fees, availability, certificates, and education. Admin approval is required for doctor status.
- Doctor Search: π Users can search for doctors by name or specialty (e.g., dentist, neurosurgeon).
- Doctor Details: π Users can view detailed profiles of doctors, including their qualifications and availability.
- Appointment Booking: π Users can see available time slots for doctors and book appointments for specific dates.
- Payment Gateway: π³ Stripe payment gateway integration allows users to pay doctor fees securely.
- Appointment Confirmation: π© After successful payment, the doctor receives a notification about the booking and the time slot. The doctor can see the patient's name and the booked slot in the appointments tab.
- Appointment Management: π Users can view their appointments in the appointments tab, where a call button activates during the appointment's time slot for video consultations.
- Video Consultation: π₯ Users can have video consultations with doctors during their appointment slots using WebRTC technology.
- Frontend: React.js π
- Backend: Node.js, Express.js π
- Database: MongoDB π
- Image Storage: Cloudinary β
- Email Service: Nodemailer π§
- Video Calling: WebRTC πΉ
- Socket Library: Socket.io π
- Payment Gateway: Stripe π³
- Authentication: JWT π
- Password Encryption: Bcrypt π
- Form Handling: React Hook Forms π
- Scheduling: Node-schedule β°
- Styling: Tailwind CSS π¨
- Clone the repository.
- Navigate to the project directory.
- Install dependencies using npm install for both frontend and backend.
- Set up environment variables.
- Run the frontend and backend servers using npm start.
- Register and log in as a user or apply to become a doctor.
- Search for doctors and view their profiles.
- Book appointments with doctors and make payments securely.
- Have video consultations during scheduled appointmentΒ slots.