graphql-engine/community/sample-apps/vuetify-vuex-todo-graphql
2019-03-26 14:36:46 +05:30
..
public add vuetify-vuex-todo-graphql sample app (#1866) 2019-03-26 14:36:46 +05:30
src add vuetify-vuex-todo-graphql sample app (#1866) 2019-03-26 14:36:46 +05:30
.browserslistrc add vuetify-vuex-todo-graphql sample app (#1866) 2019-03-26 14:36:46 +05:30
.eslintrc.js add vuetify-vuex-todo-graphql sample app (#1866) 2019-03-26 14:36:46 +05:30
.gitignore add vuetify-vuex-todo-graphql sample app (#1866) 2019-03-26 14:36:46 +05:30
.postcssrc.js add vuetify-vuex-todo-graphql sample app (#1866) 2019-03-26 14:36:46 +05:30
babel.config.js add vuetify-vuex-todo-graphql sample app (#1866) 2019-03-26 14:36:46 +05:30
package-lock.json add vuetify-vuex-todo-graphql sample app (#1866) 2019-03-26 14:36:46 +05:30
package.json add vuetify-vuex-todo-graphql sample app (#1866) 2019-03-26 14:36:46 +05:30
README.md add vuetify-vuex-todo-graphql sample app (#1866) 2019-03-26 14:36:46 +05:30
vue.config.js add vuetify-vuex-todo-graphql sample app (#1866) 2019-03-26 14:36:46 +05:30

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 Postgres and GraphQL Engine on Heroku:

    Deploy to
heroku

    Please checkout our docs for other deployment methods

  • Get the Heroku app URL (say my-app.herokuapp.com)

  • Create todos table:

    Open Hasura console: visit https://my-app.herokuapp.com on a browser
    Navigate to Data section in the top nav bar and create a table as follows:

    Create todos table

  • 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.herokuapp.com/v1alpha1/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.herokuapp.com with your own Heroku URL of Hasura GraphQL Engine that you deployed above

  • Compile and hot-reload for development
  npm run serve
  • Production Build
  npm run build