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.
Permalink
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
client-tests
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
test
.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
README.md Fixes docker production deployment. Nov 5, 2017
docker-compose.yml Allows for development within docker. Aug 9, 2017
dockerhub-production.yml
gulpfile.js Removes mongoose dependency for client side validation. Adds yup vali… Sep 9, 2017
package.json
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

README.md

Feathers-Vue

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

About

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.

Features

  • 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
DATABASE_URL=mongodb://db/feathersvuedevelopment
COMPLAINT_EMAIL=your_email@gmail.com
GMAIL=your_email@gmail.com
GMAIL_PASSWORD=your_pass_password

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

    mongod
    
    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=yourgmailaccount@gmail.com
export GMAIL_PASS=yourpassword or app-password

See How to set an app password

Testing

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.

Scaffolding

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

Help

For more information on all the things you can do with Feathers visit docs.feathersjs.com.

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
  DATABASE_URL=mongodb://db/feathersvue
  DEPLOYMENT_SERVER_IP=your_ip_address
  DEPLOYMENT_SERVER_PASS=your_user_password
  DEPLOYMENT_SERVER_USER=your_server_user
  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.

License

Copyright (c) 2016

Licensed under the MIT license.

You can’t perform that action at this time.