donejs-feathers - Full-stack realtime
A generator to quickly add FeathersJS to your DoneJS project.
Using the generator
To add this generator to your DoneJS application run
donejs add feathers
DoneJS and FeathersJS make for a killer full-stack solution for creating apps. This generator creates all of the model files and utilities needed to get both working together quickly. The current 2.x
version only sets up the model layer of the app. UI generation will move to separate generators sometime in the future.
This generator could potentially overwrite files in an existing application. It is meant to be used immediately after generating a new DoneJS application.
Here's a summary of the files that will be added or modified in a DoneJS project. To understand more about how these modules work together, check out the can-connect-feathers
documentation.
app.js
- asession
property is added to theAppViewModel
that reads from theSession
model'scurrent
property.models/algebra.js
- contains algebra forcan-connect
that enables support for the Feathers query syntax.models/behaviors.js
- contains the minimumcan-connect
behaviors that are needed to work with Feathers and realtime data. The Feathers behaviors are added in the individual Model files, likeuser.js
andsession.js
.models/feathers-client.js
- sets up the Feathers client with Socket.io and points it to the location of the Feathers server. It also configures all of the npm-installed Feathers plugins.models/fixtures.js
- includes mocks that simulate auth if you don't have a Feathers server running.models/session.js
- handles authentication. It connects theSession
model to thecan-connect-feathers/session/
behavior. It also automatically populates theuser
data using theUser
model.models/user.js
a basic User model. It uses thecan-connect-feathers/service/
behavior to connect to the Feathers server. The default user endpoint is/users
, but can be modified here.
The following packages will be added to your project from npm:
can-connect-feathers
feathers
feathers-hooks
feathers-socketio
feathers-authentication-client
steal-socket.io
socket.io-client
Developing
To make changes to this generator clone the repository and install the dependencies
git clone git@github.com:feathersjs/donejs-feathers.git
cd donejs-feathers
npm install
Then you can run the tests with
npm test