A Github GUI app using Vue.js and GraphQL.
The purpose of this assignment is to understand how GraphQL can be used as an alternative to REST for API development.
As you will see through interaction with the Github API, some of the benefits of choosing GraphQL include type safety, generated documentation, and predictable responses.
By the end of this activity, you will have experience writing queries and mutations in a simple Vue.js app.
Create a fork of this project. When you are finished, make a pull request against the branch with your username.
yarn install
yarn run serve
yarn run build
yarn run lint
You will need to create an access token for use in the API. Make sure you are storing this in your environment variables and don't accidentally hardcode it into your app!
How to create a personal access token
Include the following functionality in your app.
- [ STARTED ] Display user data
- List all public repositories (include information like creation date, stars, etcetera)
- View all project cards in current repository
- Update user status on Github
- Add project card
- Update project card
- Delete project card
For at least one of the queries/mutations above, add in:
This repository has been built using the basic Vue CLI setup with JavaScript. You are welcome to use a different setup (for example, using SASS, TypeScript, Vuex, etc)– simply create a new app using the vue-cli.
If you're feeling super adventurous, you may also want to try using Apollo with GraphQL.
- Watch GraphQL Fundamentals videos: https://www.howtographql.com/
- Read why Github shifted their official API to GraphQL: https://githubengineering.com/the-github-graphql-api/
- Test queries with the Github GraphQL IDE: https://developer.github.com/v4/explorer/
- GraphQL documentation: https://graphql.org/learn/
- Github API documentation: https://developer.github.com/v3/
-
When finished developing your app, make a pull request against your branch.
-
Answer the following questions in your pull request:
- What was confusing or challenging?
- What questions do you still have?