Prisma Express Typescript Boilerplate

screenshot of Prisma Express Typescript Boilerplate
express
prisma

RESTful API server boilerplate suing Node JS, TypeScript, Express and Prisma.

Overview:

The RESTful API Node Server Boilerplate is a starter project that allows users to quickly build RESTful APIs using Node.js, TypeScript, Express, and Prisma. It is an adaptation of the original project, with adaptations made to use a PostgreSQL database with Prisma ORM and to convert files to TypeScript.

Features:

  • SQL database: PostgreSQL object data modeling using Prisma ORM
  • Authentication and authorization: using passport
  • Validation: request data validation using Joi
  • Logging: using winston and morgan
  • Testing: unit and integration tests using Jest
  • Error handling: centralized error handling mechanism
  • API documentation: with swagger-jsdoc and swagger-ui-express
  • Process management: advanced production process management using PM2
  • Dependency management: with Yarn
  • Environment variables: using dotenv and cross-env
  • Security: set security HTTP headers using helmet
  • Sanitizing: sanitize request data against XSS and query injection
  • CORS: Cross-Origin Resource-Sharing enabled using cors
  • Compression: gzip compression with compression
  • Docker support
  • Code coverage: using coveralls
  • Code quality: with Codacy
  • Git hooks: with Husky and lint-staged
  • Linting: with ESLint and Prettier
  • Editor config: consistent editor configuration using EditorConfig

Summary:

The RESTful API Node Server Boilerplate is a versatile and feature-rich starter project for building RESTful APIs using Node.js. It provides a range of features such as database integration, authentication and authorization, validation, logging, testing, and error handling. With comprehensive documentation and a well-structured codebase, it offers a solid foundation for developers to quickly start developing secure and scalable RESTful APIs.

express
Express

Express.js is a simple Node.js framework for single, multi-page, and hybrid web applications.

prisma
Prisma

Prisma is a server-side library that helps developers read and write data to the database in an intuitive, efficient and safe way.

fullstack
Fullstack

A fullstack boilerplate provides a starter application that includes both frontend and backend. It should include database, auth, payments, user roles and other backend services to build a fully featured saas or webapps.

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.