Skip to content

Repository files navigation

IronhackExpress application generator.

Logo

Introduction

ironhack_generator is Ironhack's NPM package that allows students to quickly create express projects. The Ironhack-generator is strongly opinionated:

  • Follows industry best practices
  • Predefined directory structure:
    • public: Public Assets folder (css, js, images)
    • models: Mongoose Schemas and models
    • routes: Project routes
    • views: Project views and layouts
  • Views Template: Handlebars
  • CSS Engine: SCSS - Node-sass-middleware
  • ODM: Mongoose
  • Comes prepopulated with popular, useful Express middlewares
    • Logger: morgan
    • Favicon: serve-favicon
    • HTTP POST Params: body-parser
    • Cookies: cookie-parser
  • Error handling: 404 (Not found), 500 (Internal Server Error)
  • Creates project .gitignore - removes node_modules, etc
  • Environment variables loaded from .env configuration file
  • Server monitoring: nodemon

Installation

Install ironhack_generator as a global NPM package, so you can run it from anywhere in your computer:

$ npm install -g ironhack_generator

Quick Start

The quickest way to get started with express is to utilize the executable irongenerate(1) to generate an application as shown below:

Create the app:

$ irongenerate awesome-project/
$ cd awesome-project/

This will generate the following directory structure:

awesome-project/
├── app.js
├── package.json
├── models
├── routes
│ └── index.js
├── views
│ ├── error.hbs
│ ├── index.hbs
│ └── layout.hbs
├── public
│ ├── images
│ ├── javascripts
│ │ └── script.js
│ └── stylesheets
│ └── styles.sass
├── .env
├── .gitignoe
├── bin
├── www

Install all dependencies described in package.json:

$ npm install

Start your Express.js app at http://localhost:3000/:

$ npm start

Command Line Options

This generator can also be further configured with the following command line flags.

-h, --help output usage information
--version output the version number
-c, --css <engine> add stylesheet <engine> support (plain|less|sass|scss) (defaults to scss)
-f, --force force on non-empty directory
--git initialise a Git project

License

MIT

About

Express' application generator

Resources

Stars

5 stars

Watchers

12 watching

Forks

Releases

Packages

Used by

Contributors

Languages