Nextjs Materia Mui Typescript Hook Form Scaffold Boilerplate Starter

screenshot of Nextjs Materia Mui Typescript Hook Form Scaffold Boilerplate Starter
nextjs
react

Nextjs Materia Mui Typescript Hook Form Scaffold Boilerplate Starter

The scaffold for NextJs 14.x (App Router), React Hook Form, Material UI(MUI 5.x),Typescript and ESLint with simple next.js 14 example of NextJs API, React-hook-form with zod, fetch remote api, 404/500 error pages, MUI SSR usage.

Overview

The NextJs 13.x + MUI 5.x + React Hook Form + TypeScript Starter and Boilerplate is a comprehensive template for starting a new project using Next.js, Material UI, React Hook Form, and TypeScript. It comes with a set of battery-packed features and configurations to streamline the development process.

Features

  • Next.js 13.x with App Router
  • React 18.x
  • TypeScript
  • Material UI - Ready to use Material Design components
  • React Hook Form - Performant, flexible, and extensible forms with easy-to-use validation
  • Day.js - A modern day JavaScript Date Library
  • Utils: getApiResponse - consoleLog
  • Jest - Configured for unit testing
  • Absolute Import and Path Alias - Import components using @/ prefix
  • ESLint - Find and fix problems in your code, also will auto sort your imports
  • Prettier - Format your code consistently
  • Husky & Lint Staged - Run scripts on your staged files before they are committed
  • Conventional Commit Lint - Make sure you & your teammates follow conventional commit
  • Release Please - Generate your changelog by activating the release-please workflow
  • Github Actions - Lint your code on PR
  • Automatic Branch and Issue Autolink - Branch will be automatically created on issue assign, and auto-linked on PR
  • Snippets - A collection of useful snippets
  • Open Graph Helper Function - Awesome open graph generated using og, fork it and deploy!
  • Site Map - Automatically generate sitemap.xml
  • Expansion Pack - Easily install common libraries, additional components, and configs

Installation

To get started with the template, follow these steps:

  1. Clone this template using one of the following methods:
    • Test locally: Using create-next-app
    • Test online: Deploy to Vercel by one click
    • Deploy with Vercel
  2. Install dependencies. It is recommended to use yarn for proper functioning of husky hooks.
  3. Run the development server using the command provided. Open http://localhost:3000 to view the result in your browser.
  4. Customize the default settings such as title, URLs, favicons, etc. by following the instructions marked with !STARTERCONF comments. Change the package name in package.json as well.
  5. Follow the Commit Message Convention (conventional commits) for committing changes.

Summary

The NextJs 13.x + MUI 5.x + React Hook Form + TypeScript Starter and Boilerplate is a powerful and highly customizable template for quickly setting up a project using Next.js, Material UI, React Hook Form, and TypeScript. It offers a wide range of features and configurations to enhance the development experience. With clear installation instructions and customization guides, it provides a solid foundation for building modern web applications. Whether you prefer Tailwind CSS or not, there's an option available to suit your needs.

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

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.

postcss
Postcss

PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and 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.