LobeChat, Next.js çerçevesi üzerine inşa edilmiş bir AI sohbet uygulamasıdır. Bir dizi teknoloji yığını kullanarak çeşitli işlevler ve özellikler sunar.
## Temel Teknoloji Yığını
LobeChat'in ana teknoloji yığını aşağıdaki gibidir:
- **Çerçeve**: Projemiz için güçlü bir React çerçevesi olan [Next.js](https://nextjs.org/) seçildi; bu çerçeve sunucu tarafı render, yönlendirme çerçevesi ve Router Handler gibi kritik özellikler sağlar.
- **Bileşen Kütüphanesi**: Temel bileşen kütüphanesi olarak [Ant Design (antd)](https://ant.design/) kullanıldı, ayrıca iş bileşenleri için [lobe-ui](https://github.com/lobehub/lobe-ui) entegre edildi.
- **Durum Yönetimi**: Hafif ve kullanımı kolay bir durum yönetimi kütüphanesi olan [zustand](https://github.com/pmndrs/zustand) tercih edildi.
- **Ağ İstekleri**: Veri alma için React Hooks kütüphanesi olan [swr](https://swr.vercel.app/) kullanıldı.
- **Yönlendirme**: Yönlendirme yönetimi için doğrudan [Next.js](https://nextjs.org/) tarafından sunulan çözüm tercih edildi.
- **Uluslararasılaştırma**: Uygulamanın çoklu dil desteği için [i18next](https://www.i18next.com/) kullanıldı.
- **Stil**: Ant Design ile uyumlu bir CSS-in-JS kütüphanesi olan [antd-style](https://github.com/ant-design/antd-style) kullanıldı.
- **Birim Testleri**: Birim testleri için [vitest](https://github.com/vitejs/vitest) kullanıldı.
## Klasör Dizin Yapısı
LobeChat'in klasör dizin yapısı aşağıdaki gibidir:
\`\`\`bash
src
├── app # Uygulamanın ana mantığı ve durum yönetimi kodları
├── components # Yeniden kullanılabilir UI bileşenleri
├── config # Uygulama yapılandırma dosyaları, istemci ve sunucu ortam değişkenleri
├── const # Sabitler, örneğin action türleri, rota isimleri
├── features # İşlevsel modüller, örn. Agent ayarları, eklenti geliştirme pencereleri
├── hooks # Uygulama genelinde kullanılan özel Hooks
├── layout # Uygulama düzen bileşenleri, örn. navigasyon çubuğu, yan menü
├── locales # Uluslararasılaştırma dil dosyaları
├── services # Arka uç servis arayüzleri, örn. HTTP istekleri
├── store # Zustand durum yönetimi store'u
├── types # TypeScript tür tanımları
└── utils # Genel yardımcı fonksiyonlar
\`\`\`