A comprehensive telemedicine platform enabling real-time video consultations and medical record management. Built with Django, WebRTC, jQuery, JavaScript, WebSocket, and AWS, it ensures a secure, scalable, and user-friendly healthcare experience.
- Real-time Video Consultations: Conduct interactive sessions via OpenTok(WebRTC) with seamless video and audio streaming.
- Medical Record Management: Store and access patient records, prescriptions, and reports securely.
- Role-based Access Control: Separate dashboards for doctors, patients, and administrators.
- WebSocket-based Notifications: Real-time alerts for appointments and messages.
- Integrated Frontend and Backend: Simple and cohesive development using Django, jQuery, and JavaScript.
- Cloud Integration: Store medical files in AWS S3 and deploy backend on EC2 for scalability.
- Backend: Python, Django
- Frontend: JavaScript, jQuery
- Real-time Communication: WebRTC, WebSocket
- Cloud Services: AWS S3, EC2
- Database: PostgreSQL/MySQL
- Authentication: Django's built-in authentication with JWT
- Python 3.x
- PostgreSQL/MySQL
- AWS account for cloud services
-
Clone the repository:
git clone <repository-url> cd telemedicine-platform
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # For Linux/Mac venv\Scripts\activate # For Windows
-
Install dependencies:
pip install -r requirements.txt
-
Configure the database and environment variables:
- Update the
DATABASES
section insettings.py
. - Create a
.env
file in the root directory and add keys:DATABASE_URL=<database-url> SECRET_KEY=<django-secret-key> AWS_ACCESS_KEY=<aws-access-key> AWS_SECRET_KEY=<aws-secret-key>
- Update the
-
Run migrations:
python manage.py makemigrations python manage.py migrate
-
Collect static files:
python manage.py collectstatic
-
Start the Django server:
python manage.py runserver
-
WebRTC Configuration:
- Ensure the WebSocket server is set up for signaling.
- Configure STUN/TURN servers to support peer-to-peer communication.
-
AWS Configuration:
- Set up an S3 bucket for storing patient files.
- Use EC2 instances for hosting the backend in production.
- Patients: Register, schedule appointments, and access prescriptions.
- Doctors: Manage consultations, view patient records, and conduct video calls.
- Administrators: Monitor activities and manage user accounts.
Run the tests to ensure all components are functioning:
python manage.py test
-
Backend Deployment on AWS EC2:
- Configure the instance with necessary dependencies.
- Use Gunicorn and Nginx for production deployment.
-
Static Files Hosting:
- Store static assets on S3 for optimized performance.
For further queries or support, reach out to:
Zaakir Hussain
Email: mail.zaakir.hussain@gmail.com