## NO AI SLOP HERE, A BASIC SET UP GUIDE

# API
Groq API Key Al  
https://console.groq.com adresine gidin.
Ücretsiz hesap var.
API Keys bölümüne girip Create API Key seçeneğini kullanın.
Oluşturulan anahtarı kopyalayın.

# Backend
Backend içindeki .env açın veya varsa söyle yapın:

MONGODB_URI=mongodb://localhost:27017
MONGODB_DB_NAME=hipograf
FLASK_ENV=development
FLASK_DEBUG=True
GROQ_API_KEY=gsk_BURAYA_KENDI_KEYINI_YAZ

# Backend Çalıştırma
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python run.py

# Frontend Çalıştırma
cd frontend
cp .env.example .env
npm install
npm run dev

frontend .env should have:

# Backend API URL
VITE_API_URL=http://localhost:5000

Check the rest sloppy parts for how it works, which folders to use for customisation, knowledge, system prompts etc. Worth a read.




# HIPPO - Hipograf AI Sağlık Asistanı

HIPPO, Hipograf platformunun yapay zeka destekli sağlık asistanıdır. Kullanıcılara uygulamayı kullanma konusunda yardımcı olur ve "Neyim var?" özelliği ile belirtileri analiz ederek olası hastalıkları ve hangi doktora gidilmesi gerektiğini önerir.

## Dosya Yapısı

```
backend/
├── app/
│   └── functionalities/
│       └── hippo/
│           ├── __init__.py      # Modul init
│           ├── config.py        # Bilgi tabanı (sayfalar, belirtiler, hastalıklar)
│           ├── service.py       # Ana servis (chat, analiz)
│           └── routes.py        # API endpointleri

frontend/
├── src/
│   └── components/
│       └── Hippo/
│           ├── index.ts         # Export
│           ├── Hippo.tsx        # React komponenti
│           ├── Hippo.css        # Stiller
│           └── hippoConfig.ts   # Frontend bilgi tabanı
```

## API Endpointleri

### POST /api/hippo/chat
Kullanıcı mesajını gönderir ve HIPPO'nun yanıtını alır.

**Request:**
```json
{
  "message": "Başım ağrıyor",
  "history": []
}
```

**Response:**
```json
{
  "message": "Tespit edilen belirtiler: Baş ağrısı\n\nOlası durumlar:\n  - Gerilim Tipi Baş Ağrısı\n  - Migren\n\nÖnerilen doktor: Nörolog",
  "intent": "symptoms",
  "quickReplies": ["Başka belirtim var", "Hangi doktora gitmeliyim?", "Teşekkürler"],
  "analysis": {
    "symptoms": [...],
    "diseases": [...],
    "doctor": {...}
  }
}
```

### GET /api/hippo/greeting
HIPPO'nun karşılama mesajını alır.

### GET /api/hippo/health
Servis sağlık kontrolü.

## Bilgi Tabanını Genişletme

### Yeni Sayfa Ekleme

`backend/app/functionalities/hippo/config.py` dosyasında `APP_PAGES` sözlüğüne ekleyin:

```python
APP_PAGES = {
    # ... mevcut sayfalar ...
    "yeni_sayfa": {
        "path": "/yeni-sayfa",
        "name": "Yeni Sayfa Adı",
        "description": "Sayfa açıklaması",
        "features": [
            "Özellik 1",
            "Özellik 2"
        ]
    }
}
```

### Yeni Belirti Ekleme

`config.py` dosyasında `SYMPTOMS` listesine ekleyin:

```python
SYMPTOMS = [
    # ... mevcut belirtiler ...
    {"id": "yeni_belirti", "name_tr": "Yeni Belirti", "body_part": "general"},
]
```

### Yeni Hastalık Ekleme

`config.py` dosyasında `DISEASES` listesine ekleyin:

```python
DISEASES = [
    # ... mevcut hastalıklar ...
    {
        "id": "yeni_hastalik",
        "name_tr": "Yeni Hastalık",
        "symptoms": ["belirti1", "belirti2", "belirti3"],
        "doctor_type": "gp",  # Doktor tipi ID'si
        "urgency": "routine"  # routine, soon, urgent
    },
]
```

### Yeni Doktor Tipi Ekleme

```python
DOCTOR_TYPES = {
    # ... mevcut doktorlar ...
    "yeni_uzman": {
        "name": "Yeni Uzman Adı",
        "description": "Uzmanlık alanı açıklaması"
    }
}
```

## Çevre Değişkenleri

GO TO https://console.groq.com/home,

Get an API there,
 
Add it to backend .env file

Backend için `.env` dosyasında:

```
GROQ_API_KEY=gsk_...
```

Frontend için `.env` dosyasında:

```
VITE_API_URL=http://localhost:5000
```

## Çalıştırma

### Backend
```bash
cd backend
pip install -r requirements.txt
python run.py
```

### Frontend
```bash
cd frontend
npm install
npm run dev
```

## Intent Tespiti

HIPPO mesajları 4 kategoriye ayırır:

1. **symptoms**: Sağlık belirtileri ("ağrı", "ateş", "bulantı" vb.)
2. **navigation**: Uygulama navigasyonu ("sayfa", "nasıl", "dashboard" vb.)
3. **greeting**: Selamlama ("merhaba", "selam" vb.)
4. **general**: Diğer sorular

Her intent için farklı yanıt stratejisi uygulanır.

## Groq API Entegrasyonu

GO TO https://console.groq.com/home,

Get an API there,
 
Add it to backend .env file

HIPPO, Groq API üzerinden Llama 3.3 70B modelini kullanır. API anahtarı olmadan da çalışır (fallback yanıtlar).

Model ayarları `config.py` dosyasında:

```python
HIPPO_CONFIG = {
    "model": "llama-3.3-70b-versatile",
    "max_tokens": 512,
    "temperature": 0.7,
}
```

## Notlar

- Tüm yanıtlar Türkçedir
- Acil durumlar (kalp krizi vb.) için 112 uyarısı verilir
- Her yanıtta "doktora danışın" uyarısı bulunur
- Kesin teşhis koymaz, sadece olası durumları belirtir
