Yeoman generator for creating FEN stack applications, using Firebase, Express, and Node - lets you quickly set up a project following best practices.
generator-node-express-mongo originated from generator-angular-fullstack v2.1.1. Based on DaftMonk/generator-angular-fullstack and Liam-Williams/generator-node-express-mongo
Source code: https://github.com/saoron/generator-node-express-firebase
Install generator-node-express-firebase
:
npm install -g generator-node-express-firebase
Make a new directory, and cd
into it:
mkdir my-new-project && cd $_
Run yo node-express-firebase
, optionally passing an app name:
yo node-express-firebase [app-name]
Run grunt
for building, grunt serve
for preview.
- None
Available generators:
- Generates a new API endpoint.
yo node-express-firebase:endpoint message
[?] What will the url of your endpoint be? /api/messages
Produces:
server/api/message/index.js
server/api/message/message.spec.js
server/api/message/message.controller.js
Running grunt test
will run the server unit tests with karma and mocha.
Keeping your app secrets and other sensitive information in source control isn't a good idea. To have grunt launch your app with specific environment variables, add them to the git ignored environment config file: server/config/local.env.js
.
Overview
-── server
├── api - Our apps server api
├── config - Where we do the bulk of our apps configuration
│ └── local.env.js - Keep our environment variables out of source control
│ └── environment - Configuration specific to the node environment
An example server component in server/api
thing
├── index.js - Routes
├── thing.controller.js - Controller for our `thing` endpoint
└── thing.spec.js - Test
When submitting an issue, please follow the guidelines. Especially important is to make sure Yeoman is up-to-date, and providing the command or commands that cause the issue.
When submitting a bugfix, try to write a test that exposes the bug and fails before applying your fix. Submit the test alongside the fix.
When submitting a new feature, add tests that cover the feature.
See the travis.yml
for configuration required to run tests.