https://github.com/manoj-m-01/express-boilerplate
Production-ready Express.js + TypeScript boilerplate with ESLint, Prettier, Docker, Docker Compose, Winston logging, Morgan, Helmet, Rate Limiting, and Yarn support.
https://github.com/manoj-m-01/express-boilerplate
boilerplate docker docker-compose eslint expreesjs express-boilerplate prettier prettier-eslint typescript
Last synced: 10 months ago
JSON representation
Production-ready Express.js + TypeScript boilerplate with ESLint, Prettier, Docker, Docker Compose, Winston logging, Morgan, Helmet, Rate Limiting, and Yarn support.
- Host: GitHub
- URL: https://github.com/manoj-m-01/express-boilerplate
- Owner: MANOJ-M-01
- Created: 2025-05-13T08:49:22.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-05T18:12:20.000Z (11 months ago)
- Last Synced: 2025-09-05T20:28:07.243Z (11 months ago)
- Topics: boilerplate, docker, docker-compose, eslint, expreesjs, express-boilerplate, prettier, prettier-eslint, typescript
- Language: TypeScript
- Homepage:
- Size: 53.7 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Express TypeScript Docker Boilerplate
A production-ready Express.js boilerplate using TypeScript, ESLint, Prettier, Docker, Docker Compose, Winston logging, Morgan HTTP logging, Helmet for security, express-rate-limit, and Yarn as the package manager.
## ๐ Features
- โ๏ธ Express 5 with TypeScript
- ๐งผ ESLint + Prettier for code linting and formatting
- ๐ณ Docker & Docker Compose for dev and production
- ๐ Helmet for security headers
- ๐ซ Rate limiting with `express-rate-limit`
- ๐ HTTP request logging with Morgan
- ๐ชต Advanced logging using Winston and Daily Rotate File
- ๐ `.env` support with `dotenv`
- ๐ฆ Yarn as the default package manager
- ๐ Clean and modular file structure
## Requirements
- Node v22.19.0 LTS
- Docker
## ๐ Getting Started
### 1. Clone the Repo
```bash
git clone https://github.com/MANOJ-M-01/Express-Boilerplate.git
cd Express-Boilerplate
```
### 2. Install Dependencies
```bash
yarn install
```
### 3. Run in Development
```bash
yarn dev
```
Or using Docker:
```bash
docker-compose -f docker-compose-dev.yaml up --build
```
---
## ๐ Available Scripts
| Command | Description |
| ---------------------- | ----------------------------------------- |
| `yarn dev` | Start development server with ts-node-dev |
| `yarn start` | Start server with ts-node |
| `yarn build` | Compile TypeScript to JavaScript |
| `yarn serve` | Run compiled code from `dist/` |
| `yarn typecheck` | Type check without emitting output |
| `yarn lint` | Run ESLint |
| `yarn prettier:check` | Check formatting with Prettier |
| `yarn prettier:format` | Auto-format code with Prettier |
---
## ๐ณ Docker Usage
### Development
```bash
docker-compose -f docker-compose-dev.yaml up --build
# Or
podman compose -f docker-compose-dev.yaml up
```
### Production
```bash
docker-compose -f docker-compose-prod.yaml up --build
# Or
podman compose -f docker-compose-prod.yaml up
```
---
## ๐งช Linting & Formatting
```bash
yarn lint
yarn prettier:check
yarn prettier:format
```
---
## ๐ License
MIT License
---
## ๐ Acknowledgements
- [Express](https://expressjs.com/)
- [TypeScript](https://www.typescriptlang.org/)
- [Winston](https://github.com/winstonjs/winston)
- [Docker](https://www.docker.com/)