Skip to content

Express Application Boilerplate. Application written in TypeScript with ESLint, Prettier, Husky, Jest support, PM2 Monitoring, and CI/CD out of the box.

License

Notifications You must be signed in to change notification settings

Adomne/express-ts-jest-boilerplate

Repository files navigation

Express-Typescript-Jest-Boilerplate

Skeleton for Express.js applications written in TypeScript with testing support and CI/CD out of the box.


Purpose

The main purpose of this Skeleton is to start an Express Application with typescript, testing support and default CI/CD configuration.


Common Features

  • Integrated eslint, prettier, jest, and husky.
  • CI/CD Configuration by default.
  • Simple and Standard scaffolding.
  • Based on Typescript Syntax.
  • Integrated morgan logger.
  • Test cases Support.

Core NPM Modules

  • express
  • express-actuator
  • helmet
  • dotenv
  • cors
  • mongoose
  • morgan

Set Application

  • Install using npx @adomne/express-ts-jest-boilerplate my-own-starter-project

OR

  • Clone the Application git clone https://github.com/adomne/express-ts-jest-boilerplate.git
  • Install the dependencies npm install

Project Structure

Name Description
.husky/ Git hooks configuration
.github/ Github actions configuration
.vscode/ Launch options for jest (using Jest ext from orta)
api/ Endpoint testing (using thunder client ext)
config/ Environment files
CI/ CI/CD configuration steps
dist/ Compiled source files will be placed here
src/ Source files
src/controllers Business logic for routes
src/db DB connectors
src/middleware/ Middlewares like Async Handler feature
src/models Model definitions
src/routers Route definitions
src/services 3rd party services
tests/ Test cases will be placed here

Default System Health Status API

  • ${host}/info - Displays application information
  • ${host}/metrics - Shows metrics information for the current application.
  • ${host}/health - Shows application health information.

Notes

1. Husky Configuration files (pre-commit and pre-push)

  • Check CONFIGURATION.md inside .husky folder.



Follow us on Twitter, Instagram, Linkedin, and Github.