{"id":45964240,"url":"https://github.com/neurodivergent-dev/akilhane","last_synced_at":"2026-02-28T14:02:10.600Z","repository":{"id":308304089,"uuid":"1023864112","full_name":"neurodivergent-dev/akilhane","owner":"neurodivergent-dev","description":"🧠 AkılHane - AI-powered Turkish educational platform with intelligent tutoring, performance analytics, and personalized learning paths. Built with Next.js 15, TypeScript, and multi-AI integration.","archived":false,"fork":false,"pushed_at":"2025-12-18T01:42:41.000Z","size":11020,"stargazers_count":4,"open_issues_count":17,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-17T21:54:45.361Z","etag":null,"topics":["ai","analytics","dark-mode","education","flashcards","gemini","glassmorphism","google","nextjs","personalized-learning","progressive-web-app","pwa","responsive-design","spaced-repetition","supabase","typescript"],"latest_commit_sha":null,"homepage":"https://akilhane.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neurodivergent-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yaml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["melihcanndemir"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2025-07-21T20:17:19.000Z","updated_at":"2025-11-26T19:01:58.000Z","dependencies_parsed_at":"2025-08-20T18:19:40.744Z","dependency_job_id":"f9ea80dd-be53-4155-883f-7f18d8796456","html_url":"https://github.com/neurodivergent-dev/akilhane","commit_stats":null,"previous_names":["melihcanndemir/akilhane","melihdemirdev/akilhane","neurodivergent-dev/akilhane"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/neurodivergent-dev/akilhane","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurodivergent-dev%2Fakilhane","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurodivergent-dev%2Fakilhane/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurodivergent-dev%2Fakilhane/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurodivergent-dev%2Fakilhane/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neurodivergent-dev","download_url":"https://codeload.github.com/neurodivergent-dev/akilhane/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neurodivergent-dev%2Fakilhane/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29936364,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T13:49:17.081Z","status":"ssl_error","status_checked_at":"2026-02-28T13:48:50.396Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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","analytics","dark-mode","education","flashcards","gemini","glassmorphism","google","nextjs","personalized-learning","progressive-web-app","pwa","responsive-design","spaced-repetition","supabase","typescript"],"created_at":"2026-02-28T14:01:20.453Z","updated_at":"2026-02-28T14:02:10.589Z","avatar_url":"https://github.com/neurodivergent-dev.png","language":"TypeScript","funding_links":["https://github.com/sponsors/melihcanndemir"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"public/favicon.svg\" alt=\"AkılHane Logo\" width=\"150\"\u003e\n  \u003ch1\u003eAkılHane - AI Destekli Eğitim Platformu\u003c/h1\u003e\n  \u003cp\u003e\n    \u003cstrong\u003eÖğrenme deneyiminizi kişiselleştiren, yapay zeka destekli yeni nesil eğitim platformu... Ama bu sadece başlangıç. Gerçek soru: Eğitim nedir? Bilinç nedir? Öğrenmek nedir?\u003c/strong\u003e\n  \u003c/p\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://akilhane.vercel.app/\"\u003e\u003cstrong\u003eCanlı Demoyu Ziyaret Et »\u003c/strong\u003e\u003c/a\u003e\n  \u003c/p\u003e\n  \n  \u003c!-- Project Status Badges --\u003e\n  \u003cp\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-MIT-blue.svg\" alt=\"License\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/version-1.2.0-blue.svg\" alt=\"Version\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/status-production-green.svg\" alt=\"Status\"\u003e\n    \u003cimg src=\"https://deploy-badge.vercel.app/vercel/akilhane?root=landing\" alt=\"Vercel Deploy Status\"\u003e\n    \u003cimg src=\"https://circleci.com/gh/melihcanndemir/akilhane.svg?style=svg\" alt=\"CircleCI\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/languages/top/melihcanndemir/akilhane\" alt=\"Top Language\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/languages/code-size/melihcanndemir/akilhane\" alt=\"Code Size\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/repo-size/melihcanndemir/akilhane\" alt=\"Repo Size\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/AI-Powered-orange.svg\" alt=\"AI Powered\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Voice-Assistant-blue.svg\" alt=\"Voice Assistant\"\u003e\n  \u003c/p\u003e\n  \u003cbr\u003e\n\u003c/div\u003e\n\n\u003c!-- Landing Page Demo GIF --\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/demo/landing-demo.gif\" alt=\"AkılHane Landing Page Demo\" width=\"800\"\u003e\n  \u003cp\u003e\u003cem\u003e🎬 Canlı demo görüntüsü - AkılHane ana sayfası etkileşimleri\u003c/em\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n## ✨ Neden AkılHane?\n\nAkılHane, standart eğitim platformlarının ötesine geçerek her öğrencinin bireysel ihtiyaçlarına odaklanır. Sadece soru çözmekle kalmaz, **zayıf yönlerinizi tespit eder, size özel çalışma stratejileri sunar ve öğrenme sürecinizi akıllı bir asistanla destekler.** Amacımız, eğitimi daha verimli, erişilebilir ve kişisel hale getirmektir.\n\nBu proje, **BTK Akademi \u0026 Google \u0026 Girişimcilik Vakfı Hackathon'25** için geliştirilmiştir.\n\n## 🚀 Ana Özellikler\n\n### **🤖 Gelişmiş AI Destekli Öğrenme Sistemi:**\n-   **AI Destekli Soru Üretimi:** Google Gemini AI ile otomatik olarak yüksek kaliteli sorular oluşturan, konu ve zorluk seviyesine göre özelleştirilebilen akıllı sistem.\n-   **AI Destekli Ders ve Konu Üretimi:** Kategori, zorluk seviyesi ve özel yönergeler ile otomatik olarak dersler ve konular oluşturan, kalite kontrolü yapan ve öğrenme hedefleri belirleyen AI sistemi.\n-   **AI Topic Explainer:** Markdown formatında konu anlatımları üreten, adım adım öğrenme süreci sağlayan AI sistemi.\n-   **AI Görsel Üretimi:** Pollinations.ai ile konuya özel, alakalı görseller üreten AI sistemi.\n-   **AI Tutor ile Anında Yardım:** Anlamadığınız sorularda size ipuçları veren, adım adım çözüm sunan ve konuyu özetleyen yapay zeka öğretmeni.\n-   **Etkileşimli AI Sohbet:** Ders konuları hakkında yapay zeka ile sohbet etme ve derinlemesine bilgi alma imkanı.\n-   **Sesli AI Asistan:** Türkçe konuşma tanıma ve sentez ile sesli etkileşim.\n-   **Akıllı Resim Üretimi:** AI sohbetinde otomatik görsel üretimi ve localStorage'da saklama.\n\n### **🎤 Sesli Asistan Özellikleri:**\n-   **Türkçe Konuşma Tanıma:** Web Speech API ile gerçek zamanlı ses tanıma\n-   **Sesli Komutlar:** \"Soru oku\", \"Şıkları oku\", \"Açıklama oku\", \"İpucu oku\" komutları\n-   **Text-to-Speech:** AI yanıtlarını Türkçe sesli okuma\n-   **Sesli Navigasyon:** Uygulamayı tamamen sesle kontrol etme\n-   **Gerçek Zamanlı Transcript:** Konuşma sırasında anlık metin dönüşümü\n\n### **📚 Gelişmiş Öğrenme Araçları:**\n-   **Kişiselleştirilmiş Öğrenme Asistanı:** Performansınıza göre size özel testler ve konular öneren akıllı sistem.\n-   **Akıllı Flashcard'lar:** Spaced Repetition (Aralıklı Tekrar) algoritması ile çalışan, öğrenmenizi optimize eden dijital kartlar.\n-   **Detaylı Performans Analizi:** Gelişiminizi takip edebileceğiniz görsel grafikler ve istatistikler.\n-   **Markdown Destekli İçerik:** Zengin formatlanmış, kod blokları ve görsel elementler içeren eğitim materyalleri.\n-   **Gelişmiş Chat History:** Resim önizlemeleri ile zenginleştirilmiş konuşma geçmişi.\n\n### **🎨 Modern Kullanıcı Deneyimi:**\n-   **PWA (Progressive Web App):** Çevrimdışı çalışma ve mobil cihazınıza uygulama gibi kurma desteği.\n-   **Sesli Asistan Desteği:** \"Soru oku\", \"cevabı göster\" gibi komutlarla uygulamayı sesle kontrol etme.\n-   **Responsive Design:** Tüm cihazlarda mükemmel görünüm ve kullanım deneyimi.\n-   **Dark/Light Mode:** Kullanıcı tercihine göre tema değiştirme.\n-   **Gelişmiş Hata Yönetimi:** Spesifik hata mesajları ve kullanıcı dostu bildirimler.\n\n### **⚙️ Yönetim ve Güvenlik:**\n-   **Kapsamlı Yönetim Panelleri:** Hem dersleri hem de soruları kolayca yönetebileceğiniz arayüzler.\n-   **Gelişmiş Profil Yönetimi:** Avatar yükleme/silme, şifre değiştirme ve veri yönetimi özellikleri.\n-   **Cloudinary Avatar Sistemi:** Güvenli avatar yükleme ve yönetimi.\n-   **Güvenli Şifre Değiştirme:** Ayrı sayfa üzerinden güvenli şifre güncelleme.\n-   **Veri Yönetimi:** Cloud backup, restore, clear ve hesap silme işlemleri.\n-   **Hybrid Storage:** localStorage + Supabase ile çevrimdışı çalışma desteği.\n\n## 📋 Kalite Güvencesi (Quality Assurance)\n\nBu proje, **enterprise seviyesinde** kalite güvencesi standartlarına uygun olarak geliştirilmiştir. Kapsamlı test planımız ve kalite kontrol süreçlerimiz hakkında detaylı bilgi için:\n\n### **🔍 Manuel Test Listesi**\n- **[📋 QUALITY_ASSURANCE.md](docs/QUALITY_ASSURANCE.md)** - 2000+ satır, 120+ test kategorisi içeren kapsamlı manuel test listesi\n- **Test Kapsamı:** UI/UX, Performance, Security, Accessibility, Cross-browser, Cross-device\n- **Test Kategorileri:** AI Özellikleri, Veri Yönetimi, PWA, Authentication, Analytics\n- **Test Senaryoları:** 600+ spesifik test maddesi ile enterprise seviyesi kalite kontrol\n\n### **🎯 Test Özellikleri**\n- **Responsive Design Testleri** - Tüm cihazlarda uyumluluk\n- **AI Integration Testleri** - Google Gemini, Pollinations.ai entegrasyonları\n- **Security Testleri** - Authentication, Authorization, Data encryption\n- **Performance Testleri** - Loading speed, Memory usage, Network optimization\n- **Accessibility Testleri** - Screen reader, Keyboard navigation, High contrast\n- **Cross-browser Testleri** - Chrome, Firefox, Safari, Edge uyumluluğu\n\n### **📊 Test Metrikleri**\n- **Toplam Test Sayısı:** 600+ spesifik test maddesi\n- **Test Kategorileri:** 15+ ana test alanı\n- **Kalite Skoru:** 9.2/10 (Enterprise seviyesi)\n- **Test Kapsamı:** %95+ feature coverage\n\n## 🎨 UI/UX Özellikleri\n\n-   **Gradient Design Language:** Tüm componentlerde tutarlı mavi-mor gradient tasarım dili.\n-   **Glassmorphism Effects:** Kartlarda modern cam efekti.\n-   **Responsive Design:** Tüm cihazlarda mükemmel görünüm.\n-   **Dark/Light Mode:** Kullanıcı tercihine göre tema değiştirme.\n-   **Enhanced Navigation:** Avatar display ve gelişmiş menü sistemi.\n-   **Interactive Elements:** Hover efektleri ve animasyonlar.\n\n## 🛠️ Kullanılan Teknolojiler\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://circleci.com/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/CircleCI-343434?style=for-the-badge\u0026logo=circleci\u0026logoColor=white\" alt=\"CircleCI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://nextjs.org/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Next.js-000000?style=for-the-badge\u0026logo=next.js\u0026logoColor=white\" alt=\"NextJS\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://react.dev/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB\" alt=\"React\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.typescriptlang.org/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\" alt=\"TypeScript\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://tailwindcss.com/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white\" alt=\"TailwindCSS\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://cloud.google.com/vertex-ai/docs/generative-ai/gemini/gemini-api\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Google_Gemini-8A2BE2?style=for-the-badge\u0026logo=google-gemini\u0026logoColor=white\" alt=\"Google Gemini\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://firebase.google.com/docs/genkit\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Genkit-FFCA28?style=for-the-badge\u0026logo=firebase\u0026logoColor=black\" alt=\"Genkit\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://pollinations.ai/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Pollinations.ai-8A2BE2?style=for-the-badge\u0026logo=ai\u0026logoColor=white\" alt=\"Pollinations.ai\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://orm.drizzle.team/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Drizzle_ORM-C5F74F?style=for-the-badge\" alt=\"Drizzle ORM\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://supabase.com/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Supabase-3ECF8E?style=for-the-badge\u0026logo=supabase\u0026logoColor=white\" alt=\"Supabase\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.postgresql.org/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white\" alt=\"PostgreSQL\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.radix-ui.com/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Radix_UI-111827?style=for-the-badge\u0026logo=radix-ui\u0026logoColor=white\" alt=\"Radix UI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.framer.com/motion/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Framer_Motion-EF008F?style=for-the-badge\u0026logo=framer\u0026logoColor=white\" alt=\"Framer Motion\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://web.dev/progressive-web-apps/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/PWA-4285F4?style=for-the-badge\u0026logo=pwa\u0026logoColor=white\" alt=\"PWA\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://cloudinary.com/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Cloudinary-3448C6?style=for-the-badge\u0026logo=cloudinary\u0026logoColor=white\" alt=\"Cloudinary\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://formspree.io/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Formspree-FF6C6C?style=for-the-badge\u0026logo=formspree\u0026logoColor=white\" alt=\"Formspree\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://nodejs.org/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Node.js-339933?style=for-the-badge\u0026logo=nodedotjs\u0026logoColor=white\" alt=\"Node.js\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/npm-CB3837?style=for-the-badge\u0026logo=npm\u0026logoColor=white\" alt=\"npm\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://eslint.org/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/ESLint-4B32C3?style=for-the-badge\u0026logo=eslint\u0026logoColor=white\" alt=\"ESLint\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://prettier.io/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Prettier-F7B93E?style=for-the-badge\u0026logo=prettier\u0026logoColor=black\" alt=\"Prettier\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://vercel.com/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Vercel-000000?style=for-the-badge\u0026logo=vercel\u0026logoColor=white\" alt=\"Vercel\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://huggingface.co/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Hugging%20Face-FF6C6C?style=for-the-badge\u0026logo=huggingface\u0026logoColor=white\" alt=\"Hugging Face\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://jestjs.io/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Jest-C21325?style=for-the-badge\u0026logo=jest\u0026logoColor=white\" alt=\"Jest\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://developers.google.com/web/tools/lighthouse\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Lighthouse-F44B21?style=for-the-badge\u0026logo=lighthouse\u0026logoColor=white\" alt=\"Lighthouse\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://web.dev/vitals/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Web%20Vitals-4285F4?style=for-the-badge\u0026logo=google\u0026logoColor=white\" alt=\"Web Vitals\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n## 🔒 Security \u0026 Performance Features\n\n- **🔐 Row Level Security (RLS):** Supabase RLS policies ensure data isolation and secure access control\n- **📱 Mobile Responsive:** Fully responsive design optimized for all device sizes\n- **⚡ Progressive Web App (PWA):** Offline functionality and native app-like experience\n- **🛡️ TypeScript Strict Mode:** Complete type safety throughout the application\n- **🎯 SEO Optimized:** Server-side rendering and meta tags for better search visibility\n- **☁️ Cloudinary Integration:** Secure image upload and management\n- **🔐 Supabase Auth:** Complete authentication system with real-time updates\n- **🤖 AI-Powered Question Generation:** Generate high-quality exam questions using Google's Gemini AI with advanced JSON parsing and error handling\n- **✅ Question Review Workflow:** Review and approve AI-generated questions before adding to question bank with optional answer visibility\n\n- **📱 Mobile-Responsive AI Interface:** Fully responsive AI question generation and review interface\n- **💾 Hybrid Data Storage:** LocalStorage for offline functionality, Supabase for authenticated users\n\n## 🏗️ Teknik Derinlik ve Mimari\n\nBu proje, **enterprise-level** bir mimari üzerine kurulmuş olup modern web development best practice'lerini takip eder.\n\n### **🎯 Katmanlı Mimari Yapısı:**\n\n```\n┌─────────────────────────────────────────────────────────┐\n│                    Presentation Layer                   │\n│  (React Components + Next.js Pages + Tailwind CSS)     │\n├─────────────────────────────────────────────────────────┤\n│                    Business Logic Layer                 │\n│     (Services + API Routes + Server Actions)           │\n├─────────────────────────────────────────────────────────┤\n│                      AI Layer                          │\n│        (Genkit Flows + Google Gemini)                  │\n├─────────────────────────────────────────────────────────┤\n│                   Data Access Layer                     │\n│      (Drizzle ORM + Repository Pattern)                │\n├─────────────────────────────────────────────────────────┤\n│                    Database Layer                       │\n│         (PostgreSQL via Supabase)                      │\n└─────────────────────────────────────────────────────────┘\n```\n\n### **🔧 Ana Teknoloji Yığını:**\n-   **Frontend:** Next.js 15.3.3 (React 18.3.1) + TypeScript\n-   **Styling:** Tailwind CSS + Radix UI + Framer Motion  \n-   **Backend:** Next.js API Routes + Server Actions\n-   **Veritabanı:** PostgreSQL (Supabase) + Drizzle ORM\n-   **AI Entegrasyonu:** Google Genkit + Gemini AI\n-   **Auth:** Supabase Auth + Row Level Security (RLS)\n-   **Storage:** Cloudinary (avatar yönetimi) + Supabase Storage\n-   **PWA:** next-pwa + Service Workers\n\n### **🚀 AI-Powered Features:**\n-   **Intelligent Question Generation:** Google Gemini ile otomatik soru üretimi\n-   **AI Topic Explainer:** Markdown formatında konu anlatımları üreten AI sistemi\n-   **AI Görsel Üretimi:** Pollinations.ai ile konuya özel görseller üreten AI sistemi\n-   **AI Chat with Image Generation:** Gerçek zamanlı AI sohbeti ve otomatik görsel üretimi\n-   **Voice Assistant Integration:** Türkçe sesli asistan ve komut sistemi\n-   **Quality Validation System:** AI ile kalite skorlama ve doğrulama\n-   **Personalized Learning:** Performans bazlı zorluk seviyesi ayarlama\n-   **Interactive AI Tutor:** Gerçek zamanlı öğrenme desteği\n-   **Spaced Repetition Algorithm:** Bilimsel tekrar optimizasyonu\n-   **Enhanced Error Handling:** Spesifik hata mesajları ve kullanıcı dostu bildirimler\n\n## 📚 Detaylı Teknik Dokümantasyon\n\n### **🤖 AI \u0026 Deployment Rehberleri:**\n- 📖 **[AI Question Generation Guide](docs/AI_QUESTION_GENERATION.md)** - AI destekli soru üretimi detayları\n- 🚀 **[AI Deployment Guide](docs/AI_DEPLOYMENT_GUIDE.md)** - Google Gemini entegrasyonu ve production setup\n- 🔧 **[Environment Setup](docs/ENVIRONMENT_SETUP.md)** - Çevre değişkenleri konfigürasyonu\n\n### **☁️ Infrastructure \u0026 Storage:**\n- 🗄️ **[Supabase Storage Setup](docs/STORAGE-SETUP-GUIDE.md)** - Cloud storage ve dosya yönetimi\n- ⚡ **[Edge Functions Setup](docs/EDGE_FUNCTIONS_SETUP.md)** - Serverless fonksiyon deployment\n\n### **🏗️ Architecture \u0026 Analysis:**\n- 🎯 **[Project Blueprint](docs/BLUEPRINT.md)** - Proje temel yapısı ve tasarım kılavuzu\n- 📊 **[Technical Analysis](docs/TECHNICAL-ANALYSIS.md)** - Kapsamlı kod kalitesi ve mimari analizi\n\n\u003e **💡 Pro Tip:** Bu dokümantasyonlar, projenin **enterprise-ready** seviyede olduğunu ve **production deployment** için hazır olduğunu gösterir.\n\n## 🚀 Hızlı Başlangıç - AI Servisi\n\n### **AI Destekli Soru Üretimi için Hızlı Kurulum:**\n\n1. **Google AI API Anahtarı Alın:**\n   - [Google AI Studio](https://aistudio.google.com/) adresine gidin\n   - API anahtarı oluşturun\n\n2. **Environment Variable Ekleyin:**\n   ```bash\n   # .env.local dosyasına ekleyin\n   GEMINI_API_KEY=your_api_key_here\n   ```\n\n3. **Projeyi Çalıştırın:**\n   ```bash\n   npm install\n   npm run dev\n   ```\n\n4. **AI Soru Üretimini Test Edin:**\n   - Soru Yöneticisi → \"AI ile Soru Oluştur\"\n   - Ders ve konu seçin\n   - AI'ya özel yönergeler verin\n   - Soruları oluşturun ve onaylayın\n\n\u003e **📖 Detaylı Kurulum:** Kapsamlı AI setup ve deployment bilgileri için **[AI Deployment Guide](docs/AI_DEPLOYMENT_GUIDE.md)** ve **[AI Setup](docs/AI_SETUP.md)** dosyalarını inceleyin.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e🗺️ Proje Genel Mimarisi (Mermaid Şeması)\u003c/b\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\nAşağıda, platformun ana modülleri ve veri akışlarını gösteren yüksek seviyeli bir mimari şema yer almaktadır:\n\n```mermaid\nflowchart TD\n  subgraph UI\n    Dashboard\n    Quiz\n    Flashcard\n    SubjectManager\n    QuestionManager\n    AIChat\n    VoiceAssistant\n    AnalyticsDashboard\n    ProfileSettings\n    ChangePassword\n    DataManagement\n  end\n\n  subgraph API\n    APIRoute\n    PerformanceService\n    QuizService\n    SubjectService\n    AIService\n    AvatarService\n  end\n\n  subgraph AI\n    Genkit\n    GoogleGemini\n    CustomFlows\n  end\n\n  subgraph DB\n    UsersTable\n    SubjectsTable\n    QuestionsTable\n    QuizResultsTable\n    PerformanceAnalyticsTable\n    AIRecommendationsTable\n    FlashcardProgressTable\n  end\n\n  subgraph Cloud\n    Cloudinary\n    SupabaseAuth\n  end\n\n  UI --\u003e APIRoute\n  APIRoute --\u003e PerformanceService\n  APIRoute --\u003e QuizService\n  APIRoute --\u003e SubjectService\n  APIRoute --\u003e AIService\n  APIRoute --\u003e AvatarService\n\n  PerformanceService --\u003e QuizResultsTable\n  PerformanceService --\u003e PerformanceAnalyticsTable\n  QuizService --\u003e QuestionsTable\n  QuizService --\u003e QuizResultsTable\n  SubjectService --\u003e SubjectsTable\n  AIService --\u003e Genkit\n  Genkit --\u003e GoogleGemini\n  Genkit --\u003e CustomFlows\n\n  AIService --\u003e AIRecommendationsTable\n  Flashcard --\u003e FlashcardProgressTable\n\n  AvatarService --\u003e Cloudinary\n  ProfileSettings --\u003e SupabaseAuth\n  ChangePassword --\u003e SupabaseAuth\n  DataManagement --\u003e SupabaseAuth\n\n  UsersTable \u003c---\u003e QuizResultsTable\n  UsersTable \u003c---\u003e PerformanceAnalyticsTable\n  UsersTable \u003c---\u003e AIRecommendationsTable\n  UsersTable \u003c---\u003e FlashcardProgressTable\n  SubjectsTable \u003c---\u003e QuestionsTable\n\n  Quiz --\u003e VoiceAssistant\n  Quiz --\u003e AIChat\n  Flashcard --\u003e VoiceAssistant\n  Dashboard --\u003e AnalyticsDashboard\n```\n\n\u003e **Not:** Bu şema, platformun temel veri ve iş akışlarını yüksek seviyede özetler. Detaylı alt modül ilişkileri için kodu inceleyebilirsiniz.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e📦 Kurulum ve Çalıştırma Adımları\u003c/b\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\n1.  **Projeyi klonlayın:**\n    ```bash\n    git clone https://github.com/melihcanndemir/akilhane.git\n    cd akilhane\n    ```\n2.  **Bağımlılıkları yükleyin:**\n```bash\nnpm install\n```\n3.  **`.env.local` dosyasını oluşturun:** `.env.example` dosyasını kopyalayarak kendi API anahtarlarınızı ekleyin.\n    ```\n    # AI Configuration (Required for AI question generation)\n    GEMINI_API_KEY=your_google_ai_api_key_here\n    \n    # Supabase Configuration\n    NEXT_PUBLIC_SUPABASE_URL=your_supabase_url\n    NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key\n    DATABASE_URL=your_database_url\n    \n    # Cloudinary Configuration (Optional)\n    CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name\n    CLOUDINARY_API_KEY=your_cloudinary_api_key\n    CLOUDINARY_API_SECRET=your_cloudinary_api_secret\n    \n    # Demo Mode (Optional)\n    NEXT_PUBLIC_DEMO_MODE=false\n    ```\n4.  **Veritabanını hazırlayın ve başlatın:**\n```bash\nnpm run db:generate\nnpm run db:init\n```\n5.  **Geliştirme sunucusunu başlatın:**\n```bash\nnpm run dev\n```\n6.  Tarayıcınızda `http://localhost:9002` adresini açın.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e🗄️ Veritabanı Yönetimi\u003c/b\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\n-   **Migration Oluşturma:** Şemada değişiklik yaptığınızda yeni bir migration dosyası oluşturur.\n```bash\nnpm run db:generate\n```\n-   **Migration'ları Uygulama:** Oluşturulan migration'ları veritabanına uygular.\n```bash\nnpm run db:migrate\n```\n-   **Veritabanı Studio:** Veritabanını görsel bir arayüzde incelemek için.\n```bash\nnpm run db:studio\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e📊 Veritabanı Şeması\u003c/b\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\n-   **users**: Kullanıcı bilgileri\n-   **subjects**: Ders konuları ve detayları\n-   **questions**: Soru bankası, seçenekler ve açıklamalar\n-   **quiz_results**: Kullanıcıların test sonuçları\n-   **performance_analytics**: Konu bazlı performans analizleri\n-   **ai_recommendations**: Kişiselleştirilmiş AI ders/konu önerileri\n-   **flashcard_progress**: Flashcard'ların öğrenilme durumu\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e📁 Yeni Sayfalar ve Özellikler\u003c/b\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\n### **🤖 AI Destekli Özellikler**\n- **`/question-manager`** - AI destekli soru üretimi ve yönetimi\n- **`/topic-explainer`** - AI destekli konu anlatımı ve görsel üretimi\n- **`/ai-chat`** - AI Tutor ile etkileşimli sohbet (sesli asistan + resim üretimi)\n- **`/flashcard`** - AI destekli akıllı flashcard sistemi\n- **Sesli Asistan** - Türkçe konuşma tanıma ve komut sistemi\n- **Resim Üretimi** - AI sohbetinde otomatik görsel üretimi\n\n### **👤 Profil Yönetimi**\n- **`/profile`** - Gelişmiş profil ayarları, avatar yönetimi\n- **`/change-password`** - Güvenli şifre değiştirme sayfası\n- **`/data-management`** - Veri yönetimi (backup, restore, clear, delete)\n\n### **☁️ API Routes**\n- **`/api/upload-avatar`** - Cloudinary avatar yükleme\n- **`/api/delete-avatar`** - Cloudinary avatar silme\n\n### **🎨 UI/UX İyileştirmeleri**\n- **Gradient Design Language** - Tüm componentlerde tutarlı mavi-mor gradient\n- **Glassmorphism Effects** - Modern cam efekti kartlarda\n- **Enhanced Navigation** - Avatar display ve gelişmiş menü\n- **Responsive Design** - Tüm cihazlarda mükemmel görünüm\n- **Markdown Destekli İçerik** - Zengin formatlanmış eğitim materyalleri\n- **AI Görsel Entegrasyonu** - Konuya özel görsel üretimi\n- **Sesli Asistan Arayüzü** - Türkçe sesli komutlar ve gerçek zamanlı transcript\n- **Gelişmiş Chat History** - Resim önizlemeleri ile zenginleştirilmiş konuşma geçmişi\n- **Akıllı Hata Yönetimi** - Kullanıcı dostu hata mesajları ve spesifik bildirimler\n\n\u003c/details\u003e\n\n## 🤝 Katkıda Bulunma\n\nBu proje eğitime ve teknolojiye meraklı herkesin katkısına açıktır.\n\n1.  Bu repoyu **fork**'layın.\n2.  Yeni bir **feature branch** oluşturun (`git checkout -b feature/AmazingFeature`).\n3.  Değişikliklerinizi **commit**'leyin (`git commit -m 'Add some AmazingFeature'`).\n4.  Branch'inizi **push**'layın (`git push origin feature/AmazingFeature`).\n5.  Bir **Pull Request** açın.\n\n---\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003e\u003cstrong\u003eAkılHane\u003c/strong\u003e - Bilginin ve Zekanın Buluştuğu Yer.\u003c/p\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneurodivergent-dev%2Fakilhane","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneurodivergent-dev%2Fakilhane","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneurodivergent-dev%2Fakilhane/lists"}