mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-15 09:22:43 +03:00
3696d92743
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> GitOrigin-RevId: cfef3585b120d82cafe5343cfceddbcd05969a15 |
||
---|---|---|
.. | ||
public | ||
src | ||
.browserslistrc | ||
.eslintrc.js | ||
.gitignore | ||
.postcssrc.js | ||
babel.config.js | ||
package-lock.json | ||
package.json | ||
README.md | ||
vue.config.js |
vuetify-vuex-todo-graphql
A simple Todo PWA (Progressive Web App) inspired by TodoMVC, Vue.js, Vuex and Vuetify technologies, forked from davidgararo/vuetify-todo-pwa, adding Hasura GraphQL integration
Tutorial
-
Deploy GraphQL Engine on Hasura Cloud and setup PostgreSQL via Heroku:
-
Get the Hasura app URL (say
my-app.hasura.app
) -
Create
todos
table:Open Hasura console: visit https://my-app.hasura.app on a browser
Navigate toData
section in the top nav bar and create a table as follows: -
Clone this repo:
git clone https://github.com/hasura/graphql-engine cd graphql-engine/community/sample-apps/vuetify-vuex-todo-graphql
-
Install node modules:
npm install
-
Open
src/apollo.js
and configure Hasura's GraphQL Endpoint as follows:
import Vue from 'vue'
import VueApollo from 'vue-apollo'
import { ApolloClient } from 'apollo-client'
import { HttpLink } from 'apollo-link-http'
import { InMemoryCache } from 'apollo-cache-inmemory'
const httpLink = new HttpLink({
// You should use an absolute URL here
uri: 'https://myapp.hasura.app/v1/graphql'
})
// Create the apollo client
export const apolloClient = new ApolloClient({
link: httpLink,
cache: new InMemoryCache(),
connectToDevTools: true
})
const apolloProvider = new VueApollo({
defaultClient: apolloClient
})
// Install the vue plugin
Vue.use(VueApollo)
export default apolloProvider
In the httpLink
, replace myapp.hasura.app
with your own Hasura Project URL of Hasura GraphQL Engine that you deployed above
- Compile and hot-reload for development
npm run serve
- Production Build
npm run build