Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Generator for scaffolding a feathers app #159

Closed
42 tasks done
ekryski opened this issue Nov 4, 2015 · 6 comments
Closed
42 tasks done

Generator for scaffolding a feathers app #159

ekryski opened this issue Nov 4, 2015 · 6 comments
Labels
Milestone

Comments

@ekryski
Copy link
Contributor

ekryski commented Nov 4, 2015

Since feathers is very modular it can be tough for a newcomer to get a handle on all the modules required for an app. We want to keep everything modular and flexible but still provide all the functionality you would expect in a real-time framework. We are inspired by, and run on top of Express after all!

So with that we should create a yeoman generator that scaffolds an application.

It should promp you for:

  • Project Name
  • Description
  • License (using Proprietary by default)
  • URL (left to the user, we may pre-poulate with your-app.feathersjs.com)
  • Author (left to the user)
  • Database
  • Whether you need websockets and if so which type
  • Whether it serves static content (should always as it's baked into Express)

It should then generate the app with the following dependencies if the user answered yes to above questions:

  • body-parser
  • CORs
  • serve-favicon
  • compress
  • winston
  • feathers
  • feathers-config
  • feathers-logger (deprecated in favour of using your own)
  • feathers-hooks
  • feathers-authentication
  • feathers-sync (not ready, it's more of an advanced guide thing)
  • feathers-[database adapter]
  • feathers-[transport plugin]

A suggested folder structure would look like:

root
    -> public/
        -> 404.html
        -> 500.html
        -> index.html
    -> client/
        -> js/
        -> css/
    -> server/
        -> config/
            -- development.json
            -- production.json
        -> services/
        -> routes/
            -> api/
            -> public/
        -> lib/
            -> hooks/
            -> middleware/
        -> views/
        -> test/
        -- index.js
    -> README.md
    -> package.json
    -> Dockerfile
    -> .gitignore
    -> .npmiginore
    -> .jshintrc

High Level Tasks Remaining

  • Update to feathers-2.0.0
  • Update to hooks-1.0.0
  • Inject data store setup based on database selected
  • Scaffold a user model based on database selected
  • Scaffold a user service based on database selected
  • Scaffold JWT authentication based on auth method(s) selected
    • Local (username/password) (in progress)
    • Twitter (not going to make it for this release. OAuth1 support won't make this release)
    • Facebook
    • LinkedIn
    • Google
    • Github
    • Bitbucket
  • Scaffold a basic logger
  • Generate basic error pages
  • Generate error handler middleware
  • Be able to generate a new service
  • Be able to generate a new before hook (using promises)
  • Be able to generate a new after hook (using promises)
  • Style error and index pages
  • Add favicon
  • Add code comments
@ekryski ekryski assigned ekryski and unassigned ekryski Nov 4, 2015
@ekryski ekryski added this to the 2.0.0 milestone Nov 4, 2015
@ekryski ekryski added the Feature label Nov 4, 2015
@ekryski
Copy link
Contributor Author

ekryski commented Nov 4, 2015

Work has started on this here: https://github.com/feathersjs/generator-feathers

@daffl
Copy link
Member

daffl commented Nov 8, 2015

@marshallswain
Copy link
Member

Do we want to take cookie-parser off this list, since we'll be using tokens, now?

@ekryski
Copy link
Contributor Author

ekryski commented Jan 12, 2016

Ya I think we can scratch out cookie parser.

@ekryski
Copy link
Contributor Author

ekryski commented Feb 22, 2016

Finally this is done! Closed by feathersjs-ecosystem/generator-feathers#49

@ekryski ekryski closed this as completed Feb 22, 2016
daffl pushed a commit that referenced this issue Aug 25, 2018
daffl added a commit that referenced this issue Aug 25, 2018
@lock
Copy link

lock bot commented Feb 7, 2019

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue with a link to this issue for related bugs.

@lock lock bot locked as resolved and limited conversation to collaborators Feb 7, 2019
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants