feathersjs / docs Goto Github PK
View Code? Open in Web Editor NEW[MOVED] Legacy Feathers documentation
Home Page: https://crow.docs.feathersjs.com/
License: MIT License
[MOVED] Legacy Feathers documentation
Home Page: https://crow.docs.feathersjs.com/
License: MIT License
I know the Vue.js chat example was released yesterday. But when I was playing around with my own vue.js/feathers app.
I wanted to check the vue.js chat example and I noticed that in the example at vue.js https://github.com/feathersjs/feathers-chat/tree/master/public/vue-chat the chat-app is being initalized on line 53 in app.js
But on the guide at http://docs.feathersjs.com/frameworks/vuejs.html I can't see anywhere that you should initalize it.
I haven't really tested the guide myself, but when I was playing around with components on my own, I noticed that you need to initalize them with a template id.
I just started learning vue.js so I could be wrong with components needing to be initialized, so if I am wrong, sorry for taking your time.
I also didn't want to make a pull request incase @niallobrien was working on it and since he wrote it, he has a better idea where the initalization should be in the doc.
A documentation on feathers-rest status code conventions would be nice.
created
: 201
noContent
: 204
methodNotAllowed
: 405
etc...
This guide might cover:
Added in feathersjs-ecosystem/errors#32
It is currently somewhat hidden in the bundled hook section.
Move the bulk of the docs in the README files into this repo and simplify the README on each package.
https://github.com/feathersjs/feathers-configuration is used in the generated application but not documented yet.
This is dependent on feathersjs-ecosystem/authentication#83
This keeps coming up over and over again and we need to have a concrete example we can point to for how you deal with many to many relationships with Feathers. We do have some stuff in the FAQ but I think we need a real guide.
Some related discussions to go off of:
I found an inaccuracy in the documentation on the page: http://docs.feathersjs.com/authentication/local.html
It is written there:
You'll notice that it currently includes the password. You really don't want it exposed, so when you're ready to secure the service, you'll need an additional feathers-hook to remove the password property from the response.
But when I run the example, the server response does not contain the password.
It seems this documentation is outdated? Or am I doing something wrong?
I have no more additional hooks for user model.
import globalHooks from '../../../hooks';
import { hooks as auth } from 'feathers-authentication';
let before = {
all: [],
find: [],
get: [],
create: [auth.hashPassword()],
update: [],
patch: [],
remove: []
};
let after = {
all: [],
find: [],
get: [],
create: [],
update: [],
patch: [],
remove: []
};
export default { before, after };
And my app.js
looks like:
import { join } from 'path';
import { static as serveStatic } from 'feathers';
import favicon from 'serve-favicon';
import compress from 'compression';
import cors from 'cors';
import feathers from 'feathers';
import configuration from 'feathers-configuration';
import hooks from 'feathers-hooks';
import rest from 'feathers-rest';
import bodyParser from 'body-parser';
import socketio from 'feathers-socketio';
import authentication from 'feathers-authentication';
import middleware from './middleware';
import services from './services';
let app = feathers();
app.configure(configuration(join(__dirname, '..')))
.use(compress())
.options('*', cors())
.use(cors())
.use(favicon( join(app.get('public'), 'favicon.ico') ))
.use('/', serveStatic( app.get('public') ))
.use(bodyParser.json())
.use(bodyParser.urlencoded({ extended: true }))
.configure(hooks())
.configure(rest())
.configure(socketio())
.configure(authentication( app.get('auth') ))
.configure(services)
.configure(middleware)
export default app;
Is there a way to only expand the subchapter of the currently selected chapter? I really like how https://www.ottoproject.io/docs/index.html that @ekryski showed me does it. I found GitbookIO/gitbook#717 (comment) so those may be worth looking into.
Getting an email confirmation or text message upon sign up.
The disable hook can also take a callback which is not documented.
At the end of this file, there is mention of an example project to look at. The link is broken.
We should formally document how you do associations on the sequelize page.
A lot of it was discussed in this issue feathersjs-ecosystem/feathers-sequelize#12 and the corresponding PR feathersjs-ecosystem/feathers-sequelize#14
Now that we've started to add https://github.com/feathersjs/feathers-localstorage, we need to document it as well.
Related to feathersjs-ecosystem/feathers-localstorage#1
We probably ought to mention somewhere how to add it for those who don't use the generator.
What I mean by this is how you transition from your "monolithic" feathers app to a few smaller services. Again, using the context of that chat app will work great. We should be able to split it up into 3 services:
We can show how they all talk to each other and possibly how you can now deploy this on Heroku or something.
We may want to investigate how to automate this more easily, possibly through https://npmcdn.com/ instead of RawGit
Sort of like http://docs.feathersjs.com/guides/jquery.html
I'm creating this issue so I won't forget to do it
Thanks to @derek-watson it's pretty bad ass. We should add it to the docs under supported databases.
It is using ES6 strings and although it is mentioned at the beginning it was causing confusion for users of older browser. All we have to do is add Babel from the CDN like in the React guide.
Hi,
I'm writing an application that will do CRUD operations to a large number of records at a certain interval. I can't see in the documentation if there's any way to emit an event with multiple object changes at once instead of emitting the seperate events for each object1, object2, object3 on modification (I'm using redux so don't want to continually modify the state for each event as it will fire my heavy selectors often). Is this possible at all?
Hi!
I'm trying to get up and running with the Feathers. I'm therefore trying out the Feathers + Angular 2 guide from the http://docs.feathersjs.com/guides/angular2.html. I have completed the Angular2 walkthrough, and I have gone through all the Feathers steps. But when I'm trying run it with npm start, I get the following error:
services/feathers.service.ts(1,18): error TS2304: Cannot find name 'require'.
The line it is referring to is this:
const feathers = require('feathers/client');
Under the Typescript section, from the guide, it states, You'll also need a module loader, a commonly used one is Webpack. If you've gone through the Angular 2 quickstart you should be good to go.
The Angular 2 quickstart used SystemJS, I have tried to figure out how to configure it to make it work, but with no luck.
Sorry for not figuring this out, but I coming from C# background, and I'm struggling a bit with all the different syntax variations of ES5 vs ES6 vs Typescript and transpiling...
Thanks in advance!
It should be examples that show how to solve this or that problem.
I for example can show how to make the hook for parsing markdown, slug, virtual attributes and so on.
'use strict'
const hooks = require('feathers-hooks')
const marked = require('../../../../../utils/marked')
const getDomain = require('../../../../../utils/getDomain')
const slug = require('slug')
exports.transform = (hook) => {
let data = hook.data
data.slug = slug(data.title.toLowerCase())
data.contentHtml = marked(data.content)
data.sourceDomain = getDomain(data.sourceUrl)
data.keywords.map((keyword) => keyword.trim())
data.languages.map((language) => language.trim())
data.platforms.map((platform) => platform.trim())
data.projects.map((project) => project.trim())
}
'use strict'
const sanitize = require('./sanitize')
exports.before = {
create: [
sanitize.remove,
sanitize.transform
],
update: [
sanitize.remove,
sanitize.transform
],
patch: [
sanitize.remove,
sanitize.transform
]
}
This will be best to show within the context of the chat app by either showing channels or allowing people to do direct messaging.
Instructions: https://www.gitbook.com/blog/features/slack
Copying a detailed explanation from Slack:
@daffl
Basically with Facebook or other oAuth 2 providersbyou link to an endpoint (like/auth/facebook
). That one will prompt you to log in and if successful redirect back to the app (yoursuccessRedirect
endpoint).
For that single request feathers-authentication adds the token you got to a cookie.
feathers-authentication will for that one request throw the generated token into the cookie for thesucessRedirect
endpoint.app.authenticate
will then either grab the token from the cookie, authenticate you and store the token you get back in localStorage (or whichever storage you choose - in memory by default) or use an existing token from localStorage
Those are the two things client sideapp.authenticate()
will do in that order if you don’t pass any options to it.
I'll do a pull request soon (I hope :P)
For example, http://docs.feathersjs.com/clients/socket-io.html does not mention that it is for plain websocket usage so it is not clear that you should read this instead of using the Feathers client.
Here is the current outline for the documentation:
/cc @marshallswain @ekryski and anybody else for thoughts
When you finish generating an app, it shows the message "To start your feathers server run npm start
." Since the cli leaves you in a feathers$
prompt, that won't work. We could update the docs or update the generator to show a different message, but the guide doesn't currently reflect exactly what the user is going to experience. It's not that big of a deal, but it's a little detail that some might appreciate. Another option might be to have the cli automatically exit after it finishes.
Woot! We've created your "donejs-feathers-chat" app!
To start your feathers server run `npm start`.
feathers$ npm start
Invalid Command. Showing Help:
Commands:
help [command...] Provides help for a given command.
exit Exits application.
generate alias for generate app
generate app generate new application
generate hook generate new hook
generate middleware generate new middleware
generate model generate new model
generate service generate new service
generate plugin generate new plugin
feathers$
We need to setup the custom domain for this to show up at docs.feathers.com or something like that. Instructions for setting it up: https://help.gitbook.com/platform/domains.html
I'd like to get rid of the file numbering. When you insert or remove a chapter, all of the links break for the entire book because you have renumbered the chapters. I think it would be smarter to use a word-based naming convention, so the chapter on providers would have the following files.
We would use the SUMMARY.md (table of contents) file to know the ordering of the chapters.
This could include using https://github.com/expressjs/multer (or any other Express middleware for file upload) or https://github.com/feathersjs/feathers-blob, preferably the latter.
We are already showing to include core.js on the homepage. Need to double check that this is also mentioned in the client side Feathers documentation.
The document In the section about Services contains this info
Adding query parameters, e.g. localhost:3030/messages?read=false will return this:
But the demo service doesn't provide any find
method. So it will not return any result like:
[{
"id": 1,
"read": false,
"text": "Feathers is great!",
"createdAt": 1458490631911
}]
There was a nice long thread here: feathersjs-ecosystem/feathers-sequelize#12
It seems like GitBook is creating a lot of commits (~360 so far). They do support branches (and PRs?). Maybe @marshallswain knows if they also allow to squash your commits?
This is coming. Instead of writing a guide for each hosting platform. If you dockerize your app you typically can deploy pretty much anywhere these days.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.