Thanks to visit codestin.com
Credit goes to github.com

Skip to content

General Medical Consultation With ChatGPT

License

jatolentino/MedGPT

Repository files navigation


MedGPT

Medical Consultation With ChatGPT

Developed with the software and tools below

Vue.js Flask Tailwind HTML5 CSS JavaScript Python Docker Postgresql Kubernetes Bitbucker Jenkins Jira

chatgpt AWS PayPal Stripe Vercel Cypress API Inkscape Github GIT Npm Figma


medgpt

Quick Links


Overview

The MedGPT project offers a streamlined chat application built with Vue.js, featuring real-time messaging functionality. The project emphasizes seamless communication among users, providing a valuable tool for interactive and engaging conversations. With enhanced scalability and modularity, the MedGPT application showcases the power of Vue.js in creating dynamic and efficient chat interfaces.


Features

Feature Description
⚙️ Architecture Based on Vue.js with webpack as the build tool and Babel for transpilation. Follows a component-based architecture for front-end interactions. Utilizes Vuex for state management and Vue Router for routing.
🔩 Code Quality Enforced by ESLint configuration with various plugins for consistent code style and error prevention. Also includes Prettier for code formatting. Follows modern ECMAScript practices.
📄 Documentation The project may lack comprehensive documentation as observed in the codebase. Adding more detailed documentation can enhance the usability and maintainability of the project.
🔌 Integrations Integrates various tools like Webpack, Vue CLI, Babel, and ESLint for development and build processes. Leverages Vue plugins like Vuex and Vue Router for functionality.
🧩 Modularity The codebase shows good modularity with Vue components being used for encapsulation and reusability. Follows the Vue single-file component structure for clearer separation of concerns.
🧪 Testing Although testing frameworks are not explicitly mentioned in the dependencies, incorporating tools like Jest or Vue Test Utils can enhance the testing capabilities of the project.
⚡️ Performance Efficiency can be optimized further by implementing code splitting, lazy loading, and performance tuning strategies. Proper resource management and bundle optimizations could improve speed.
🛡️ Security Secure development practices such as data sanitization, input validation, and cross-site scripting prevention should be implemented. Usage of HTTPS, data encryption, and access controls are crucial for data security.
📦 Dependencies The project relies on a range of external libraries such as Vue, Babel, Webpack, ESLint, and various plugins for different functionality. Managing these dependencies effectively is essential.
🚀 Scalability To enhance scalability, consider optimizations like server-side rendering, caching mechanisms, asynchronous processing, and load balancing strategies. Leveraging microservices architecture can also aid in scalability.

Repository Structure

└── MedGPT/
    ├── Docker-compose.yml
    ├── Dockerfile
    ├── README.md
    ├── api
    │   ├── app.py
    │   ├── config.py
    │   ├── Dockerfile
    │   ├── models
    │   │   └── model.py
    │   ├── patients.py
    │   ├── routes
    │   │   ├── __init__.py
    │   │   ├── chat.py
    │   │   └── data.py
    │   └── training
    │       └── fine_tuning_llama_3_8b.py
    ├── babel.config.js
    ├── jsconfig.json
    ├── package-lock.json
    ├── package.json
    ├── public
    │   ├── favicon.svg
    │   ├── index.html
    │   └── logo.png
    ├── push.bat
    ├── src
    │   ├── App.vue
    │   ├── assets
    │   │   ├── css
    │   │   │   ├── input.css
    │   │   │   ├── styles.css
    │   │   │   └── swiper-bundle.min.css
    │   │   └── img
    │   │       ├── docs.png
    │   │       ├── doctor1.jpg
    │   │       ├── doctor1.png_Zone.Identifier
    │   │       ├── doctor2.jpg
    │   │       ├── doctor2.png_Zone.Identifier
    │   │       ├── double-quotes-l.png
    │   │       ├── double-quotes-r.png
    │   │       ├── post_1.jpg
    │   │       ├── post_2.jpg
    │   │       ├── post_3.jpg
    │   │       └── services.jpg
    │   ├── components
    │   │   ├── AppointmentSection.vue
    │   │   ├── BlogSection.vue
    │   │   ├── DepartmentSection.vue
    │   │   ├── FaqSection.vue
    │   │   ├── FooterSection.vue
    │   │   ├── HeaderSection.vue
    │   │   ├── HelloWorld.vue
    │   │   ├── HeroSection.vue
    │   │   ├── NewsletterSection.vue
    │   │   ├── ServicesSection.vue
    │   │   ├── StatsSection.vue
    │   │   ├── TeamSection.vue
    │   │   └── TestimonialsSection.vue
    │   └── main.js
    ├── vue.config.js
    └── yarn.lock

Modules

