[TOC] # Create Express JS project [Home](../../README.md) [Reference](https://expressjs.com/en/starter/installing.html) Create a project skeleton Option1 : Using basic `npm` step ```sh $ mkdir myapp $ cd myapp $ npm init $ npm install express --save ``` Option2 : Using `npx` express application generator. ```sh $ mkdir myapp $ cd myappnpm $ npx express-generator $ npm install ``` Bootstrapped project folders ```sh C:. | app.js | package-lock.json | package.json | +---bin | www | +---public | +---images | +---javascripts | \---stylesheets | style.css | +---routes | index.js | users.js | \---views error.jade index.jade layout.jade ``` Launch `vscode` IDE ```sh $ code . ``` Validate the `./bin/www.js`. By default, server serve at port 3000 ```javascript var port = normalizePort(process.env.PORT || '3000'); app.set('port', port); ``` Add new route in `app.js` for *helloworld* routing ```javascript var helloworldRouter = require('./routes/helloworld'); //... app.use('/', indexRouter); app.use('/users', usersRouter); // new routing to helloworld app.use('/helloworld', helloworldRouter); ``` Create new routing for `./routes/helloworld.js` ```javascript var express = require('express'); var router = express.Router(); // GET method router.get('/', function (req, res) { res.send('Hello World!') }) // POST method router.post('/', function (req, res) { res.send('Got a POST request') }) // PUT method router.put('/user', function (req, res) { res.send('Got a PUT request at helloworld/user') }) module.exports = router; ``` Run the server ```sh $ npm start ... > expressjs@0.0.0 start C:\dev\playground\expressJS > node ./bin/www ``` Browse [localhost](http://localhost:3000). You should see the text in browser ```text Express Welcome to Express ``` Use *Postman* to execute 'POST', 'PUT' methods [Postman json](./postman_collection.json) # Create Login # Create