Appearance
Geliştirme Ortamı Kurulum Rehberi (Environment Setup)
Bu rehber, Humindx projesine yeni katılan bir mühendisin lokal bilgisayarında (localhost) "Hot Path" (Etkileşim) ve "Cold Path" (Psikometrik) servislerini ayağa kaldırması için gereken adımları içerir.
1. Ön Koşullar (Prerequisites)
Bilgisayarınızda aşağıdaki araçların kurulu olması gerekmektedir:
- Docker & Docker Compose: Veritabanı ve kuyruk servisleri için.
- Node.js (v20+): API Gateway ve Hot Path (NestJS) için.
- Python (3.11+): Psikometrik Motor (FastAPI) için.
- (Opsiyonel) Flutter / React Native: Mobil B2C istemcisini lokalde çalıştırmak istiyorsanız.
2. Altyapı Servislerini Ayağa Kaldırma
Humindx lokal geliştirme ortamı, karmaşık veritabanı kurulumlarını önlemek için tamamen Dockerize edilmiştir.
Projeyi klonlayın ve kök dizine gidin:
bashgit clone https://github.com/humindx/core.git cd coreÇevresel değişkenleri (ENV) ayarlayın:
bashcp .env.example .env # .env dosyasını açarak OPENAI_API_KEY veya ANTHROPIC_API_KEY değerlerinizi girin.Docker servislerini başlatın:
bashdocker-compose up -dBu komut şunları ayağa kaldıracaktır:
postgres-db: İçerisindepgvectoreklentisi aktif edilmiş PostgreSQL 16.redis-broker: Event Bus ve asenkron görev kuyruğu (Celery) için.
3. Servisleri Çalıştırma
Sistem asenkron iki parçadan oluştuğu için iki ayrı terminal kullanmanız gerekmektedir.
Terminal 1: Hot Path (API Gateway & Chat Engine)
Bu servis WebSocket bağlantılarını yönetir ve B2C/B2B istemcilerine API sunar.
bash
cd services/api-gateway
npm install
npm run start:devServis
http://localhost:3000portunda çalışmaya başlayacaktır.
Terminal 2: Cold Path (Psikometrik Motor)
Bu servis, Redis'e düşen sohbet olaylarını alır, LLM üzerinden analiz eder ve genom skorlarını günceller. Şu an sadece /api/v1/health ayakta; Celery worker ve scoring/sanitization endpoint'leri sonraki commit'lerde eklenecek.
bash
cd services/psychometric-engine
python -m venv venv
source venv/bin/activate # Windows için: venv\Scripts\activate
pip install -e ".[dev]"
# FastAPI sunucusunu başlatın
uvicorn psychometric_engine.main:app --reload --port 8000Celery worker (
celery -A psychometric_engine.worker worker --loglevel=info) eventing katmanı eklenince aktif olacak —docs/architecture/data-flow-diagrams.md.
4. Test ve İlk Etkileşim
Kurulumun başarılı olduğunu doğrulamak için API üzerinden test kullanıcısı oluşturup ilk "Sisli Sohbet" olayını tetikleyebilirsiniz:
bash
curl -X POST http://localhost:3000/api/v1/b2c/chat/init \
-H "Content-Type: application/json" \
-d '{"user_id": "test-user-1", "agent_type": "SHADOW"}'Eğer Celery terminalinde [Task SCENARIO_COMPLETED] Processing trait shifts... logunu görüyorsanız, sisteminiz uçtan uca çalışıyor demektir. Hoş geldiniz!
Mimari kararların gerekçeleri için bkz. architecture-decisions/