create-lumibyte-node-backend
v1.0.1
Published
One-command Express + TypeScript API boilerplate generator
Maintainers
Readme
create-lumibyte-node-backend
A one-command boilerplate generator for Express + TypeScript APIs with Swagger/OpenAPI, structured logging, and a clean component-based architecture.
✨ Features
- Express 4 + TypeScript
- OpenAPI 3.0 spec with Swagger UI
- Automatic request validation via
express-openapi-validator - Winston structured logging
- Graceful shutdown handling
- Optional MySQL & Redis providers via
node-database-executor - Docker ready
- ESLint + Prettier + Jest
📦 Usage
With npx (no install)
npx create-lumibyte-node-backend my-apiWith npm init
npm init create-lumibyte-node-backend my-apiThen:
cd my-api
npm install
cp .env.template .env
npm run start:devVisit http://localhost:5001/api-docs for interactive Swagger documentation.
🏗 Template Structure
my-api/
├── src/
│ ├── components/
│ │ └── example/ # Example CRUD component
│ │ ├── example.controller.ts
│ │ ├── example.service.ts
│ │ ├── example.repository.ts
│ │ ├── example.routes.ts
│ │ └── example.types.ts
│ ├── config/ # Environment config + validation
│ ├── constants/ # App constants
│ ├── helpers/ # Logger, errors
│ ├── middleware/ # Error handler, async wrapper
│ ├── openapi/ # api.schema.yml
│ ├── providers/ # DB executor, MySQL & Redis connectors
│ ├── types/ # TypeScript declarations
│ ├── server.ts # Entry point
│ └── routes.ts # Route aggregator
├── .env.template
├── Dockerfile
├── jest.config.js
├── tsconfig.json
└── package.json📝 Adding a New Component
- Create a folder under
src/components/<feature>/ - Add
*.controller.ts,*.service.ts,*.repository.ts,*.routes.ts,*.types.ts - Register the router in
src/routes.ts - Document endpoints in
src/openapi/api.schema.yml
📜 License
MIT
