Skip to content
A boiler plate template using Feathers with Email Verification, Vue 2 with Server Side Rendering, stylus, scss, jade, babel, webpack, ES 6-8, login form, user authorization, and SEO
Branch: feathers-2
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Adds production gzip to webpack config. Nov 21, 2017
build Upgrades ssr and webpack build system to modern instructions. Oct 22, 2017
config Fixes docker production deployment. Nov 5, 2017
public Adds missing image. Nov 16, 2017
server Adds production gzip to webpack config. Nov 21, 2017
.babelrc Fixes webpack build production. Fixes npm run production. Nov 4, 2017
.dockerignore Allows for development within docker. Aug 9, 2017
.gitignore Adds missing image. Nov 16, 2017
.gitlab-ci.yml Fixes lets encrypt domain env. Aug 14, 2017
.npmignore Adds prepare stage and hides environment.env files from npm. Aug 9, 2017
Dockerfile Adds logs for errors with SSR. Returns parseErrors to original format. Sep 9, 2017
Dockerfile-production Cleans up dependencies. Aug 10, 2017
LICENSE Updates license ownership information. Jun 11, 2017 Fixes docker production deployment. Nov 5, 2017
docker-compose.yml Allows for development within docker. Aug 9, 2017
gulpfile.js Removes mongoose dependency for client side validation. Adds yup vali… Sep 9, 2017
production.yml Uses staging server and adds monitor subdomain to visualizer in produ… Aug 14, 2017
qa.yml Adds docker swarm version of production. Aug 14, 2017
webpack.config.js Adds production gzip to webpack config. Nov 21, 2017


A Vue 2 and FeathersJS 2 fullstack app with authentication, email verification, and email support."


This project uses Feathers. An open source web framework for building modern real-time applications and Vue 2 with Server Side Rendering.

This project is not finished but if you are can be ready to use if you are content with what it offers.


  • SASS
  • Stylus
  • Pug
  • ES6, ES7, and ES8
  • Webpack
  • Vue Stash - For Redux Store
  • Bootstrap
  • Lodash
  • jQuery
  • FontAwesome
  • Validate client side data with mongoose schemas

Getting Started

Getting up and running is as easy as 1, 2, 3, 4.

There are multiple ways to start/develop the app.

Develop with docker

Don't install node_modules locally

  1. Create a environment-dev.env and environment.env file to hold your environment variables. These files are ignored by git. You'll want a DATABASE_URL and you gmail info for email verification

See How to set an app password

  1. Run npm start
npm start
  1. To see production build locally
npm run build-qa
npm run qa
  1. To switch back to development use
npm run build-dev
npm start

Switching contexts between production and development requires a full docker build with no cache.

Develop without docker

  1. Make sure you have NodeJS and npm installed.

  2. Install your dependencies

    cd path/to/Feathers-Vue; npm install
  3. Start your app locally

    npm run dev
  4. In production run

    npm run build
    npm run production

If you want emails to work using gmail add the following environment variables

export GMAIL_PASS=yourpassword or app-password

See How to set an app password


Simply run npm test and all your tests in the test/ directory to run server side unit test or run npm run integration to run client side side tests.


Feathers has a powerful command line interface. Here are a few things it can do:

$ npm install -g feathers-cli             # Install Feathers CLI

$ feathers generate service               # Generate a new Service
$ feathers generate hook                  # Generate a new Hook
$ feathers generate model                 # Generate a new Model
$ feathers help                           # Show all commands


For more information on all the things you can do with Feathers visit

Looking for mobile?

I'm working on a cordova starter with feathers 2, Vue 2, and Framework 7. Visit the cordova branch of this repo.

Cordova Branch

Gitlab Auto Deployment

  1. Create a digitalocean instance from using the one-click docker instance.
  2. ssh into the instance and run
  sudo apt-get update
  sudo apt-get upgrade
  sudo apt-get -y install python-pip
  sudo pip install docker-compose
  1. Edit sshd_config
  nano /etc/ssh/sshd_config
  1. At the bottom of the file change PasswordAuthentication
  PasswordAuthentication yes
  1. Run reload ssh
  2. Set the secret environment variables in gitlab
  1. Update docker-compose.autodeploy.yml web image to point to your hosted image.
  2. Update gitlab-ci.yml in the only sections to only run on the branches you want to deploy from.
  3. Push changes in git to gitlab.

Breaking Changes

  • Removed mongoose validation from client side and replaced with Yup.
  • Reconstructed server-side rendering to use updated instructions in vuejs.
  • Moved server-entry file into app.


Copyright (c) 2016

Licensed under the MIT license.

You can’t perform that action at this time.