Skip to content

DocWise is a Django-based web application that manages medical consultations and reports. It features medical report processing, doctor registration, appointment booking, video calling via WebRTC, and a chatbot with Retrieval-Augmented Generation (RAG) for enhanced interactions.

Notifications You must be signed in to change notification settings

ShlokArora2709/DocWise

Repository files navigation

DocWise

Live Deployement Link-https://docwise.onrender.com

Description

DocWise

DocWise is a Django-based web application designed to manage medical consultations and reports. It includes features for uploading and processing medical reports, registering doctors, booking appointments, and engaging with a medical chatbot. The application also supports video calling for virtual consultations using WebRTC and employs Retrieval-Augmented Generation (RAG) to enhance chatbot responses.

Features

  • User Authentication: Sign up, log in, and manage user sessions.
  • Doctor Management: Register doctors and manage their details.
  • Medical Report Handling: Upload and analyze medical reports using AI for summaries.
  • Appointment Booking: Book appointments with doctors and receive confirmation emails.
  • Chatbot with RAG: Interact with a medical chatbot that uses Retrieval-Augmented Generation (RAG) for more accurate and contextually relevant health-related advice.
  • Video Calling: Conduct video calls with doctors using WebRTC.

Installation

  1. Clone the repository:

    git clone https://github.com/ShlokArora2709/DocWise.git
    cd docwise
  2. Create a virtual environment:

    python -m venv venv
  3. Activate the virtual environment:

    • On Windows:

      venv\Scripts\activate
    • On macOS/Linux:

      source venv/bin/activate
  4. Install dependencies:

    pip install -r requirements.txt
  5. Install Node.js dependencies for Tailwind CSS:

    npm install
  6. Set up environment variables:

    Create a .env file in the project root and add the following:

    GEMINI_API_KEY=your_gemini_api_key
    
  7. Run migrations:

    python manage.py migrate
  8. Create a superuser (for admin access):

    python manage.py createsuperuser
  9. Start the Django development server:

    python manage.py runserver
  10. For WebSocket support, start Daphne (ASGI server):

    daphne -p 8001 DocWise.asgi:application

    Note: Ensure Daphne is installed via pip install daphne.

  11. Build Tailwind CSS:

    To build CSS:

    npm run build:css

    To watch for changes:

    npm run watch:css

File Structure

docwise/
├── manage.py
├── docwise/
│   ├── __init__.py
│   ├── asgi.py
│   ├── consumers.py
│   ├── routing.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── ChatbotAndClass/
│   ├── __init__.py
│   ├── models.py
│   ├── views.py
│   ├── urls.py
│   ├── forms.py
│   └── consumers.py
├── Login/
│   ├── __init__.py
│   ├── models.py
│   ├── views.py
│   ├── urls.py
│   ├── forms.py
│   └── consumers.py
├── templates/
│   ├── chatbot.html
│   ├── upload_report.html
│   ├── search_doctors.html
│   ├── VideoCall.html
│   ├── home.html
│   ├── login.html
│   ├── signup.html
│   └── doctor_registration.html
├── static/
│   ├── styles.css
│   └── output.css
└── .env

Tech Stack

  • Backend: Django, Node.js , Daphne (for WebSocket support)
  • Frontend: HTML, CSS, JavaScript, jQuery, Toastr.js, Tailwind CSS
  • Database: SQLite (default), can be configured to use other databases
  • APIs: Google Gemini API for generating content
  • WebRTC: For video calling
  • Email: SimpleGmail for sending appointment emails[refer SimpleGmail github]

Additional Information

  • Daphne is used as an ASGI server to support WebSockets. Ensure you have Daphne installed and running alongside your Django development server for WebRTC features to work.
  • Tailwind CSS is used for styling. You need to build or watch the CSS files using npm commands.
  • For WebRTC video calling, make sure you test it in a secure environment (e.g., using HTTPS). Localhost connections might require additional configuration for secure contexts.

About

DocWise is a Django-based web application that manages medical consultations and reports. It features medical report processing, doctor registration, appointment booking, video calling via WebRTC, and a chatbot with Retrieval-Augmented Generation (RAG) for enhanced interactions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published