Features Β· Deployment Β· Getting started Β· Scripts overview Β· Contribution Β· Support
π Features
- π Next.js 15 (App router)
- βοΈ React 19
- π Typescript
- π¨ Tailwind CSS 4 - Class sorting, merging and linting
- π οΈ Shadcn/ui - Customizable UI components
- π΅ Stripe - Payment handler
- π Next-auth - Easy authentication library for Next.js (GitHub provider)
- π‘οΈ Drizzle - ORM for node.js
- π Zod - Schema validation library
- π§ͺ Jest & React Testing Library - Configured for unit testing
- π Playwright - Configured for e2e testing
- π Absolute Import & Path Alias - Import components using
@/prefix - π Prettier - Code formatter
- π§Ή Eslint - Code linting tool
- πΆ Husky & Lint Staged - Run scripts on your staged files before they are committed
- πΉ Icons - From Lucide
- π Dark mode - With next-themes
- π Commitlint - Lint your git commits
- π€ Github actions - Lint your code on PR
- βοΈ T3-env - Manage your environment variables
- πΊοΈ Sitemap & robots.txt
- π― Perfect Lighthouse score
- πΎ Neon database
- π I18n with next-intl
π Deployment
Easily deploy your Next.js app with Vercel by clicking the button below:
π― Getting started
1. Clone this template in one of three ways
-
Using this repository as template
-
Using
create-next-appnpx create-next-app -e https://github.com/Skolaczk/next-starter my-project-name -
Using
git clonegit clone https://github.com/Skolaczk/next-starter my-project-name
2. Install dependencies
npm install
3. Set up environment variables
Create .env file and set env variables from .env.example file.
4. Prepare husky
It is required if you want husky to work
npm run prepare
5. Run the dev server
You can start the server using this command:
npm run dev
and open http://localhost:3000/ to see this app.
π Project structure
.
βββ .github # GitHub folder
βββ .husky # Husky configuration
βββ prisma # Prisma schema and migrations
βββ public # Public assets folder
βββ src
βββ __tests__ # Unit and e2e tests
βββ actions # Server actions
βββ app # Next JS App (App Router)
βββ components # React components
βββ lib # Functions and utilities
βββ styles # Styles folder
βββ env.mjs # Env variables config file
βοΈ Scripts overview
The following scripts are available in the package.json:
dev: Run development serverbuild: Build the appstart: Run production serverpreview: Runbuildandstartcommands togetherlint: Lint the code using Eslintlint:fix: Fix linting errorsformat:check: Checks the code for proper formattingformat:write: Fix formatting issuestypecheck: Type-check TypeScript without emitting filestest: Run unit teststest:watch: Run unit tests in watch modee2e: Run end-to-end testse2e:ui: Run end-to-end tests with UIpostbuild: Generate sitemapprepare: Install Husky for managing Git hooks
π€ Contribution
To contribute, please follow these steps:
- Fork the repository.
- Create a new branch.
- Make your changes, and commit them.
- Push your changes to the forked repository.
- Create a pull request.
β€οΈ Support
If you liked the project, I will appreciate if you leave a star. ππ
Made by MichaΕ Skolak