mirror of
https://github.com/zhigang1992/graphql-engine.git
synced 2026-05-19 11:24:30 +08:00
readme updates (#135)
This commit is contained in:
committed by
GitHub
parent
c16e3ca949
commit
cf88a9c3a8
69
README.md
69
README.md
@@ -8,63 +8,74 @@
|
||||
<a href="https://discord.gg/vBPpJkS"><img src="https://img.shields.io/badge/chat-discord-brightgreen.svg?logo=discord&style=flat"></a>
|
||||
<a href="https://twitter.com/intent/follow?screen_name=HasuraHQ"><img src="https://img.shields.io/badge/Follow-HasuraHQ-blue.svg?style=flat&logo=twitter"></a>
|
||||
|
||||

|
||||
Hasura GraphQL Engine is a blazing-fast GraphQL server that gives you **instant GraphQL APIs over Postgres**. Hasura helps you build GraphQL apps backed by Postgres or incrementally move to GraphQL for existing applications using Postgres.
|
||||
|
||||
Hasura GraphQL Engine is a performant GraphQL server that provides **ready-to-use GraphQL API over Postgres** by auto-generating GraphQL schema and corresponding resolvers.
|
||||
------------------
|
||||
|
||||
* **Make powerful queries**: built-in filtering, pagination, and pattern search arguments and operators
|
||||
* **Works with existing database**: point it to an existing Postgres database to instantly get a ready-to-use GraphQL API
|
||||
* **Fine-grained access control**: dynamic access control that integrates with your Auth
|
||||
* **Light-weight & performant**: ~15MB docker image; ~50MB RAM @ 1000 req/s; multi-core aware
|
||||
* **Dev friendly**: admin UI & Rails-inspired schema migrations
|
||||

|
||||
|
||||
-------------------
|
||||
|
||||
* **Make powerful queries**: Built-in filtering, pagination, pattern search, bulk insert, update, delete mutations.
|
||||
* **Works with existing, live databases**: Point it to an existing Postgres database to instantly get a ready-to-use GraphQL API
|
||||
* **Fine-grained access control**: Dynamic access control that integrates with your auth system (eg: auth0, firebase-auth)
|
||||
* **High-performance & low-footprint**: ~15MB docker image; ~50MB RAM @ 1000 req/s; multi-core aware
|
||||
* **Admin UI & Migrations**: Admin UI & Rails-inspired schema migrations
|
||||
* **Postgres** ❤️: supports Postgres types (PostGIS/geo-location, etc.), turns views to *graphs*, trigger stored functions or procedures with mutations
|
||||
|
||||
## Quickstart - Setup on Heroku
|
||||
Read more at: [https://hasura.io](https://hasura.io) and the [docs](https://docs.hasura.io).
|
||||
|
||||
:information_source: *no credit-card required*; sign-up may be required
|
||||
## Demos
|
||||
|
||||
1. Click on the following button to deploy GraphQL Engine on Heroku and provision the free Postgres add-on:
|
||||
|
||||
[](https://heroku.com/deploy?template=https://github.com/hasura/graphql-engine-heroku)
|
||||
* [Add GraphQL to a self-hosted GitLab instance](https://www.youtube.com/watch?v=a2AhxKqd82Q) (*3:44 mins*)
|
||||
* [Todo app with Auth0 and GraphQL backend](https://www.youtube.com/watch?v=15ITBYnccgc) (*4:00 mins*)
|
||||
* [GraphQL on GitLab integrated with GitLab auth](https://www.youtube.com/watch?v=m1ChRhRLq7o) (*4:05 mins*)
|
||||
* [Dashboard for 10million rides with geo-location (PostGIS, Timescale)](https://www.youtube.com/watch?v=tsY573yyGWA) (*3:06 mins*)
|
||||
|
||||
2. Open the admin console
|
||||
## Quickstart:
|
||||
|
||||
Visit https://\<app-name\>.herokuapp.com (*replace \<app-name\> with your app name*) to open the admin console.
|
||||
### One-click deployment on Heroku
|
||||
|
||||
The fastest way to try Hasura out is via Heroku.
|
||||
|
||||
1. Click on the following button to deploy GraphQL Engine on Heroku with the free Postgres add-on:
|
||||
|
||||
[](https://heroku.com/deploy?template=https://github.com/hasura/graphql-engine-heroku)
|
||||
|
||||
2. Open the Hasura console
|
||||
|
||||
Visit `https://<app-name>.herokuapp.com` (*replace \<app-name\> with your app name*) to open the admin console.
|
||||
|
||||
3. Make your first GraphQL query
|
||||
|
||||
Create test tables and instantly run your first query. Follow this [simple guide](https://docs.hasura.io/1.0/graphql/manual/getting-started/first-graphql-query.html).
|
||||
Create a table and instantly run your first query. Follow this [simple guide](https://docs.hasura.io/1.0/graphql/manual/getting-started/first-graphql-query.html).
|
||||
|
||||
### Other deployment methods
|
||||
|
||||
For Docker-based deployment and advanced configuration options, see deployment guides [here](https://docs.hasura.io/1.0/graphql/manual/getting-started/index.html).
|
||||
For Docker-based deployment and advanced configuration options, see [deployment guides](https://docs.hasura.io/1.0/graphql/manual/getting-started/index.html).
|
||||
|
||||
## Architecture
|
||||
|
||||
The Hasura GraphQL Engine fronts a Postgres database instance and can serve as an API Gateway for all data requests from client apps. It can be configured to work with your existing Auth middleware to handle access control to data using field-level rules with dynamic variables.
|
||||
|
||||
The GraphQL Engine is a standalone, multi-core aware component that can be scaled vertically and horizontally.
|
||||
|
||||

|
||||
The Hasura GraphQL Engine fronts a Postgres database instance and can accept GraphQL requests from your client apps. It can be configured to work with your existing auth system and can handle access control using field-level rules with dynamic variables from your auth system.
|
||||
|
||||
You can also place the engine behind a central GraphQL proxy that fronts multiple GraphQL APIs via schema stitching.
|
||||
|
||||

|
||||

|
||||
|
||||
## Client-side tooling
|
||||
|
||||
GraphQL Engine provides an HTTP API. This means you can use any client-side tool or library to query the endpoint. To fully leverage GraphQL, it is recommended that you use GraphQL specific client-side tooling like [Apollo Client](https://github.com/apollographql/apollo-client), [Relay](https://github.com/facebook/relay), etc. See [awesome-graphql](https://github.com/chentsulin/awesome-graphql) for a list of such tools.
|
||||
Hasura works with any GraphQL client. We recommend using [Apollo Client](https://github.com/apollographql/apollo-client). See [awesome-graphql](https://github.com/chentsulin/awesome-graphql) for a list of clients.
|
||||
|
||||
## Community
|
||||
|
||||
Please join our amazing community of developers and contributors on [Discord](https://discord.gg/vBPpJkS).
|
||||
|
||||
## Support & Troubleshooting
|
||||
|
||||
The documentation and community will help you troubleshoot most issues. However, if you have encountered a bug or need to get in touch with us, you can contact us using one of the following channels:
|
||||
|
||||
* [Github issues](https://github.com/hasura/graphql-engine/issues)
|
||||
* Talk to us using [Intercom chat](https://hasura.io) or drop an email to build@hasura.io
|
||||
* Support & feedaback: [Discord](https://discord.gg/vBPpJkS)
|
||||
* Issue & bug tracking: [Github issues](https://github.com/hasura/graphql-engine/issues)
|
||||
* Follow product updates: [@HasuraHQ](https://twitter.com/hasurahq)
|
||||
* Talk to us on our [website chat](https://hasura.io)
|
||||
|
||||
We are committed to fostering an open and welcoming environment in the community. Please see the [Code of Conduct](code-of-conduct.md).
|
||||
|
||||
@@ -74,6 +85,6 @@ Check out our [contributing guide](CONTRIBUTING.md) for more details.
|
||||
|
||||
## License
|
||||
|
||||
GraphQL Engine is available under the [GNU Affero General Public License v3](https://www.gnu.org/licenses/agpl-3.0.en.html) (AGPL-3.0). [Why AGPL?](https://gist.github.com/hasura-bot/9c36a0201a7563f7762b265a12b044d5).
|
||||
GraphQL Engine is available under the [GNU Affero General Public License v3](https://www.gnu.org/licenses/agpl-3.0.en.html) (AGPL-3.0), the same license as [MongoDB](https://www.mongodb.com/community/licensing). We have written more about what you can and cannot do under AGPL [here](https://github.com/hasura/graphql-engine/wiki/License-Explained).
|
||||
|
||||
:information_source: Commercial licenses are available on request. Please feel free to contact us at build@hasura.io or using [Intercom chat](https://hasura.io).
|
||||
**Commercial licenses are available on request**. Please feel free to contact us at build@hasura.io or on our [website chat](https://hasura.io).
|
||||
|
||||
BIN
assets/demo.gif
Normal file
BIN
assets/demo.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.9 MiB |
1
assets/hasura-arch.svg
Normal file
1
assets/hasura-arch.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 146 KiB |
Reference in New Issue
Block a user