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.
Features
- SASS
- Stylus
- Jade
- ES6, ES7, and ES8
- Webpack
- Vue Stash - For Redux Store
- Bootstrap
- Lodash
- jQuery
- FontAwesome
- Validate client side data with mongoose schemas
Getting up and running is as easy as 1, 2, 3, 4.
There are multiple ways to start/develop the app.
Don't install node_modules locally
- Create a
environment-dev.env
andenvironment.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
- Run npm start
npm start
- To see production build locally
npm run build-qa
npm run qa
- 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.
-
Install your dependencies
cd path/to/Feathers-Vue; npm install
-
Start your app locally
mongod
npm run dev
-
In production run
npm run build npm 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
Simply run npm test
and all your tests in the test/
directory to run server side unit test or run npm test-client
to run client 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 docs.feathersjs.com.
I'm working on a cordova starter with feathers 2, Vue 2, and Framework 7. Visit the cordova
branch of this repo.
- Create a digitalocean instance from using the one-click docker instance.
- 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
- Edit
sshd_config
nano /etc/ssh/sshd_config
- At the bottom of the file change
PasswordAuthentication
PasswordAuthentication yes
- Run
reload ssh
- 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
- Update
docker-compose.autodeploy.yml
web image to point to your hosted image. - Update
gitlab-ci.yml
in theonly
sections to only run on the branches you want to deploy from. - Push changes in git to gitlab.
- Latest change contains a breaking change with gulp auto-importing. Before the first hyphen was converted to _, now named injected files use camelCase convention.
hasPermission
hook is changed tohasPermissions
and allows multiple permission names to be passed in.- Various other hooks have been updated.
Copyright (c) 2016
Licensed under the MIT license.