Skip to content

Sample project that shows how to build a Blog App with VueJS, GraphQL, Apollo Client and Graphcool.

License

Notifications You must be signed in to change notification settings

abritopach/vue-graphcool-blog

Repository files navigation

Vue-Graphcool-Blog

Sample project that shows how to build a Blog App (Role Based Authentication) with VueJS, Vuex, GraphQL, Apollo Client and Graphcool.

This example is based on the example "Build a Blog with VueJS, GraphQL and Apollo Client" that I modified to practice my skills. The original post uses GraphQL server built with AdonisJS and it also uses Bulma CSS. I have decided to replace "GraphQL server built with AdonisJS and Bulma CSS" with Graphcool and Vuetify. This project integrates Typescript in VueJS.

This project shows you how to:

* Integrates Typescript in VueJS.
* Role based authentication.
* Use vuex to manage state app.
* Use graphql: queries, mutations, subscriptions.
* User login and signup.
* Forgot password: 
    - Sendgrid is used for sending emails: [outdated documentation]https://github.com/graphcool/templates/tree/master/outdated/auth/email-user-management/functions/reset-password
* If you are a simple user
    * Edit your profile (change your avatar image).
    * Show the latest posts published by users.
    * Show post details
    * Manage your posts: show, filter, edit, delete.
* If you are a admin user (extra functionality)
    * Manage all posts: show, filter, edit, delete.
    * Manage all users: show, filter, edit, delete (delete posts associated with a user when the user is deleted.).
* Infinite scroll in latest post view.
* Skeleton Screen in latest post view.

Technologies: Vue.js, Vuetify.js, Vuex, Typescript, GraphQL, Apollo Client and Graphcool.

Technologies

NOTE: Sample project using Prisma instead of GraphCool in prisma branch. Prisma server

App Example

App example

Build Setup

Before you go through this example, you should have at least a basic understanding of Vue concepts. You must also already have Vue Cli installed on your machine.

# Install dependencies.
npm install

# Serve with hot reload at localhost:8080
npm run dev

# Build for production with minification
npm run build

For detailed explanation on how things work, consult the docs for vue-loader.

Requirements

About

Sample project that shows how to build a Blog App with VueJS, GraphQL, Apollo Client and Graphcool.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published