MediConnect is a comprehensive healthcare platform designed to connect users with healthcare professionals seamlessly. This project offers a robust, secure, and user-friendly interface for both patients and doctors, allowing easy appointment management, profile updates, and more. Administrators are equipped with powerful tools to manage users, doctors, and appointments efficiently.
MediConnect aims to simplify healthcare interactions by providing an integrated platform for:
- Patients: Book appointments, manage profiles, and get updates.
- Doctors: Manage patient appointments, update profiles, and track schedules.
- Administrators: Oversee platform operations, approve doctor applications, and ensure smooth functionality.
- User Registration & Login: Patients and doctors can register and securely log in.
- Doctor Listings: Browse and select from available doctors based on specialties.
- Appointment Booking: Patients can book appointments with doctors, and appointments can be tracked.
- Admin Dashboard: Manage users, approve or reject doctor applications, and maintain platform integrity.
- Notifications: Get real-time notifications about appointments and application status.
- Profile Management: Keep user profiles updated with relevant information.
- Doctor Applications: Doctors can apply to be listed on the platform and get approved by the admin.
- Backend: Node.js, Express.js
- Frontend: React.js, Redux
- Database: MongoDB for storing all user and doctor information securely.
To set up MongoDB, follow these steps:
-
Create a MongoDB Account
- Visit MongoDB Atlas and create a free account.
- Set up a new cluster by following the instructions.
-
Create a Database
- After setting up your cluster, click on "Collections" and then "Create Database."
- Name your database (e.g.,
mediconnect_db) and create your collections (e.g.,users,doctors,appointments).
-
Update
.envFile- Rename
.env.exampleto.envin the project root folder. - Add your MongoDB connection string in the
.envfile as shown below:MONGO_URI=mongodb+srv://<username>:<password>@cluster0.mongodb.net/<dbname>?retryWrites=true&w=majority
- Rename
-
Running the Database
- Run the project locally and ensure the backend connects to MongoDB successfully using the above configuration.
Ensure you have the following installed:
- Node.js
- MongoDB Atlas for a remote database
- Git
-
Clone the Repository
git clone https://github.com/your-username/MediConnect.git cd MediConnect -
Install Dependencies In the project root folder, run:
npm install
-
Setup Environment Variables
- Rename the
.env.examplefile to.env. - Add the necessary environment variables such as
MONGO_URI,PORT, etc.
- Rename the
-
Start the Backend In the root directory, run:
npm start
-
Start the Frontend Navigate to the
clientfolder and run:cd client npm start
The app should now be running on localhost with both the backend and frontend servers active.
You can access the live version of the MediConnect platform here.
During the development of MediConnect, several challenges were encountered:
- Database Connection Issues: Initial attempts to connect to MongoDB failed due to improper environment variable configurations. This was solved by carefully debugging the
.envfile and ensuring the MongoDB URI was correct. - Data Consistency: Ensuring consistent data flow between different components (user, doctor, and admin roles) was a significant challenge, but using Redux for state management helped overcome this.
- Deployment: Deploying the app on Render.com required specific configurations, especially with environment variables for MongoDB.
HealthBooker-main/
│
├── client/ # React frontend
├── controllers/ # Backend controllers
├── db/ # Database connection configuration
├── middleware/ # Express middlewares
├── models/ # MongoDB models
├── routes/ # API routes
├── server.js # Main server file
├── .env.example # Example environment file
├── package.json # Backend dependencies
└── README.md # Project documentationThis project is licensed under the MIT License.
- Waris (Lead Developer)