Your lab reports. Finally explained.
No more confusion, no more Googling medical terms. MurffyLab reads your report, explains it simply, and speaks it in your language. Upload once. Get clarity forever.
- Overview
- Features
- Getting Started
- Project Structure
- API Documentation
- Development
- Contributing
- License
MurffyLab is a FastAPI-based backend service for the Kinkare medical AI application. It simplifies complex medical reports by providing AI-powered analysis, text-to-speech conversion, and multilingual support.
- 📝 OCR Processing: Extract text from uploaded medical reports
- 🧠 AI Analysis: Interpret medical terminology in plain language
- 🔊 Text-to-Speech: Convert explanations to spoken audio
- 💬 Multilingual Support: Understand reports in any language
- 📱 Communication Services: SMS and call notifications via Twilio
- Python 3.12+
- Git for version control
- Node.js 14+
- npm or yarn
Clone the Repository
git clone https://github.com/RudraNarayan94/MurffyLab.git
cd MurffyLab- Navigate to Frontend Directory
cd Frontend- Install Dependencies
npm install
# or
yarn install- Start Development Server
npm start
# or
yarn startAccess the frontend at: http://localhost:3000
- Set Up Virtual Environment
# Create virtual environment
python -m venv .venv
# Activate on Windows
.\.venv\Scripts\activate
# Activate on macOS/Linux
source .venv/bin/activate- Install Dependencies
pip install --upgrade pip
pip install -r requirements.txt- Configure Environment Variables
cp .env.example .envEdit the .env file with your service credentials:
OCR_PROVIDER=tesseract
AI_MODEL_ENDPOINT=http://localhost:11434
MURF_API_KEY=your_murf_api_key
TWILIO_ACCOUNT_SID=your_account_sid
TWILIO_AUTH_TOKEN=your_auth_token
- Start the Application
uvicorn app.main:app --reloadAccess the API at: http://localhost:8000
Kinkare-backend/
├── app/ # Main application package
│ ├── main.py # FastAPI app initialization
│ ├── config.py # Configuration settings
│ ├── api/ # API endpoints
│ │ └── routes/ # Route definitions
│ ├── services/ # Business logic
│ │ ├── ocr.py # OCR processing
│ │ ├── analysis.py # AI analysis
│ │ ├── tts.py # Text-to-speech
│ │ └── communication.py # Twilio integration
│ └── models/ # Data models
├── Frontend/ # React frontend application
│ ├── public/ # Static files
│ ├── src/ # Source code
│ │ ├── components/ # React components
│ │ ├── pages/ # Page components
│ │ ├── services/ # API services
│ │ └── App.js # Main application component
│ └── package.json # Frontend dependencies
├── .env # Environment variables (git-ignored)
├── .env.example # Template for environment variables
├── requirements.txt # Backend dependencies
├── Dockerfile # Container definition
└── README.md # This file
Once the application is running, access the interactive API documentation:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
| Endpoint | Method | Description |
|---|---|---|
/upload |
POST | Process and extract text from documents |
/analyze |
POST | Analyze medical text with AI |
/tts |
POST | Convert text to speech audio |
/translate |
POST | Translate text to target language |
# Install development dependencies
pip install -r requirements-dev.txt
### Adding Dependencies
When adding new dependencies, update the requirements file:
```bash
pip freeze > requirements.txt| 💻 Developer | 🌐 GitHub |
|---|---|
| 👩💻 Akansha | akansh30 |
| 👨💻 Raj | rajiknows |
| 👨💻 Rudra | RudraNarayan94 |
| 👨💻 Swaraj | swaraj-mishra-22bcsb72 |
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ by the MurffyLab Team