MediConnect is a web-based system designed to help patients book appointments with doctors seamlessly. Patients can search for doctors based on departments, view their profiles, check availability, and book appointments with ease.
This README will guide you through setting up the MediConnect system locally, as well as provide an overview of the core features.
- Doctor Search: Patients can search for doctors by department and view detailed profiles, including their ratings, availability, and specializations.
- Appointment Booking: Patients can book appointments with doctors, specifying their preferred date, time, and providing a brief description of the issue.
- Appointment Management: Admins can view and manage appointments, including printing and filtering by doctor.
- User Authentication: Support for user registration and login for both patients and admins.
- Frontend: HTML, CSS (Tailwind CSS), JavaScript
- Backend: Flask (Python)
- Database: SQLite (or other databases like PostgreSQL or MySQL for production)
- Authentication: Flask-Login for session management
- ORM: SQLAlchemy
- Other Libraries: Flask-WTF, Flask-Mail (for email notifications), Werkzeug (for password hashing)
Before running the project locally, ensure you have the following installed:
- Python 3.x
- Git
- pip (Python package installer)
-
Clone the Repository
First, clone the project repository to your local machine:
git clone https://github.com/titustum/doctors-appointment-system.git cd doctors-appointment-system -
Create and Activate a Virtual Environment
It is recommended to create a virtual environment to manage dependencies:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install Dependencies
Install the required dependencies using
pip:pip install -r requirements.txt
-
Set Up Database
Initialize the SQLite database and create the required tables:
flask db init flask db migrate flask db upgrade
-
Run the Application
After setting up the database, you can run the Flask development server:
flask run
This will start the web server at
http://127.0.0.1:5000/.
- Register as a new user: Navigate to the
/registerpage to create a new account. - Log in: Once registered, you can log in using the
/loginpage. - Admin Access: Admins can manage the appointments via the
/adminroute.
- View Doctors: Navigate to the
/doctorspage to view available doctors. - Select a Doctor: Click on a doctor’s profile to see their availability and book an appointment.
- Book Appointment: Select your preferred date, time, and provide a brief description of your issue.
- Confirm Appointment: After filling out the form, click Confirm Appointment to finalize the booking.
- Admins can view and manage all appointments via the
/admin/appointmentspage. - Appointments can be filtered by doctor, and admins can also print appointment details.
We welcome contributions to the MediConnect project! To contribute:
- Fork the repository on GitHub.
- Create a new branch for your feature (
git checkout -b feature-name). - Make your changes and commit them (
git commit -am 'Add feature'). - Push your branch to your fork (
git push origin feature-name). - Submit a pull request with a description of the changes.
Please ensure that your code follows the style guide and passes all tests before submitting a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Flask: A micro web framework for Python.
- SQLAlchemy: ORM for Python for interacting with databases.
- Flask-WTF: Forms and validation for Flask applications.
- Tailwind CSS: A utility-first CSS framework used for styling the UI.
If you have any questions or feedback, feel free to open an issue on the GitHub repository or contact the maintainers via email (mediconnect@gmail.com)