{"id":28577043,"url":"https://github.com/ridenefiras/speedsense_front","last_synced_at":"2026-04-24T21:31:47.858Z","repository":{"id":292586485,"uuid":"981336206","full_name":"RideneFiras/SpeedSense_Front","owner":"RideneFiras","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-18T21:22:07.000Z","size":15229,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-11T00:08:56.159Z","etag":null,"topics":["ai","fastapi","machine-learning","ml","mlops","python"],"latest_commit_sha":null,"homepage":"https://speedsense.me","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RideneFiras.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-05-10T21:49:14.000Z","updated_at":"2025-06-07T18:25:37.000Z","dependencies_parsed_at":"2025-05-10T23:28:11.484Z","dependency_job_id":null,"html_url":"https://github.com/RideneFiras/SpeedSense_Front","commit_stats":null,"previous_names":["ridenefiras/speedsense_front"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RideneFiras/SpeedSense_Front","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RideneFiras%2FSpeedSense_Front","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RideneFiras%2FSpeedSense_Front/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RideneFiras%2FSpeedSense_Front/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RideneFiras%2FSpeedSense_Front/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RideneFiras","download_url":"https://codeload.github.com/RideneFiras/SpeedSense_Front/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RideneFiras%2FSpeedSense_Front/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32241591,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"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":["ai","fastapi","machine-learning","ml","mlops","python"],"created_at":"2025-06-11T00:08:56.214Z","updated_at":"2026-04-24T21:31:47.844Z","avatar_url":"https://github.com/RideneFiras.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# SpeedSense 🌐\n\nSpeedSense is the lightweight, public-facing frontend for our AI-powered 5G throughput prediction system — designed for telecom operators and researchers.  \nThis interface connects to our full backend stack to deliver real-time predictions, explainable insights, and PDF exports.  \n🌍 **Live site:** [speedsense.me](https://speedsense.me)  \n🤖 **Full ML/MLOps Project:** [QosMLOPS GitHub Repo](https://github.com/RideneFiras/QosMLOPS)\n\n---\n\nThis work was developed as part of the **Integrated Project** at [Esprit School of Engineering](https://esprit.tn/), under the guidance of professors **Rahma Bouraoui**, **Safa Cherif**, and **Zaineb Labidi**.\n\n\n---\n## 🖼️ Preview\n\n![Demo Screenshot](assets/screen1.png)  \nMore in the [`assets/`](assets/) folder.\n\n---\n\n## ✨ What You Can Do with SpeedSense\n\n- 📥 Upload network performance data in CSV format  \n- 📈 Get **real-time 5G throughput predictions** powered by XGBoost  \n- 🧠 Understand model behavior with **SHAP explainability**  \n- 💬 Generate **GPT-4o-powered QoS summaries** for every prediction  \n- 📄 **Export results as PDF**  \n- 🖐️ Or use our **manual input form** (for users without a CSV file)\n\n---\n\n## 🤖 Chatbot (LLM FAQ Assistant)\n\nSpeedSense includes a smart FAQ chatbot trained on 30+ domain-specific questions.  \nBuilt using Gemini + vector search (RAG)\n\nThis chatbot is embedded in the **About Us** page.\n\n---\n\n## 🧠 AI Insight System\n\nEach prediction includes:\n- SHAP values showing feature impact\n- GPT-4o-generated insights:\n  - QoS Rating\n  - Key influencing features\n  - Optimization tips\n- Displayed directly in-browser\n- Exportable as PDF\n\n---\n\n## 📁 Folder Structure\n\n```\n.\n├── app.py                    # Main FastAPI app\n├── Dockerfile                # Docker container setup\n├── Makefile                  # CLI commands (build, run, etc.)\n├── README.md                 # Project overview\n├── requirements.txt          # Python dependencies\n├── .env                      # Local environment variables\n├── .gitignore\n│\n├── assets/                   # Images and demo screenshots\n│   └── ... (e.g. screen1.png, gif.gif)\n│\n├── Models/                   # Trained ML model files (e.g. best_xgb_model.pkl)\n│\n├── services/                 # All backend logic\n│   ├── __init__.py\n│   ├── chatgpt_service.py        # GPT-powered explanation generator\n│   ├── embedding_utils.py        # Gemini embeddings wrapper\n│   ├── faq_data.py               # FAQ base content (optional after caching)\n│   ├── faq_index.pkl             # Precomputed FAQ vector index\n│   ├── faq_search.py             # RAG search logic (cosine similarity)\n│   ├── generate_faq_index.py     # Script to create faq_index.pkl\n│   └── preprocessing.py          # Data transformation for prediction\n│\n├── frontend/                # Public site UI\n│   ├── aboutus.html              # Main About Us page\n│   ├── csv.html                  # CSV upload input page\n│   ├── explain.html              # SHAP explanation page\n│   ├── index.html                # Homepage\n│   ├── predict.html              # Manual input form\n│   │\n│   ├── components/               # Reusable page components\n│   │   └── chatbot.html              # LLM FAQ assistant (auto-included in About Us)\n│   │\n│   ├── css/                      # Stylesheets (global + chatbot-specific)\n│   ├── js/                       # JavaScript logic (if decoupled from HTML)\n│   ├── images/                   # Icons, logos, illustrations\n│   └── webfonts/                 # Font files\n```\n\n---\n\n## ⚙️ Local Setup\n\n```bash\ngit clone https://github.com/RideneFiras/SpeedSense_Front.git\ncd SpeedSense_Front\npython -m venv venv\nsource venv/bin/activate\npip install -r requirements.txt\nuvicorn app:app --reload\n```\n\nThen open [http://127.0.0.1:8000](http://127.0.0.1:8000)\n\n---\n\n## 📬 Contact\n\nFor feedback or support: **contact@speedsense.me**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fridenefiras%2Fspeedsense_front","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fridenefiras%2Fspeedsense_front","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fridenefiras%2Fspeedsense_front/lists"}