Our great sponsors
-
express-typescript-skeleton
🔰🦸 Template to start developing a REST API with Node.js (Express), TypeScript, Ts.ED, ESLint, Prettier, Husky, Prisma, etc.
-
Prisma
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
Ts.ED
:triangular_ruler: Ts.ED is a Node.js and TypeScript framework on top of Express to write your application with TypeScript (or ES6). It provides a lot of decorators and guideline to make your code more readable and less error-prone. ⭐️ Star to support our work!
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
supertest
🕷 Super-agent driven library for testing node.js HTTP servers using a fluent API. Maintained for @forwardemail, @ladjs, @spamscanner, @breejs, @cabinjs, and @lassjs.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Built using Prisma: Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite & MongoDB
Built using Express Framework: Fast, unopinionated, minimalist web framework for node.
Because of this, I decided to create a base template of a REST API created with NodeJS, using Ts.ED as the base framework and TypeScript as the programming language. This template tries to follow the principles of Domain Driven Design and implements a Clean Architecture/Hexagonal Architecture to try to rely as little as possible on the infrastructure and the framework while keeping in mind at all times the language and the needs of the business logic.
Fully configured logger with Winston and Morgan
Fully configured logger with Winston and Morgan
Containerised using Docker and Docker Compose
Unit, Integration and E2E tests using Jest and Supertest
Unit, Integration and E2E tests using Jest and Supertest
Linting with ESLint
Formatting with Prettier
Spell check
Git hooks with Husky and lint-staged
Git hooks with Husky and lint-staged
Related posts
- Choosing a backend API framework
- What are some of the best libraries you cannot work without?
- Step into the fascinating world of Websockets with Socket.io
- Examples of APIs that follows the best practices and are production ready on Github?
- NestJS Authentication with OAuth2.0: Configuration and Operations