A full-stack doctor appointment booking application built using React, Node.js, Express, and MongoDB. This application includes a user-friendly frontend, a robust backend, an admin panel, and payment gateway integration.
- Browse available doctors and their schedules.
- Book appointments with selected doctors.
- Make secure payments via an integrated payment gateway.
- View and manage booked appointments.
- Manage doctors (add, edit, or delete doctor profiles).
- View and manage all appointments.
- Monitor platform statistics and user activity.
- Responsive design for mobile and desktop.
- Secure authentication and authorization (JWT).
- Error handling and validation.
- React.js with Tailwind CSS for styling.
- State management using Context API or Redux.
- Node.js with Express.js for server-side logic.
- MongoDB for database management.
- Built with React.js, with routes protected for admin-only access.
- Integrated with Razorpay or Stripe for secure transactions.
- User authentication with JWT (JSON Web Tokens).
- Password hashing using bcrypt.
- Node.js and npm installed.
- MongoDB installed or access to a MongoDB Atlas cluster.
-
Clone the repository
git clone https://github.com/your-repo/doctor-appointment-app.git cd doctor-appointment-app -
Install dependencies
npm install cd client npm install cd ../admin npm install
-
Set up environment variables Create a
.envfile in the root directory and add:PORT=5000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret RAZORPAY_KEY_ID=your_razorpay_key RAZORPAY_SECRET=your_razorpay_secret
-
Run the application
- Start the backend:
npm start
- Start the frontend:
cd client npm start - Start the admin panel:
cd admin npm start
- Start the backend:
-
Access the application
- Frontend:
http://localhost:3000 - Admin Panel:
http://localhost:3001
- Frontend: