LobeChat, Next.js çerçevesi ile oluşturulmuş bir AI sohbet uygulamasıdır. Çeşitli işlevler ve özellikler sağlamak için bir dizi teknoloji yığını kullanmaktadır.
## Temel Teknoloji Yığını
LobeChat'in temel teknoloji yığını aşağıdaki gibidir:
- **Çerçeve**: [Next.js](https://nextjs.org/) seçtik, bu güçlü bir React çerçevesidir ve projemize sunucu tarafı render, yönlendirme çerçevesi, Router Handler gibi kritik işlevler sağlamaktadır.
- **Bileşen Kütüphanesi**: Temel bileşen kütüphanesi olarak [Ant Design (antd)](https://ant.design/) kullandık ve iş bileşen kütüphanemiz olarak [lobe-ui](https://github.com/lobehub/lobe-ui) ekledik.
- **Durum Yönetimi**: [zustand](https://github.com/pmndrs/zustand) kullandık, bu hafif ve kullanımı kolay bir durum yönetim kütüphanesidir.
- **Ağ İsteği**: Veri almak için [swr](https://swr.vercel.app/) kullandık, bu bir React Hooks kütüphanesidir.
- **Yönlendirme**: Yönlendirme yönetimi için doğrudan [Next.js](https://nextjs.org/) tarafından sağlanan çözümü kullandık.
- **Uluslararasılaştırma**: Uygulamanın çok dilli desteği için [i18next](https://www.i18next.com/) kullandık.
- **Stil**: [antd-style](https://github.com/ant-design/antd-style) kullandık, bu Ant Design ile uyumlu bir CSS-in-JS kütüphanesidir.
- **Birim Testi**: Birim testleri için [vitest](https://github.com/vitejs/vitest) kullandık.
## 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 ile ilgili kodlar
├── components # Yeniden kullanılabilir UI bileşenleri
├── config # Uygulamanın yapılandırma dosyaları, istemci ve sunucu ortam değişkenlerini içerir
├── const # Eylem türleri, yönlendirme adları gibi sabitleri tanımlamak için
├── features # İşlevsellik ile ilgili modüller, örneğin Agent ayarları, eklenti geliştirme pencereleri vb.
├── hooks # Tüm uygulama için yeniden kullanılabilir özel araç Hooks
├── layout # Uygulamanın düzen bileşenleri, örneğin navigasyon çubuğu, yan çubuklar vb.
├── locales # Uluslararasılaştırma dil dosyaları
├── services # HTTP istekleri gibi kapsüllenmiş arka uç hizmet arayüzleri
├── store # Durum yönetimi için zustand store
├── types # TypeScript tür tanım dosyaları
└── utils # Genel yardımcı fonksiyonlar
\`\`\`