Skip to content
New issue

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

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

Already on GitHub? Sign in 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
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants