https://github.com/shlokarora2709/docwise
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.
https://github.com/shlokarora2709/docwise
api authentication backend chatbot django gmail-api google-generative-ai html-css js python3 rag retrival-augmented-generation tailwindcss webrtc-video
Last synced: 3 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/shlokarora2709/docwise
- Owner: ShlokArora2709
- Created: 2024-07-18T04:57:11.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-16T05:47:23.000Z (over 1 year ago)
- Last Synced: 2026-01-03T16:18:39.959Z (6 months ago)
- Topics: api, authentication, backend, chatbot, django, gmail-api, google-generative-ai, html-css, js, python3, rag, retrival-augmented-generation, tailwindcss, webrtc-video
- Language: CSS
- Homepage: https://docwise.onrender.com
- Size: 1000 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

# DocWise
**Live Deployement Link**-https://docwise.onrender.com
## Description
**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:**
```bash
git clone https://github.com/ShlokArora2709/DocWise.git
cd docwise
```
2. **Create a virtual environment:**
```bash
python -m venv venv
```
3. **Activate the virtual environment:**
- On Windows:
```bash
venv\Scripts\activate
```
- On macOS/Linux:
```bash
source venv/bin/activate
```
4. **Install dependencies:**
```bash
pip install -r requirements.txt
```
5. **Install Node.js dependencies for Tailwind CSS:**
```bash
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:**
```bash
python manage.py migrate
```
8. **Create a superuser (for admin access):**
```bash
python manage.py createsuperuser
```
9. **Start the Django development server:**
```bash
python manage.py runserver
```
10. **For WebSocket support, start Daphne (ASGI server):**
```bash
daphne -p 8001 DocWise.asgi:application
```
Note: Ensure Daphne is installed via `pip install daphne`.
11. **Build Tailwind CSS:**
To build CSS:
```bash
npm run build:css
```
To watch for changes:
```bash
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.