Next.js 14+, Mantine UI, TypeScript starter packed with useful development features.
Made by OneDev
Developer experience first, extremely flexible code structure and only keep what you need:
- β‘ Next.js with App Router support
- π₯ Type checking TypeScript
- π Integrate with Mantine UI
- β Strict Mode for TypeScript and React 18
- β»οΈ Type-safe environment variables with T3 Env
- β¨οΈ Form handling with React Hook Form
- π΄ Validation library with Zod
- β²οΈ Date config with Dayjs
- π Linter with ESLint (default Next.js, Next.js Core Web Vitals, Airbnb configuration)
- π Code Formatter with Prettier
- π¦ Husky for Git Hooks
- π« Lint-staged for running linters on Git staged files
- π Lint git commit with Commitlint
- π Write standard compliant commit messages with Commitizen
- π‘ Absolute Imports using
@
prefix - π VSCode configuration: Settings
- π€ SEO metadata, Open Graph tags
- πΊοΈ Sitemap.xml and robots.txt
- βοΈ Bundler Analyzer
- π― Maximize lighthouse score
Built-in feature from Next.js:
- β Minify HTML & CSS
- π¨ Live reload
- β Cache busting
- Node.js 20+ and npm
Run the following command on your local environment:
git clone --depth=1 https://github.com/MTeguhIrawan1996/singulartw.git my-project-name
cd my-project-name
yarn
Then, you can run the project locally in development mode with live reload by executing:
yarn dev
Open http://localhost:3000 with your favorite browser to see your project.
.
βββ README.md # README file
βββ .husky # Husky configuration
βββ .vscode # VSCode configuration
βββ public # Public assets folder
βββ src
β βββ app # Next JS App (App Router)
β βββ components # React components
β βββ services # Api Services folder
β βββ libs # 3rd party libraries configuration
β βββ styles # Styles folder
β βββ types # Type definitions
β βββ utils # Utilities folder
β βββ test-utils # Testing utilities config
βββ tsconfig.json # TypeScript configuration
The project enforces Conventional Commits specification. This means that all your commit messages must be formatted according to the specification. To help you write commit messages, the project uses Commitizen, an interactive CLI that guides you through the commit process. To use it, run the following command:
yarn git:commit