Features · Getting started · Scripts overview ·
- 🚀 Next.js 14 (App router)
- ⚛️ React 18
- 📘 Typescript
- 🎨 TailwindCSS - Class sorting, merging and linting
- 🛠️ Shadcn/ui - Customizable UI components
- 📋 React-hook-form - Manage your forms easy and efficient
- 🔍 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
- 🗺️ Sitemap & robots.txt - With next-sitemap
- 📝 Commitlint - Lint your git commits
- 🤖 Github actions - Lint your code on PR
- ⚙️ T3-env - Manage your environment variables
- 💯 Perfect Lighthouse score
- 🌐 I18n with Paraglide
git clone https://github.com/martinIvovIv/phoenix-org
npm install
Create .env
file and set env variables from .env.example
file.
It is required if you want husky to work
npm run prepare
You can start the server using this command:
npm run dev
and open http://localhost:3000/ to see this app.
.
├── .github # GitHub folder
├── .husky # Husky configuration
├── public # Public assets folder
└── src
├── __tests__ # Unit and e2e tests
├── actions # Server actions
├── app # Next JS App (App Router)
├── components # React components
├── hooks # Custom hooks
├── lib # Functions and utilities
├── styles # Styles folder
├── types # Type definitions
├── messages # Messages for i18n
├── paraglide # (generated) compiled i18n messages
└── env.mjs # Env variables config file
The following scripts are available in the package.json
:
dev
: Run development serverbuild
: Build the appstart
: Run production serverpreview
: Runbuild
andstart
commands 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
Made by Martin Ivanov