Nestjs Auth Graphql Mikroorm Starter

screenshot of Nestjs Auth Graphql Mikroorm Starter

A NestJS boilerplate with authentication, GraphQL and MikroORM.

Overview

The Nest TypeScript boilerplate by Jenyus is a robust framework fork that offers a comprehensive setup for building modern web applications. With integrations for PassportJS authentication, GraphQL, and OpenAPI documentation, it streamlines the development process while maintaining high-quality standards. This boilerplate is particularly well-suited for developers looking to implement a scalable and flexible application architecture.

The usage of MikroORM for entities and migrations ensures that the data handling and database interactions are efficient and developer-friendly. With refresh token-based authentication support, it maintains secure user sessions, enhancing the overall security of the application. This boilerplate is perfect for developers who want to leverage Nest's capabilities while implementing authentication and documentation seamlessly.

Features

  • Code-First GraphQL: Simplifies GraphQL implementation by allowing users to define their schemas directly through TypeScript classes.
  • MikroORM Integration: Offers a powerful ORM for easy database migrations and entity management.
  • Refresh Token Authentication: Implements a secure refresh token flow to manage user authentication more effectively.
  • PassportJS and JWT: Utilizes industry-standard authentication strategies, providing a robust solution for securing your application.
  • Custom Prettier and ESLint Config: Ensures that your code adheres to style guidelines and maintains high code quality.
  • N+1 Problem Optimization: Uses @jenyus-org/nestjs-graphql-utils to tackle data retrieval inefficiencies in GraphQL queries.
  • Detailed Configuration Files: Provides essential configuration files such as .env and ormconfig.js to facilitate easy setup and deployment.
  • MIT License: Encourages free use and modification, making it accessible for developers to contribute and enhance the boilerplate.
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.

graphql
Graphql

A website that uses GraphQL as a query language to manage data fetching and state management. This includes features such as a strongly typed schema, client-side caching, and declarative data fetching to streamline data management and optimize website performance.

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.