Developed with the software and tools below
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.
| 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. |
└── 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.
| 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. |
Requirements
Ensure you have the following dependencies installed on your system:
- Vue.js:
version >=5.0.8
npm install -g @vue/cli- Clone the MedGPT repository:
git clone https://github.com/jatolentino/MedGPT- Change to the project directory:
cd MedGPT- Install the dependencies:
npm install swiper
npm install scrollrevealUse the following command to run MedGPT:
Frontend
npm run serveBackend
cd api
python app.pyTo execute tests, run:
npm run test-
► Single page application -
► Third-party Chat added -
► Pre-trained ChatGPT-based QA -
► Flask API routes provided
Contributions are welcome! Here are several ways you can contribute:
- Submit Pull Requests: Review open PRs, and submit your own PRs.
- Join the Discussions: Share your insights, provide feedback, or ask questions.
- Report Issues: Submit bugs found or log feature requests for MedGPT.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your GitHub account.
- Clone Locally: Clone the forked repository to your local machine using a Git client.
git clone https://github.com/jatolentino/MedGPT
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.' - Push to GitHub: Push the changes to your forked repository.
git push origin new-feature-x
- 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.
This project is protected under the APACHE LICENSE License. For more details, refer to the LICENSE file.