{"id":25477051,"url":"https://github.com/hlexnc/project-arepo","last_synced_at":"2026-02-15T01:33:47.122Z","repository":{"id":259191087,"uuid":"869405969","full_name":"HlexNC/Project-Arepo","owner":"HlexNC","description":"Data-driven stroke risk assessment \u0026 personalized recommendations, powered by machine-learning and an NLU-driven chatbot.","archived":false,"fork":false,"pushed_at":"2025-02-14T22:02:38.000Z","size":90305,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-13T20:21:35.570Z","etag":null,"topics":["chatbot","data-analysis","docker","docker-compose","machine-learning","nlu-chatbot","python","rasa","scikit-learn","sklearn","streamlit"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"THD-AI-2023/AIN-B-3-Assistant-Systems","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HlexNC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-08T08:40:29.000Z","updated_at":"2025-02-14T22:02:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"40cd0c35-47ea-4fe1-a5ac-ddfcb71532c9","html_url":"https://github.com/HlexNC/Project-Arepo","commit_stats":null,"previous_names":["hlexnc/project-arepo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/HlexNC/Project-Arepo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HlexNC%2FProject-Arepo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HlexNC%2FProject-Arepo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HlexNC%2FProject-Arepo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HlexNC%2FProject-Arepo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HlexNC","download_url":"https://codeload.github.com/HlexNC/Project-Arepo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HlexNC%2FProject-Arepo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29464220,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T01:01:38.065Z","status":"ssl_error","status_checked_at":"2026-02-15T01:01:23.809Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatbot","data-analysis","docker","docker-compose","machine-learning","nlu-chatbot","python","rasa","scikit-learn","sklearn","streamlit"],"created_at":"2025-02-18T13:37:52.525Z","updated_at":"2026-02-15T01:33:47.115Z","avatar_url":"https://github.com/HlexNC.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n   Project Apero - Stroke Prediction Web App\n   =========================================\n   Production-Ready README for LinkedIn Presentation\n   Inspired by Microsoft-style \"Perfect README\"\n--\u003e\n\n\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"./docs/img/ASP_Banner.png\" alt=\"Project Apero Banner\" width=\"600\"/\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/codespaces/new?repo=HlexNC/Project-Arepo\u0026machine=standardLinux32gb\u0026devcontainer_path=.devcontainer/devcontainer.json\"\u003e\n    \u003cimg src=\"https://github.com/codespaces/badge.svg\" alt=\"Open in GitHub Codespaces\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/HlexNC/Project-Arepo\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/GitHub-Project_Apero-blue?style=flat-square\u0026logo=github\" alt=\"GitHub Badge\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.python.org/downloads/release/python-390/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Python-3.9+-blue.svg?logo=python\u0026logoColor=white\" alt=\"Requires Python 3.9+\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat-square\" alt=\"GPLv3 License Badge\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.docker.com/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Docker-Enabled-blue.svg?style=flat-square\u0026logo=docker\u0026logoColor=white\" alt=\"Docker Enabled\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch4 align=\"center\"\u003e\nProject Apero is a comprehensive web application—originally developed as a university project—designed to help individuals assess their stroke risk and receive personalized recommendations. It leverages data analysis, machine learning, and a conversational chatbot interface to provide actionable health insights.\n\u003c/h4\u003e\n\n---\n\n## Table of Contents\n\n- [Project Description](#project-description)\n- [Screenshots](#screenshots)\n- [Key Features](#key-features)\n- [Installation](#installation)\n  - [Prerequisites](#prerequisites)\n  - [Steps to Get Started](#steps-to-get-started)\n  - [Training the Rasa Chatbot (Optional)](#training-the-rasa-chatbot-optional)\n- [Data Overview](#data-overview)\n  - [Dataset](#dataset)\n  - [Data Handling and Augmentation](#data-handling-and-augmentation)\n- [Usage](#usage)\n  - [Personalized Stroke Risk Assessment](#personalized-stroke-risk-assessment)\n  - [Interactive Data Analysis](#interactive-data-analysis)\n  - [Chatbot Assistance](#chatbot-assistance)\n- [Project Structure](#project-structure)\n- [Disclaimer](#disclaimer)\n- [Repository Visualization](#repository-visualization)\n- [License](#license)\n- [Contact](#contact)\n\n---\n\n## Project Description\n\n**Project Apero** provides an intuitive interface for users to input personal health metrics—such as age, gender, BMI, blood glucose levels, etc.—and receive an estimated probability of experiencing a stroke. It then offers evidence-based recommendations and insights to help reduce stroke risk.\n\nThe application is built using:\n- **Streamlit** for the web front end\n- **Scikit-Learn** for machine learning model training and prediction\n- **Rasa** for an integrated chatbot\n- **Docker** for containerization and ease of deployment\n\n\u003e **Why \"Apero\"?**  \n\u003e The project name is derived from a playful acronym referencing a healthy approach to “Assessing Personal Event Risks Online,” aiming to make preventative health measures more approachable.\n\n---\n\n## Screenshots\n\n\u003cimg src=\"./docs/img/ASP_Screenshots.png\" alt=\"Data Analysis Page and Chatbot Interface\"/\u003e\n\n---\n\n## Key Features\n\n1. **Personalized Stroke Risk Assessment**\n   - **Input Health Metrics**: Users provide personal data (e.g., age, gender, BMI, blood glucose levels, and more).\n   - **Risk Probability**: The machine learning model calculates a stroke risk score (0.0 to 1.0).\n   - **Actionable Recommendations**: Users receive suggestions tailored to their risk factors.\n\n2. **Interactive Data Analysis \u0026 Visualization**\n   - **Data Exploration**: Filter and explore health-related metrics to reveal trends and correlations.\n   - **Visual Insights**: Interactive charts, heatmaps, and summary statistics enhance comprehension of stroke risk factors.\n\n3. **Conversational Chatbot Assistance**\n   - **Real-Time Queries**: A Rasa-powered chatbot answers questions about stroke risk, data insights, and wellness tips.\n   - **Guided Interaction**: The chatbot can direct users to relevant pages, simplify data analysis steps, and deliver personalized feedback.\n\n4. **Robust Data Handling and Augmentation**\n   - **Outlier Detection**: Statistical methods to detect and remove anomalies.\n   - **Synthetic Data Generation**: Augments the dataset by ~30% to improve model performance and generalization.\n\n---\n\n## Installation\n\n### Prerequisites\n\n- **Docker**  \n  Make sure [Docker](https://www.docker.com/) is installed and running on your machine.\n- **Git**  \n  Required to clone the repository.\n- **Python 3.9+ (Optional)**  \n  If you want to run or modify components without Docker.\n\n### Steps to Get Started\n\n1. **Clone the Repository**  \n   ```bash\n   git clone https://github.com/HlexNC/Project-Arepo.git\n   cd Project-Arepo\n   ```\n\n2. **Build and Run Docker Services**  \n   ```bash\n   docker-compose up --build\n   ```\n   - This command builds Docker images, trains machine learning models, and starts all necessary services.\n   - The initial startup may take several minutes as the environment sets up.\n\n3. **Access the Web Application**  \n   - Open a web browser and go to: [http://localhost:8501](http://localhost:8501).\n   - You will see the main page with navigation options for data analysis, personalized recommendations, and chatbot interaction.\n\n\u003e [!TIP]\n\u003e If you want to run or modify components without Docker, refer to the comments in the `docker-compose.yml` or optional instructions in the [`docs/`](./docs) folder (if provided).\n\n### Training the Rasa Chatbot (Optional)\n\nIf you make changes to the chatbot’s training data or if the chatbot fails to respond:\n\n1. **Open a terminal inside the Rasa server container**  \n   ```bash\n   docker exec -it rasa_server bash\n   ```\n\n2. **Train the Rasa Model**  \n   ```bash\n   rasa train\n   ```\n\n3. **Restart Services**  \n   ```bash\n   exit\n   docker-compose down\n   docker-compose up --build -d\n   ```\n\n---\n\n## Data Overview\n\n### Dataset\n\nWe utilize the publicly available [Stroke Prediction Dataset](https://www.kaggle.com/datasets/fedesoriano/stroke-prediction-dataset). This dataset includes key health metrics:\n\n- Age, BMI, Glucose Levels\n- Hypertension, Heart Disease\n- Smoking Status, etc.\n\n\u003e [!NOTE]\n\u003e This dataset is used strictly for educational and demonstration purposes.\n\n### Data Handling and Augmentation\n\n- **Outlier Detection**: Employs a Z-score based method to filter anomalous data points.\n- **Synthetic Data Augmentation**: Adds ~30% realistic synthetic data to boost model robustness and representation.\n- **Feature Scaling**: Numerical features are normalized or standardized, aligning with best practices from [Google’s ML Crash Course](https://developers.google.com/machine-learning/crash-course).\n\n---\n\n## Usage\n\n### Personalized Stroke Risk Assessment\n\n1. **Navigate to \"Personalized Recommendations\"**  \n   From the sidebar, select **Personalized Recommendations**.\n\n2. **Provide Personal Health Metrics**  \n   Enter details such as age, gender, BMI, glucose levels, hypertension status, etc.\n\n3. **Receive Risk Probability \u0026 Recommendations**  \n   The system displays a **stroke risk** (0.0 to 1.0) and personalized tips (e.g., diet, exercise, medical follow-up).\n\n### Interactive Data Analysis\n\n1. **Go to \"Data Analysis\"**  \n   Choose **Data Analysis** from the sidebar.\n\n2. **Explore and Visualize**  \n   - Filter or query the dataset to inspect correlations and distributions.  \n   - View generated charts, tables, or heatmaps.\n\n3. **Model Training \u0026 Evaluation**  \n   Train or re-train the underlying machine learning models (Logistic Regression, Random Forest, SVM) within the app. Evaluate performance via metrics like Accuracy, Precision, Recall, etc.\n\n### Chatbot Assistance\n\n1. **Select \"Chatbot\"**  \n   Click on **Chatbot** in the sidebar to open the conversational assistant interface.\n\n2. **Interact with the Rasa-Powered Chatbot**  \n   - Ask questions about stroke risk or how to interpret certain metrics.  \n   - Get immediate recommendations and clarifications on data analysis results.\n\n---\n\n## Project Structure\n\nBelow is a simplified overview of the repository layout:\n\n```bash\nProject-Arepo/\n├── actions/\n│   ├── actions.py              # Custom Rasa actions\n│   ├── Dockerfile\n│   └── requirements-actions.txt\n├── data/\n│   ├── data_analysis.py\n│   ├── data_augmentation.py\n│   ├── data_loader.py\n│   ├── data_preprocessor.py\n│   ├── raw/\n│   │   └── healthcare-dataset-stroke-data.csv\n│   └── processed/\n├── src/\n│   ├── app.py                  # Streamlit main entry point\n│   ├── chatbot/\n│   │   └── rasa_chatbot.py\n│   └── web/\n│       ├── home.py\n│       ├── recommendations.py\n│       ├── chatbot_page.py\n│       └── data_analysis_page.py\n├── models/\n├── docs/\n│   ├── img/\n│   │   └── ASP_Banner.png\n│   └── ...\n├── docker-compose.yml\n├── Dockerfile\n├── requirements.txt\n├── LICENSE\n└── README.md\n```\n\n---\n\n\u003e [!WARNING]\n\u003e **Project Apero is not a substitute for professional medical advice, diagnosis, or treatment.**  \n\u003e The stroke risk assessments and recommendations are for **educational and research** purposes only. Always seek the advice of qualified healthcare professionals for any medical concerns.  \n\u003e Use of this application is entirely at your own risk, and the developers assume **no liability** for any actions taken based on its output.\n\n---\n\n## Repository Visualization\n\nBelow is an automatically generated repository structure diagram. The diagram is updated whenever changes are pushed to the main branch:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/img/repo_diagram.svg\" alt=\"Repository Visualization\" width=\"800\"/\u003e\n\u003c/p\u003e\n\n---\n\n## License\n\nThis project is licensed under the **GNU General Public License v3**.  \nSee the [LICENSE](LICENSE) file for details.\n\n---\n\n## Contact\n\nFor inquiries, feedback, or suggestions:\n- **GitHub Issues**: [Project Apero Repository](https://github.com/HlexNC/Project-Arepo/issues)\n- **Email**: Please refer to the repository maintainers’ profiles.\n\nWe welcome contributions! Feel free to open a pull request or start a discussion in our GitHub repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhlexnc%2Fproject-arepo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhlexnc%2Fproject-arepo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhlexnc%2Fproject-arepo/lists"}