Skip to content

akathedeveloper/Drx.MediMate

 
 

Repository files navigation

🦖 Aditi - Your Pharmaceutical Assistant

welcome-gif-24

📈 Project Overview

Aditi is a Flask-based web application that serves as your AI-powered pharmaceutical assistant. It provides:

  • Clinical drug information, including therapeutic uses, dosage guidelines, side effects, contraindications, and drug interactions.
  • Symptom-based drug recommendations following evidence-based guidelines.
  • Educational Use: Designed for educational purposes to assist in healthcare decision-making.

🔧 Features

  • Drug Information: Get detailed clinical summaries for any drug, tailored for pharmacists and healthcare professionals.
  • Symptom Checker: Input symptoms and receive AI-generated drug recommendations.
  • Educational Use: Designed for educational purposes to assist in healthcare decision-making.

🔍 Technology Stack

  • Backend: Python, Flask
  • AI: Google Generative AI (Gemini Model)
  • Frontend: HTML, CSS (Flask templates)
  • Hosting: Vercel

📚 Table of Contents


⛏ Installation

Prerequisites

  1. Python 3.8 or above
  2. Flask
  3. A valid Google Generative AI API key

Steps

  1. Clone the repository:

    git clone https://github.com/your-username/aditi.git
    cd aditi
  2. Install dependencies:

    pip install -r requirements.txt
  3. Set up your API key:

    • Add your API key as an environment variable named GEMINI_KEY.
  4. Run the application:

    python app.py
  5. Open your browser and navigate to http://127.0.0.1:5000/.


▶️ Usage

Endpoints

  1. Home Page: GET /

    • Displays the main landing page.
  2. Drug Information: POST /get_drug_info

    • Input: JSON payload with drug_name.
    • Output: JSON response containing clinical drug information.
  3. Symptom Checker: POST /symptom_checker

    • Input: JSON payload with symptoms.
    • Output: JSON response with recommended drugs and safety information.

📊 Logging, Timeout & Retry

  • All logs are streamed to the console (stdout) and available via provider dashboards (e.g., Vercel logs).
  • No log files or directories are created for maximum compatibility in serverless environments.
  • Gemini API requests use a 10-second timeout and will retry up to 3 times if needed.
  • Logged events include all API calls, gemini prompts, errors, and exception details.

🛠️ Contributing

Contributions are welcome! Follow these steps to contribute:

  1. Fork the repository:

    git fork https://github.com/your-username/aditi.git
  2. Clone your forked repository:

    git clone https://github.com/your-username/aditi.git
  3. Create a new branch for your feature or bug fix:

    git checkout -b feature-name
  4. Commit your changes:

    git commit -m "Description of your changes"
  5. Push your branch:

    git push origin feature-name
  6. Open a pull request to the main repository.


📜 License

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


❤️ Contributors

A big thank you to all contributors!

Contributors

Releases

No releases published

Packages

No packages published

Languages

  • HTML 68.9%
  • CSS 13.9%
  • JavaScript 11.3%
  • Python 5.9%