Co-authored-by: Marion Schleifer <marion@hasura.io> Co-authored-by: Shahidh K Muhammed <shahidh@hasura.io>
12 KiB
Hasura GraphQL Engine
Hasura GraphQL Engine je nevjerovatno brzi GraphQL server koji vam nudi trenutne, API-je GraphQL API-ja preko Postgres-a, sa webhook pokretačima na dešavanja u bazi podataka, i udaljenim šemama za poslovnu logiku.
Hasura vam pomaže da napravite GraphQL aplikacije podržane Postgres-om ili postepeno pređite na GraphQL za postojeće aplikacije pomoću Postgres-a.
Pročitajte više na hasura.io i dokumentima.
Značajke
- Napravite snažne upite: Ugrađeno filtriranje, prelistavanje, pretraživanje po uzorcima, grupno ubacivanje, ažuriranje, brisanje mutacija
- U stvarnom vremenu: Pretvorite bilo koji GraphQL upit u živi upit koristeći pretplate
- Spajanje udaljenih šema: Pristupite prilagođenim GraphQL šemama za poslovnu logiku putem jedne krajnje tačke GraphQL Engine-a. Pročitaj više.
- Okinite webhook ili funkcije bez servera: Na Postgres sačuvaj/ažuriraj/izbriši dešavanjima (pročitaj više)
- Radi s postojećim, aktivnim bazama podataka: Usmjerite ga na postojeću Postgres bazu podataka da odmah dobijete spreman na korištenje GraphQL API
- Fina kontrola pristupa: Dinamička kontrola pristupa koja se integriše na vaš sistem pristupa (npr: auth0, firebase-auth)
- Visoke performanse i mali tragovi: ~15MB docker slika; ~50MB RAM @ 1000 zahtjeva/s; više jezgra
- Administratorsko sučelje & Migracije: Administratorska ploča & Rails-inspirisana migracija šeme
- Postgres ❤️: Podržava Postgres tipove (PostGIS/geo-location, i sl.), pretvara poglede u grafikone, pokreće pohranjene funkcije ili procedure s mutacijama
Pročitaj više na hasura.io i dokumentima.
Tabela sadržaja
Tabela sadržaja
- Brzi početak:
- Arhitektura
- Klijentski alati
- Dodavanje poslovne logike
- Demo
- Podrška & Rješavanje problema
- Doprinos
- Brendirani sadržaj
- Licenca
- Prijevodi
Brzi početak:
Implementacija jednim klikom na Heroku
Najbrži način da isprobate Hasura je putem Heroku-a.
-
Klikni na link ispod da postaviš GraphQL Engine na Heroku uz besplatan Postgres dodatak:
-
Otvori Hasura konzolu
Posjeti
https://<app-name>.herokuapp.com
(zamijeni <app-name> sa nazivom svoje aplikacije) da otvoriš administratorsku konzolu. -
Napravi prvi GraphQL upit
Kreiraj tabelu i odmah isprobaj svoj prvi upit. Prati ovaj jednostavni vodič.
Ostale metode implementacije jednim klikom
Pogledaj instrukcije za ostale mogućnosti implementacije jednim klikom:
Infra provajder | Veza | Dodatne informacije |
---|---|---|
DigitalOcean | docs | |
Azure | docs |
Ostale metode implementacije
Za Docker-baziranu implementaciju i napredne konfiguracije, pogledajte implementacijski vodič ili instalirajte manifest.
Arhitektura
Hasura GraphQL Engine frontira se na Postgres instancu i prihvata GraphQL zahtjeve sa vaših klijentskih aplikacija. Može se konfigurisati da koristi vaš postojeći sistem autentikacije i može upravljati kontrolom pristupa koristeći pravila na razini polja s dinamičkim varijablama vašeg sistema autentikacije.
Također možete spojiti daljinske GraphQL šeme i pružiti objedinjeni GraphQL API.
Alati na klijentskoj strani
Hasura radi sa bilo kojim GraphQL klijentom. Mi preporučujemo Apollo Client. Pogledajte awesome-graphql listu klijenata.
Dodavanje poslovne logike
GraphQL Engine pruža jednostavne, skalabilne i izvodljive metode za dodavanje prilagođene poslovne logike u vaš backend:
Daljinske šeme
Dodajte prilagođene razrešivače u daljinsku šemu pored Hasura-ine Postgres-bazirane GraphQL šeme. Idealno za slučajeve upotrebe poput implementacije API-ja za plaćanje, ili upita za podatke koji nisu u vašoj bazi podataka - pročitaj više.
Pokrenite webhook na dešavanja u bazi podataka
Dodajte asinhronu poslovnu logiku koja se pokreće na osnovu događaja u bazi podataka. Idealno za obavijesti, propust podataka iz Postgres-a ili asinhronu obradu - pročitaj više.
Izvedeni podaci ili transformacije podataka
Pretvorite podatke u Postgres ili pokrenite poslovnu logiku na njemu da biste dobili drugi skup podataka koji se može zatražiti koristeći GraphQL Engine - pročitaj više.
Demo
Pogledajte sve primjere dostupne u community/sample-apps mapi.
Stvarne aplikacije
-
Aplikacija za grupno dopisivanje koja koristi React, uključuje pokazatelj tipkanja, online korisnike & obavijesti o novim porukama.
-
Aplikacija za praćenje lokacije vozila uživo koja prikazuje GPS koordinate dok se vozilo kreće po mapi..
-
Nadzorna ploča u stvarnom vremenu koja objedinjuje podatke o kontinuirano mijenjanim podacima.
Video
- Dodajte GraphQL u samostojeću GitLab instancu (3:44 min)
- Todo aplikacija sa Auth0 i GraphQL backendom (4:00 min)
- GraphQL na GitLab-u integrirana sa GitLab autentikacijom (4:05 min)
- Nadzorna ploča za 10 miliona vožnji sa geografskom lokacijom (PostGIS, Timescale) (3:06 min)
Podrška & Rješavanje problema
Dokumentacija i zajednica će vam pomoći da riješite mnogo problema. Ako pronađete grešku ili želite da nas kontaktirate, možete nas pronaći na kanalima ispod:
- Podrška & povratne informacije: Discord
- Problem & praćenje gresaka: GitHub issues
- Pratite ažuriranja o proizvodima: @HasuraHQ
- Pričajte s nama na nasoj web lokaciji
Zalažemo se za njegovanje otvorenog i dobrodošlog okruženja u zajednici. Molimo da pogledate kodeks ponašanja.
Ako želite prijaviti sigurnosni propust, molimo pročitajte ovo.
Doprinos
Pogledajte naš vodič za doprinos za više detalja.
Brendirani sadržaj
Hasura brendirani sadržaj (logo, Hasura maskota, powered by bedževi i slično.) mogu biti pronađeni u assets/brand mapi. Slobodno ih možete koristiti u vašoj aplikaciji/web stranici. Biti će nam drago i ako dodate "Pokreće Hasura" bedž na vašu aplikaciju koju ste napravili uz pomoć Hasura-e. ❤️
<!-- Za svijetle pozadine -->
<a href="https://hasura.io">
<img width="150px" src="https://graphql-engine-cdn.hasura.io/img/powered_by_hasura_blue.svg" />
</a>
<!-- Za tamne pozadine -->
<a href="https://hasura.io">
<img width="150px" src="https://graphql-engine-cdn.hasura.io/img/powered_by_hasura_white.svg" />
</a>
Licenca
GraphQL Engine je dostupan pod Apache License 2.0 (Apache-2.0).
Sav ostali sadržaj (osim onog u server
, cli
i
console
mapama) su dostupni pod MIT License.
To uključuje sve u docs
i community
mapama.
Prijevodi
Ova stranica je dostupna u sljedećim jezicima:
- Japanski 🇯🇵 (🙏 @moksahero)
- Francuski 🇫🇷 (🙏 @l0ck3)
- Grčki 🇬🇷 (🙏 @MIP2000)
- Engleski 🇬🇧
Prijevodi za ostale fajlove mogu biti pronađeni ovdje.