Nestjs Auth Graphql Starter

screenshot of Nestjs Auth Graphql Starter

NestJS starter template with GraphQL and PassportJS authentication.

Overview

The Nest framework TypeScript boilerplate is a robust starting point for developers looking to create web applications integrated with PassportJS authentication and GraphQL. Although the repository has been archived due to concerns about TypeORM and technical debt, it remains a powerful resource for those interested in setting up a solid groundwork for their projects. With documented processes for setup and configuration, this boilerplate can help streamline your development workflow.

With features that include code-first GraphQL and a versatile authentication system, this boilerplate offers an advanced structure to get your applications running efficiently. Also, it comes with custom configurations for Prettier and ESLint to maintain code quality throughout the project.

Features

  • Code-first GraphQL: Allows for the creation of GraphQL APIs directly using TypeScript classes, simplifying your development process.
  • TypeORM: Utilizes TypeORM for managing entities and migrations, facilitating seamless database interactions.
  • Refresh Token Auth Flow: Implements a secure refresh token authentication mechanism, enhancing user security.
  • PassportJS & JWT: Leverages PassportJS and JSON Web Tokens for secure authentication, ensuring that your application protects user data effectively.
  • Optimized Queries: Integrates @jenyus-org/nestjs-graphql-utils to optimize queries and resolve the N+1 problem, improving application performance.
  • Custom Prettier & ESLint Config: Incorporates tailored configurations for Prettier and ESLint, ensuring that your code remains clean and consistent.
  • Environment Variables Setup: Provides a straightforward configuration for environment variables, facilitating easy deployment and management of different environments.
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.