Nest Jwt Hasura

screenshot of Nest Jwt Hasura

NestJS Hasura Starter with JWT Auth

Overview

The NestJS project that focuses on Hasura integration is a remarkable demonstration of modern web development capabilities. By utilizing GraphQL Schema Stitching, this project not only enhances the interaction between NestJS and Hasura but also exemplifies how JWT authentication can be streamlined for secure data access. With a well-structured approach to managing permissions across different user roles, this implementation is particularly attractive for developers looking to build scalable applications.

This project provides a solid foundation for working with a Postgres database using TypeORM while also showcasing various user authentication mechanisms. Whether you're a seasoned developer or just starting with NestJS and Hasura, this setup offers valuable insights and a robust learning experience.

Features

  • GraphQL Schema Stitching: Seamlessly integrates NestJS with Hasura, allowing for efficient data querying and manipulation.
  • Hasura JWT Authentication: Implements secure JSON Web Token (JWT) authentication for user verification and authorization.
  • Role-Based Permissions: Supports multiple user roles (Admin and Observer) with distinct permissions on various GraphQL fields, enhancing security.
  • TypeORM Integration: Fully utilizes TypeORM to design and seed a Postgres database, simplifying database interactions.
  • User Login Functionality: Facilitates login for different users, ensuring that role-specific access controls are in place.
  • Open Source Project: As an MIT-licensed project, it benefits from community support and contributions, promoting ongoing development and improvement.
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.