{
  "markdown": "# Flexi Feet Sdn Bhd - Premium Website & CRM\n\nA self-contained, high-performance website and CRM built for Flexi Feet Sdn Bhd. Designed with Apple-standard aesthetics and optimized for Hostinger shared hosting.\n\n## Features\n\n- **Apple Standard UI**: High-end minimalist design, glassmorphism, and smooth scroll animations.\n- **Dynamic Content**: Admin-managed Instagram Reels (\"Flexi Stories\") scrolling section.\n- **Self-Contained CRM**: A built-in admin dashboard to manage appointments stored in a local JSON database.\n- **Blog CMS**: Admin-managed posts with draft/published states and public blog pages.\n- **Media Library**: WordPress-style image uploads for blog featured images, inline blog media, and website content.\n- **Instagram Reels Manager**: Admin-managed Reel URLs with automatic Instagram/YouTube thumbnails and drag-and-drop ordering.\n- **SMTP Notifications**: Booking requests can email the site owner and send the customer a confirmation via Hostinger SMTP.\n- **Local Support Model**: `FlexiFeetSupport` trains PHP semantic/n-gram weights from project files, blog JSON, built-in multilingual/Wikidata patterns, and small remote Hugging Face Dataset Viewer API samples.\n- **3D Scanning Section**: Highlights the advanced Italian foot scanning technology.\n- **Comprehensive Foot Care**: Detailed sections for 10 common diabetic and orthopaedic foot conditions.\n- **Hostinger Ready**: Runs on PHP/JS/CSS with zero external dependencies or build steps.\n\n## Deployment\n\n1. Upload all files in this directory to your Hostinger `public_html` folder.\n2. Ensure the `storage/` and `assets/uploads/` folders are writable by the server (usually `755` permission).\n3. Copy `includes/config.local.example.php` to `includes/config.local.php` on the server and add the real SMTP password.\n4. Access your site at `yourdomain.com`.\n\n## Admin Access\n\n- **Login URL**: `yourdomain.com/admin/login.php`\n- **Default Username**: `admin`\n- **Default Password**: `FlexiFeet@2026`\n\n*Note: For security, it is highly recommended to update the admin credentials in `includes/config.php` before going live.*\n\n## Local Testing\n\nIf you have PHP installed locally, you can run:\n```bash\nphp -S localhost:8000\n```\nThen visit `http://localhost:8000` in your browser.\n\n## Local Support Model Dataset\n\n`FlexiFeetSupport` works as a local semantic model, not a neural model with binary weights. The website files, blog content, support intent rows, multilingual rows, and entity rows become the model's searchable document weights.\n\nBy default, the model can read small remote slices from Hugging Face over HTTP using the public Dataset Viewer API. It does not download whole datasets. Disable remote dataset reads with:\n\n```text\nFLEXIFEET_SUPPORT_HF_REMOTE_ENABLED=0\n```\n\nCurrent remote dataset adapters:\n\n- `bitext/Bitext-customer-support-llm-chatbot-training-dataset` for customer-support intent patterns.\n- `AmazonScience/mintaka` for multilingual QA with Wikidata entity grounding.\n- `facebook/mlqa`, `google/xquad`, and `SEACrowd/tydiqa` for multilingual/cross-lingual QA patterns.\n- `unicamp-dl/mmarco` for multilingual retrieval patterns.\n- `philippesaade/wikidata` for multilingual Wikidata entity text.\n\nAt reply time, the support bot also performs a small query-specific Hugging Face `/search` request where supported, then stores only relevant Flexi Feet learning notes in:\n\n```text\nstorage/support-ttt-memory.json\nstorage/support-feedback.json\n```\n\nThis is a lightweight test-time-training style loop: visitor prompts, helpful/not-helpful feedback, and relevant dataset snippets influence future semantic ranking, but the app does not train or ship neural weights. Generic greetings such as \"hi\" or \"hello\" are handled as a support entry point and explain the actions the agent can take.\n\nFor private/offline enrichment, place local exports in:\n\n```text\nstorage/support-training-dataset.csv\nstorage/support-multilingual-dataset.csv\nstorage/wikidata-flexifeet.jsonl\n```\n\nThe Bitext-style CSV columns are `instruction`, `category`, `intent`, and `response`. The multilingual CSV can use `language`, `instruction`, `response`, and `intent`. The Wikidata JSONL can use `id`, `label`, `description`, and `aliases`, or multilingual `labels`/`descriptions` objects. All imports are capped for Hostinger-friendly performance.\n\n## Technical Details\n\n- **Frontend**: Vanilla JavaScript & Modern CSS (Grid, Flexbox, Backdrop-filter).\n- **Backend**: PHP 7.4+.\n- **Database**: `storage/appointments.json`, `storage/blog-posts.json`, and `storage/instagram-reels.json` (Atomic file-locked JSON storage).\n- **Icons**: Custom embedded SVG icons for zero external requests.\n- **Fonts**: 'Inter' imported via Google Fonts for premium typography.\n",
  "bytes": 4724,
  "sha": "cd1437110c53deaf0f60b11bac729452f4d357e27fabd0d898f6e897b5aa7bca",
  "repo_slug": "getwinharris/flexi-php-cms",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/okf_getwinharris_flexi_php_cms_index_md_eaf739af/readme"
}