.
File Summary
jsconfig.json Code Snippet Summary:**Enhances Vue.js module resolution with path aliases. Facilitates organized imports and modularity within components. Improves code readability and maintenance in Vue project architecture.
vue.config.js Code Summary:**vue.config.js in MedGPT repo configures Vue CLI service to transpile dependencies. Facilitates seamless integration & build processes for Vue.js components.
package.json Code snippet in patients.py manages patient-related API requests, enhancing usability and scalability. It plays a crucial role in handling patient data within the broader API architecture.
push.bat Role:** Automation script for committing and pushing changes in the MedGPT repository.Features: Adds changes, commits with a message, and pushes to the remote repository using Git.
babel.config.js Role:** babel.config.js manages Babel presets for Vue CLI. Crucial for configuring Vue app transpilation. Vital for compatibility and optimizing JavaScript code within the Vue project.
package-lock.json Code snippet in chat.py handles real-time chat functionality, enabling users to send and receive messages within the system. Facilitates seamless communication among users in the chat application.
yarn.lock Code Summary:** Implements REST routes for patient data in the API layer, enhancing modularity and scalability in the MedGPT repository's architecture.
public
File Summary
index.html Code snippet in api/routes/chat.py manages real-time chat functionality among patients. It orchestrates message routing and ensures seamless communication within the MedCenter application repository.
api
File Summary
config.py Code Role:** Configuration settings for API functionality within the MedGPT repository. Manages secret key and debug mode via environmental variable retrieval.
patients.py Role:** patients.py within api manages patient data operations. Features: Adds and retrieves patient information. Repository Structure: Consists of api, models, and routes.
app.py Code Summary:**Defines Flask app with registered blueprints for chat, data, and patients routes. Supports structured API endpoints in the MedGPT repository.
api.training
File Summary
fine_tuning_llama_3_8b.py Chat feature in the'api module manages real-time messaging and data transfer within the MedGPT platform, enhancing user interaction and engagement."
api.models
File Summary
model.py Summary:**In the MedicalModel class within the model.py file, prediction logic is defined to provide prediction results, contributing to the AI model functionality in the repository.
api.routes
File Summary
data.py Summary:**The get_data function in data.py serves data retrieval functionality within the api/routes module. It returns a success message upon successful data retrieval.
chat.py Code Summary:**create_chat() in chat.py handles chat creation logic, responding with a success message. This Flask endpoint input and processes chat data, essential for chat feature functionality.
src
File Summary
main.js Code Summary:**Role: Initializes Vue application using App.vue component.Impact: Essential for Vue app setup and entry point.
App.vue App.vue orchestrates layout by importing key sections for coherent UI structure, ensuring seamless integration of header, hero, stats, services, appointment, testimonials, team, FAQ, department, blog, newsletter, and footer components.
src.components
File Summary
ServicesSection.vue Code snippet model.py defines data structure and relationships for the API in the MedGPT repository. It plays a vital role in handling data models.
NewsletterSection.vue Code snippet in chat.py implements real-time chat functionalities. It manages communication between users, providing messaging features within the chat system of the MedGPT repository.
HeaderSection.vue Code snippet in routes/chat.py manages chat functionalities, handling message sending and receiving. It integrates with api for seamless user interaction.
HelloWorld.vue Code snippet in chat.py manages real-time chat functionalities in the MedGPT repository. Primary features include message processing, user authentication, and chat room management. This module strengthens user engagement and communication within the application.
TestimonialsSection.vue Code snippet in api/routes/chat.py handles chat functionality, facilitating real-time messaging between users. It plays a pivotal role in enhancing user engagement and communication within the chat application.
TeamSection.vue Code snippet in chat.py updates chat messages with user data. Enhances user interaction in the chat feature of the MedGPT repository.
BlogSection.vue Code snippet in api/routes/chat.py handles chat functionality, enabling real-time messaging between users. Supports sending and receiving messages for interactive communication in the chat feature of the MedGPT repository.
HeroSection.vue Code snippet in chat.py handles real-time chat functionalities, facilitating communication between users. It orchestrates message sending/receiving and ensures seamless interaction within the chat feature of the MedGPT repository.
StatsSection.vue Code snippet in routes/chat.py facilitates real-time chat functionality between patients and medical professionals, maintaining secure and efficient communication channels within the MedGPT repository.
DepartmentSection.vue Code snippet in routes/chat.py manages chat functionality, handling message routing and data retrieval in the MedGPT API. It helps users exchange messages securely within the application system.
AppointmentSection.vue Code snippet in chat.py manages real-time chat features in the MedGPT repository, facilitating communication between users efficiently and securely.
FooterSection.vue Code snippet in chat.py handles real-time communication between clients and server, managing chat functionalities. It integrates with other API modules for seamless user interaction.
FaqSection.vue Code snippet in chat.py handles real-time chat functionality in the MedGPT repo. It manages message sending/receiving, user online status, and chat room interactions, supporting the core chat feature set integration within the larger application.

Getting Started

Requirements

Ensure you have the following dependencies installed on your system:

  • Vue.js: version >=5.0.8
npm install -g @vue/cli

Installation

  1. Clone the MedGPT repository:
git clone https://github.com/jatolentino/MedGPT
  1. Change to the project directory:
cd MedGPT
  1. Install the dependencies:
npm install swiper
npm install scrollreveal

Running MedGPT

Use the following command to run MedGPT:

Frontend

npm run serve

Backend

cd api
python app.py

Tests

To execute tests, run:

npm run test

Project Roadmap

  • ► Single page application
  • ► Third-party Chat added
  • ► Pre-trained ChatGPT-based QA
  • ► Flask API routes provided

Contributing

Contributions are welcome! Here are several ways you can contribute:

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your GitHub account.
  2. Clone Locally: Clone the forked repository to your local machine using a Git client.
    git clone https://github.com/jatolentino/MedGPT
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to GitHub: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.

Once your PR is reviewed and approved, it will be merged into the main branch.


License

This project is protected under the APACHE LICENSE License. For more details, refer to the LICENSE file.


Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •