Skip to content

RudraNarayan94/MurffyLab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔬 MurffyLab

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.

FastAPI Python License

📋 Contents

🌟 Overview

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.

✨ Features

  • 📝 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

🚀 Getting Started

Prerequisites

  • Python 3.12+
  • Git for version control
  • Node.js 14+
  • npm or yarn

Installation

Clone the Repository

git clone https://github.com/RudraNarayan94/MurffyLab.git
cd MurffyLab

Frontend Setup

  1. Navigate to Frontend Directory
cd Frontend
  1. Install Dependencies
npm install
# or
yarn install
  1. Start Development Server
npm start
# or
yarn start

Access the frontend at: http://localhost:3000

Backend Setup

  1. 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
  1. Install Dependencies
pip install --upgrade pip
pip install -r requirements.txt
  1. Configure Environment Variables
cp .env.example .env

Edit 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
  1. Start the Application
uvicorn app.main:app --reload

Access the API at: http://localhost:8000

📂 Project Structure

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

📚 API Documentation

Once the application is running, access the interactive API documentation:

Key Endpoints

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

🛠️ Development

# Install development dependencies
pip install -r requirements-dev.txt


### Adding Dependencies

When adding new dependencies, update the requirements file:

```bash
pip freeze > requirements.txt

👥 Meet the Team

💻 Developer 🌐 GitHub
👩‍💻 Akansha akansh30
👨‍💻 Raj rajiknows
👨‍💻 Rudra RudraNarayan94
👨‍💻 Swaraj swaraj-mishra-22bcsb72

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Built with ❤️ by the MurffyLab Team

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •