Co-authored-by: Marion Schleifer <marion@hasura.io> Co-authored-by: sezgi <sezgi.ulucam@gmail.com>
13 KiB
Hasura GraphQL Engine
Hasura GraphQL Engine, veritaban olaylarında webhook tetikleyici ve iş mantığı için uzaktan şemalar ile size Postgres üzerinden anında, gerçek zamanlı GraphQL API'leri sağlayan hızlı bir GraphQL sunucusudur.
Hasura, Postgres tarafından desteklenen GraphQL uygulamaları yaratmanıza veya Postgres kullanan mevcut uygulamaları aşamalı olarak GraphQL'e geçmenize yardımcı olur.
Daha fazla bilgiyi hasura.io ve dökümanda bulabilirsiniz
Özellikler
- Güçlü sorgular yapın: Dahili filtreleme, sayfalandırma, model arama, yığın ekleme, güncelleme, mutasyonları silme
- Gerçek zamanlı: Abonelikleri kullanarak herhangi bir GraphQL sorgusunu canlı sorguya dönüştürme
- Uzaktan şemaları birleştirme: Tek bir GraphQL Engine uç noktası üzerinden iş mantığı için özel GraphQL şemalarına erişin.Daha fazla.
- Webhooks ve sunucusuz işlevleri tetikleme: Postgres insert/update/delete olaylarında (daha fazla)
- Mevcut, canlı veritabanlarıyla çalışır: Kullanıma hazır bir GraphQL API'si almak için mevcut bir Postgres veritabanına yönlendirin
- Hassas erişim kontrolü: Kimlik doğrulama sisteminizle birleşen dinamik erişim kontrolü (örn: auth0, firebase-auth)
- Yüksek performans ve az yer kaplama: ~15mb Docker imaji; ~50MB RAM içinde saniyede 1000 sorgu; çoklu çekirdek farkındalığı
- Yönetici Kullanıcı Arayüzü ve Taşıma İşlemleri: Yönetici arayüzü ve Rails'den ilham alan şema taşıma işlemleri
- Postgres ❤️: Postgres türlerini (PostGIS/geo-location vb.) destekler, görünümleri grafiklere dönüştürür, depolanmış fonksiyonları veya mutasyonlu prosedürleri tetikler
Daha fazla bilgiyi hasura.io ve dökümanda bulabilirsiniz
İçerikler
İçerikler
- Hızlı Başlangıç:
- Yapı
- İstemci tarafı takımlar
- İş mantığı ekleme
- Demolar
- Destek ve sorun giderme
- Katkıda bulunmak
- Marka varlıkları
- Lisans
- Çeviriler
Hızlı Başlangıç:
Tek tıklama ile Heroku'ya deploy etme
Hasura'yı denemenin en hızlı yolu Heroku'dur.
-
Ücretsiz Postgre eklentisiyle Heroku'da GraphQL Engine'i kurmak için aşağıdaki düğmeye tıklayın.
-
Hasura Console'u açın.
Yönetici konsolunu açmak için
https://<app-name>.herokuapp.com
(<app-name>'i uygulama adınızla değiştirin.) adresini ziyaret edin. -
İlk GraphQL sorgunuzu yapın.
Bir tablo oluşturun ve ilk sorgunuzu hemen çalıştırın. Bunu takip edebilirsin basit rehber.
Diğer tek tıklamayla deploy etme seçenekleri
Tek tıklamayla deploy etme seçenekleri için aşağıdaki talimatları takip edin:
Sağlayıcı | Tek tıklama linki | Ek bilgi |
---|---|---|
DigitalOcean | doküman | |
Azure | doküman |
Diğer deploy etme yöntemleri
Docker tabanlı dağıtım ve gelişmiş yapılandırma seçenekleri için deployment guides ya da install manifests bakınız.
Yapı
Hasura GraphQL Engine, bir Postgres veritabanı örneğinin önünde durur ve istemci uygulamalarınızdan GraphQL isteklerini kabul edebilir. Mevcut kimlik doğrulama sisteminizle çalışacak şekilde yapılandırılabilir ve kimlik doğrulama sisteminizden dinamik değişkenlerle alan düzeyinde kurallar kullanarak erişim denetimini işleyebilir.
Ayrıca uzaktan GraphQL şemalarını birleştirebilir ve birleşik GraphQL API'si sağlayabilirsiniz.
İstemci tarafı takımlar
Hasura herhangi bir GraphQL istemcisi ile çalışır. Apollo Client kullanmanızı öneririz. İstemci listesi için awesome-graphql adresine bakınız.
İş mantığı ekleme
GraphQL Engine, backend'inize özel iş mantığı eklemek için kolay anlaşılır, ölçeklenebilir ve yüksek performanslı yöntemler sunar:
Uzak Şemalar
Hasura'nın Postgres tabanlı GraphQL şemasına ek olarak uzak bir şemada özel çözümleyiciler ekleyin. Bir ödeme API'sini uygulamak veya veritabanınızda bulunmayan verileri sorgulamak gibi kullanım durumları için idealdir. - daha fazla.
Veritabanı olaylarındaki webhooks tetikleme
Veritabanı olaylarına göre tetiklenen eşzamansız iş mantığını ekleyin. Bildirimler, Postgres veri hatları veya asenkron işleme için idealdir - daha fazla.
Türetilmiş veri veya veri dönüşümleri
Postgres'te verileri dönüştürün veya GraphQL Engine kullanılarak sorgulanabilecek başka bir veri kümesi türetmek için iş mantığı çalıştırın. - daha fazla.
Demolar
community/sample-apps dizinindeki örnek uygulamalara göz atın.
Gerçek zamanlı uygulamalar
-
React ile oluşturulmuş grup sohbet uygulaması. Yazma belirteci, çevrimiçi kullanıcılar ve yeni mesaj bildirimleri içerir.
-
Bir harita üzerinde hareket eden mevcut GPS koordinatlarını değiştiren, çalışan bir aracı gösteren canlı konum izleme uygulaması.
-
Sürekli değişen veriler üzerinde veri toplama için gerçek zamanlı bir kontrol paneli.
Videolar
- Kendi kendine barındırılan bir GitLab örneğine GraphQL ekleme (3:44 mins)
- Auth0 ve GraphQL backend'iyle todo uygulaması (4:00 mins)
- GitLab auth ile entegre edilmiş GitLab üzerinde GraphQL (4:05 mins)
- Coğrafi konumlu 10 milyon sürüş için gösterge tablosu (PostGIS, Timescale) (3:06 mins)
Destek ve sorun giderme
Belgeler ve topluluk, çoğu sorunu gidermenize yardımcı olacaktır. Bir hatayla karşılaştıysanız veya bizimle iletişime geçmeniz gerekiyorsa aşağıdaki kanallardan birini kullanarak bizimle iletişime geçebilirsiniz:
- Destek ve geri bildirim: Discord
- Sorun ve hata bildirme: GitHub issues
- Ürün güncellemelerini takip edin: @HasuraHQ
- Bizimle konuşun: website chat
Toplulukta açık ve hoş bir ortam yaratmaya kararlıyız. Lütfen Davranış Kodu adresine bakınız
Bir güvenlik sorununu bildirmek istiyorsanız lütfen bunu okuyun.
Katkıda bulunmak
Daha fazla detay için katkıda bulunma kuralını kontrol edin.
Marka varlıkları
Hasura marka varlıkları (logolar, Hasura maskotu, rozetler vb.) assets/brand klasöründedir. Bunları uygulamanızda/websitenizde kullanmaktan çekinmeyin. Hasura kullanılarak oluşturduğunuz uygulamalarınıza "Powered by Hasura" işareti eklerseniz çok seviniriz. ❤️
<!-- Beyaz arkaplan için -->
<a href="https://hasura.io">
<img width="150px" src="https://graphql-engine-cdn.hasura.io/img/powered_by_hasura_blue.svg" />
</a>
<!-- Siyah arkaplan için -->
<a href="https://hasura.io">
<img width="150px" src="https://graphql-engine-cdn.hasura.io/img/powered_by_hasura_white.svg" />
</a>
Lisans
Çekirdek GraphQL Engine Apache License 2.0 (Apache-2.0) altında bulunur.
Diğer tüm içerikler (sunucu
, cli
ve
konsol
dizinleri hariç) MIT License altındadır.
Buna, doküman
ve topluluk
dizinleri içindeki herşey dahildir.
Çeviriler
Bu Readme sayfası aşağıdaki çevirilerde mevcuttur:
- Japonca 🇯🇵 (🙏 @moksahero)
- Fransızca 🇫🇷 (🙏 @l0ck3)
- Boşnakça 🇧🇦 (🙏 @hajro92)
- Rusca 🇷🇺 (🙏 @highflyer910)
- Yunanca 🇬🇷 (🙏 @MIP2000)
- İspanyolca 🇲🇽(🙏 @ferdox2)
- Endonezyaca 🇮🇩 (🙏 @anwari666)
- Brezilya Portekizcesi 🇧🇷 (🙏 @rubensmp)
- Almanca 🇩🇪 (🙏 @FynnGrandke)
- Çince 🇨🇳 (🙏 @jagreetdg & @johnbanq)
- Korece 🇰🇷 (🙏 @라스크)
Diğer dosyalar için çeviriler burada bulunabilir.