Skip to content
A GraphQL ready, very opinionated Vue SPA template for Vue CLI 3
JavaScript Vue CSS Perl 6 Other
Branch: master
Clone or download
Latest commit b99301c May 19, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci better organize linting and test scripts Dec 2, 2018
.vscode add settings to .vscode config Mar 17, 2019
_templates/new fix hygen component generator Feb 3, 2019
docs correct aliased asset URL instructions, fixes #125 Feb 3, 2019
public Lint Jan 7, 2019
server Update Apollo May 19, 2019
src Update Apollo May 19, 2019
tests enable css compilation for unit tests Dec 2, 2018
.env Feat: Use accessToken information for authorization if provided. Add … Dec 9, 2018
.eslintignore Fix ignored patterns Jun 12, 2018
.eslintrc.js Update lintern rules May 19, 2019
.gitattributes Fix icons Jun 16, 2018
.gitignore Feat: Add basic prisma-binding mock for Jest Dec 9, 2018
.graphqlconfig.yml Add @client as a custom directive for vscode extension Aug 9, 2018
.markdownlintrc linting updates Mar 10, 2018
.postcssrc.js initial commit built on vue-cli 3 Feb 17, 2018
.prettierignore Fix ignored patterns Jun 12, 2018
.prettierrc.js Use Prettier to format HTML Jan 7, 2019
.yarnrc Update .yarnrc Jul 12, 2018
_start.js Update CircleCI badge Jul 9, 2018
babel.config.js Transpile imports in node_modules Jul 21, 2018
cypress.json initial commit built on vue-cli 3 Feb 17, 2018
jest.config.js Use sass (dart) instead of node-sass May 19, 2019
jsconfig.json Fix aliases for VSCode, Webpack and Jest Aug 4, 2018
lint-staged.config.js better organize linting and test scripts Dec 2, 2018
package.json Update Apollo May 19, 2019
stylelint.config.js Minor updates to docs and config Jun 9, 2018
vue.config.js Fix aliases for VSCode, Webpack and Jest Aug 4, 2018
yarn.lock Update Apollo May 19, 2019

README.md

Vue Enterprise Boilerplate

CircleCI

Intro

A GraphQL ready, very opinionated Vue SPA template for Vue CLI 3

This project is based on the vue-enterprise-boilerplate template made by Chris Fritz and Guillaume Chau's Vue + Apollo projects. It includes some extra opinionated features such as components inside folders and GraphQL integration with Apollo, Auth0 and Prisma.

Features

Getting started

# 1. Clone the repository.
git clone https://github.com/frandiox/vue-enterprise-boilerplate.git my-new-project

# 2. Enter your newly-cloned folder.
cd my-new-project

# 3. Install dependencies.
yarn

# 4. Replace this README's CI badge with a note about when you started
# and a link to a compare URL, so that you can always get an overview
# of new features added to the boilerplate since you cloned.
node _start.js

# 5. Delete the start script, as there can be only one beginning.
rm _start.js

# 6. Read the documentation linked below.

# 7. Update `.env` file with your corresponding keys from Auth0 and Prisma.
# Have a look at the docs for step by step guides on how to setup these services.

Documentation

Read the docs here or check the docs folder.

FAQ

Why would I use this boilerplate instead of generating a new project with Vue CLI directly?

Vue CLI aims for flexibility, making it as simple as possible for any team to set up a new project, no matter how big or small, whether it's an app or a library, or what languages and technologies are being used.

This boilerplate makes more assumptions. It assumes you're building a large app, possibly developed by a large team. It also makes a lot of default choices for you, based on what tends to work well for large, enterprise projects. At the same time, it aims to educate and empower users to configure these defaults to ideally suit their specific app and team.

Why would I use this boilerplate instead of Nuxt?

Nuxt is like a really smart personal assistant, immediately making you more productive by taking care of many concerns for you. This boilerplate is more of a personal coach, aiming to educate and empower users to essentially configure their own framework, ideally suited to their app and team.

If what you're building is very well-defined, with requirements and technical challenges that won't drastically change over time, I'd probably recommend Nuxt instead. For the needs of common applications, it's more than up to the task. If you're a startup trying to prove product-market fit and your primary goal is initial development speed, that's also a point in Nuxt's favor.

Here's when you might prefer building a project off the boilerplate instead:

  • The requirements for the product are very likely to change over time and you want to maintain maximum flexibility and control.
  • You'd like to focus on developing skills that will transfer across any Vue project.
  • You're working in a large team, so need tooling to help everyone avoid common mistakes, write in a consistent style, and avoid bikeshedding in PRs.

Finally, it's not an either-or situation. This boilerplate demonstrates many useful patterns for building robust applications that can also be applied to Nuxt apps. That means you could build a project with Nuxt, while still using this boilerplate as a study guide.

You can’t perform that action at this time.