ES6 Nodejs Project Kickstart

c4r4x35

Srinivas Kandukuri

Posted on October 29, 2019

ES6 Nodejs Project Kickstart

Architecture

When we start new project, we all try to follow the best architecture. Architecture is the starting point to project, A bad project architecture create lot of unnecessary workload to developers and very difficult to introduce new feature to project.

here is the sample snippet of routefile

import express from 'express';
import HelperUtils from '../utils/helperUtils';

const Helperservice = new HelperUtils();
const router = express.Router();

/* This routes Serves application home page */
router.get('/', (req, res) => {
    res.send('Application Running');
});

/* sample end point */
router.get('/getData', async (req, res) => {
    const response = Helperservice.reverse();
    res.json({
        reverseString: response,
        status: 'success',
        statusCode: 200,
    });
});

export default router;
Enter fullscreen mode Exit fullscreen mode

Rule-1 : Standard folder/project architecture

Alt Text

Rule-2 : Best tools used

Rule-3 : Separate router file

Rule-4 : Separate service layer

Rule-5 : Babel integration

Rule-6 : Automated test cases

Rule-7 : Code coverage report

Rule-8 : Es-lint integration

Quick Start

  1. Make sure you have recent, stable version of nodejs in your system. Please check version before run
$  node -v
Enter fullscreen mode Exit fullscreen mode
  1. Clone or download this repository.

  2. Run this following command in your terminal from the project folder

$ npm install
Enter fullscreen mode Exit fullscreen mode

List of Commands/Tasks

Lint

Perform eslint in your project

$ npm run lint
Enter fullscreen mode Exit fullscreen mode

Lint Fix

Most of the errors reported by eslint fixed by using this command

$ npm run lint-fix
Enter fullscreen mode Exit fullscreen mode

Test

This will run all test cases

$ node test 
Enter fullscreen mode Exit fullscreen mode

Generate nyc report -- (optional command)

After testcases passed this will generate nyc report and uploads to codecov

$ node report-coverage 
Enter fullscreen mode Exit fullscreen mode

Build (Transpiled)

This will create '/dist' folder and converts the ES6 code into es5

$ node run build
Enter fullscreen mode Exit fullscreen mode

Start nodejs server

$ node start
Enter fullscreen mode Exit fullscreen mode

NPM Package Details

npm version

Build Status

Build Status

Code Cov

codecov

💖 💪 🙅 🚩
c4r4x35
Srinivas Kandukuri

Posted on October 29, 2019

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related