- npm init -y (create default settings package.json)
- git init
- npm i --save-dev babel-cli
- npm i --save express
- create new command for run server in package.json => "scripts": { "server": "babel-node server/index.js",}
- configure babel -> in root folder of project (where package.json) create file .babelrc
- add to .babelrc => {"presets": ['es2015']}
- npm i --save-dev babel-preset-es2015
- after all this 'npm run server' must run server
- create index.html in root folder
- for restart server when update browser page => npm i --save-dev nodemon
- in package.json => "scripts": { "server": "nodemon --watch server --exec babel-node -- server/index.js",}
- create in root folder .gitignore and add => .DS_Store node_modules for do not write to git folder node_modules
- git status
- git add .
- git commit -m 'initial commit'
- remove from index.html hello world and add div with id="app"
- in root folder create client folder within index.js
- npm i --save react react-dom
- into index.html add <script src="bundle.js"></script> This need for webpack. Webpack bundle all client stuff to bundle.js
- import webpack stuff to server/index.js
- create webpack.config.dev.js and configure it
- npm i --save-dev webpack webpack-dev-middleware
- npm i --save-dev babel-loader
- add to .bablerc => "presets": ["es2015", "react"]
- npm i --save-dev babel-preset-react
- for hot update DOM add webpackHotNiddleware to server/index.js
- npm i --save-dev react-hot-loader webpack-hot-middleware
- npm i --save react-router-dom
- npm i --save lodash => this's for map lodash (not used)
- npm i --save axios
- npm i --save redux react-redux redux-thunk
- npm i --save body-parser => middleware for router node
- npm i --save validator => for validate into node side
- npm i --save classnames => for work with addition classNames for instance has-error
- npm i --save shortid
- npm i --save-dev style-loader css-loader file-loader url-loader jquery => for bootstrap local
- npm i --save knex => for db migration
- npm i -g knex => for globaly
- npm i --save mysql
- knex init
- knex migrate:make users
- knex migrate:latest
- npm i --save bookshelf => for save from request to db
- npm i --save bcrypt => for encrypt passwort
- npm i --save bluebird
- npm i --save jsonwebtoken
- npm i --save jwt-decode