/web-app-2

Primary LanguageTypeScript

NextJs 14.x + MUI 5.x + React Hook Form + TypeScript Starter and Boilerplate

2024/2025: 🔋 NextJs 14.x + MUI 5.x + TypeScript Starter

The scaffold for NextJs 14.x (App Router), React Hook Form, Material UI(MUI 5.x),Typescript and ESLint, and TypeScript with Absolute Import, Seo, Link component, pre-configured with Husky.

With simple example of NextJs API, React-hook-form with zod, fetch remote api, 404/500 error pages, MUI SSR usage, Styled component, MUI AlertBar, MUI confirmation dialog, Loading button, Client-side component

🚘🚘🚘 Click here to see an online demo 🚘🚘🚘

If you prefer Tailwind css, check this: Tailwind-CSS-Version

Demo

🚘🚘🚘 Click here to see an online demo 🚘🚘🚘

Features

This repository is 🔋 battery packed with:

  • ⚡️ Next.js 14.x with App Router
  • ⚛️ React 18.x
  • ✨ TypeScript
  • 💨 Material UI — Ready to use Material Design components check here for the usage
  • 🎨 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.

Tailwind CSS Version

This starter is original from theodorusclarence/ts-nextjs-tailwind-starter, thank you theodorusclarence! If you prefer Tailwind css, check this: Tailwind-CSS-Version

Getting Started

1. Clone this template using one of a few ways

  1. Test locally: Using create-next-app

    npx create-next-app -e https://github.com/AlexStack/nextjs-materia-mui-typescript-hook-form-scaffold-boilerplate-starter new-project-name
  2. Test online: Deploy to Vercel by one click

    Deploy with Vercel

2. Install dependencies

It is encouraged to use yarn so the husky hooks can work properly.

yarn install

3. Run the development server

You can start the server using this command:

yarn dev

Open http://localhost:3000 with your browser to see the result. You can start editing the page by modifying src/pages/index.tsx.

4. Change defaults

There are some things you need to change including title, urls, favicons, etc.

Find all comments with !STARTERCONF, then follow the guide.

Don't forget to change the package name in package.json

5. Commit Message Convention

This starter is using conventional commits, it is mandatory to use it to commit changes.

Projects using this starter

Are you using this starter? Please add your page (and repo) to the end of the list via a Pull Request. 😃

Folder structure

image of folder structure

app/page.tsx code example

🚘🚘🚘 Click here to see an online demo of below code 🚘🚘🚘

app/page.tsx code example

License

  • MIT