Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bikranshu/express-react-boilerplate

Express, MySQL, React/Redux, NodeJs Application Boilerplate
https://github.com/bikranshu/express-react-boilerplate

axios boilerplate es6 eslint expressjs material-ui mern mysql nodejs react react-router redux redux-form rest

Last synced: 7 days ago
JSON representation

Express, MySQL, React/Redux, NodeJs Application Boilerplate

Awesome Lists containing this project

README

        

Express, React/Redux, MySQL Boilerplate

## Get Started

### 1. Prerequisites

- [NodeJs](https://nodejs.org/en/)
- [NPM](https://npmjs.org/) - Node package manager
- [MySQL](https://www.mysql.com/downloads/) - Relational database management system (RDBMS)

### 2. Installation

On the command prompt run the following commands:

```
$ git clone https://github.com/Bikranshu/express-react-boilerplate.git
$ cd express-react-boilerplate
$ cp .env.example .env (edit it with your secret key and database information)
$ npm install
$ npm run migrate
```
Finally, start and build the application:

```
$ npm run build (For development)
$ npm run build:prod (For production)
```

List of NPM Commands:

```
$ npm run lint # linting
$ npm run clean # remove dist and node_modules folder and install dependencies
```

### 3. Usage

URL : http://localhost:3000/

Navigate to http://localhost:3000/swagger/ for the API documentation.

### 4. Useful Link
- Web framework for Node.js - [Express](http://expressjs.com/)
- JavaScript ORM for Node.js - [Bookshelf](http://bookshelfjs.org/)
- SQL Query Builder for Postgres, MSSQL, MySQL, MariaDB, SQLite3, and Oracle - [Knex](http://knexjs.org/)
- JSON Web Tokens(jwt) - [jsonwebtoken](https://www.npmjs.com/package/jsonwebtoken)
- Logging Library - [Winston](https://www.npmjs.com/package/winston)
- Object schema validation - [Joi](https://www.npmjs.com/package/joi)
- API documentation using [swagger-jsdoc](https://www.npmjs.com/package/swagger-jsdoc) and [swagger-ui](https://www.npmjs.com/package/swagger-ui)
- JavaScript library for building user interfaces - [React](https://facebook.github.io/react/)
- Predictable state container - [Redux](http://redux.js.org/)
- A React component library implementing Google's Material Design - [Material-UI](https://material-ui-1dab0.firebaseapp.com/)
- Redux Form - [Redux Form](http://redux-form.com/8.3.0/)
- Declarative routing for React - [React-Router](https://reacttraining.com/react-router/)
- Promise based HTTP client - [Axios](https://github.com/mzabriskie/axios)
- Environment configuration - [dotenv](https://www.npmjs.com/package/dotenv)
- Code linting tool - [ESLint](http://eslint.org/)
- Code formatter - [Prettier](https://www.npmjs.com/package/prettier)