1.0.0 • Published 8 years ago

feathers-chat-app-gleb v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
8 years ago

feathers-chat-app

Example real time chat app with Feathers

About

Example real time chat app with Vue.js frontend, based on tutorial Building Your First Feathers App

Read my blog post Immutable deploys with data and testing for differences from the original Feathers Chat app example.

This project uses Feathers. An open source web framework for building modern real-time applications.

Getting Started

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

  1. Make sure you have NodeJS and npm installed.
  2. Install your dependencies

    cd path/to/feathers-chat-app; npm install
  3. Start your app

    npm start

Testing

Simply run npm test and all your tests in the test/ directory will be run.

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.

Changelog

0.1.0

  • Initial release

License

Copyright (c) 2016

Licensed under the MIT license.

Deployment

To deploy to Zeit, need the database files to be in /tmp folder. Also, Zeit does not support socket.io, switched to using Feathers Rest client.

Dumping and setting database

Each service stores its data in plain file using NeDB. To move / clone / copy database between deployments, I am using my middleware feathers-nedb-dump.

To dump messages database to local file, edit file get-messages.sh and run it.

./get-messages.sh

To set messages database from local file, run set-messages.sh.

Or use the combined script copy-data.sh

Building single bundle

In order to just run the server we can build single bundle out of all files using node-browserify. Run npm run build and then get single file out.js. To run node out.js and it does not execute any require calls. See the build.js file.