Example Nx App

screenshot of Example Nx App
express
nextjs
react

Example monorepo app with @nest-shopify/nest-shopify using NestJS backend and NextJS frontend

Overview

The @nestjs-shopify application is an expertly crafted solution for developing a Shopify application with a robust backend powered by NestJS and a responsive frontend using NextJS. Utilizing the NX monorepo tools, it seamlessly integrates various components and manages dependencies effectively. This example application is designed to enhance the development experience, streamline authentication with Shopify, and provide efficient database management through Mikro-ORM.

One of the standout features of this application is its dual authentication capability, allowing developers to choose between online and offline authentication methods. This flexibility is particularly beneficial when integrating with Shopify, ensuring that developers can optimize the app's performance based on their specific use cases. Overall, the @nestjs-shopify application is a solid foundation for building modern e-commerce solutions.

Features

  • NX Monorepo Structure: Utilizes NX for efficient management of the application's organization and dependencies, making development more streamlined and maintainable.

  • NestJS API Backend: The backend is built with NestJS, providing a robust and scalable architecture that enhances API performance and structure.

  • NextJS Frontend: Offers a modern, server-rendered frontend experience with NextJS, ensuring fast load times and a dynamic user interface.

  • Flexible Authentication: Supports both Online and Offline authentication methods, allowing developers to choose the best approach for their app's needs.

  • Mikro-ORM for Database: Integrates Mikro-ORM for database management, allowing for efficient handling of data, including seamless interactions with the shops table for storing tokens.

  • Shopify Integration: The application is tailored for Shopify, featuring decorators like @ShopifyOnlineAuth() that simplify the authentication process and manage JWT tokens effortlessly.

  • User-Friendly OAuth Installation: Provides an intuitive OAuth installation procedure that is easy to navigate, further enhancing the developer experience.

  • Automatic Token Management: Leverages @shopify/app-bridge for transparent token fetching, simplifying the online authentication process for the frontend.

express
Express

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

nextjs
Next.js

Next.js is a React-based web framework that enables server-side rendering, static site generation, and other powerful features for building modern web applications.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

apollo
Apollo

Apollo is an open-source platform for building GraphQL APIs that connects with any data source. It provides a powerful set of tools and features for developers, including client and server-side caching, real-time data synchronization, and a seamless integration with popular frontend frameworks.

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.

webpack
Webpack

Webpack is a popular open-source module bundler for JavaScript applications that bundles and optimizes the code and its dependencies for production-ready deployment. It can also be used to transform other types of assets such as CSS, images, and fonts.